SMS-suivi du poids de trois ruches pour 30$

SMS-suivi du poids de trois ruches pour 30$

Non, ce n'est pas une offre commerciale, c'est le coût des composants du système que vous pourrez assembler après avoir lu l'article.

Un petit fond :

Il y a quelque temps, j'ai décidé d'attraper des abeilles, et elles sont apparues... pendant toute la saison, mais n'ont pas quitté la cabane d'hiver.
Et ce malgré le fait qu'il semblait tout faire correctement - alimentation complémentaire d'automne, isolation avant le froid.
La ruche était un système classique « Dadan » en bois avec 10 cadres constitués de planches de 40 mm.
Mais cet hiver-là, en raison des variations de température, même les apiculteurs expérimentés ont perdu beaucoup plus que d'habitude.

C'est ainsi qu'est née l'idée d'un système de surveillance de l'état de la ruche.
Après avoir publié plusieurs articles sur Habr et communiqué sur le forum des apiculteurs, j'ai décidé de passer du simple au complexe.
Le poids est le seul paramètre incontestable, mais en règle générale, les systèmes existants ne surveillent qu'une seule ruche « de référence ».
Si quelque chose ne va pas (par exemple, le départ d'un essaim, une maladie des abeilles), alors les indicateurs ne sont plus pertinents.

Par conséquent, il a été décidé de surveiller l'évolution du poids de trois ruches à la fois à l'aide d'un microcontrôleur et d'ajouter d'autres « goodies » plus tard.
Le résultat a été un système autonome avec une autonomie d'environ un mois avec une charge de la batterie 18650 et envoyant des statistiques une fois par jour.
J'ai essayé de simplifier le design autant que possible afin qu'il puisse être répété même sans schémas, uniquement à partir de photographies.

La logique de fonctionnement est la suivante : lors du premier démarrage/réinitialisation, les lectures des capteurs installés sous les ruches sont stockées dans l'EEPROM.
Puis, chaque jour, après le coucher du soleil, le système « se réveille », lit les relevés et envoie un SMS avec le changement de poids pour la journée et à partir du moment où il a été allumé.
De plus, la valeur de la tension de la batterie est transmise et lorsqu'elle descend à 3.5 V, un avertissement est émis concernant la nécessité de charger, car en dessous de 3.4 V, le module de communication ne s'allume pas et les lectures de poids « flottent ».

"Tu te souviens comment tout a commencé. Tout était pour la première fois et encore.»
SMS-suivi du poids de trois ruches pour 30$
Oui, il s'agit exactement de l'ensemble de matériel qui existait à l'origine, même si seuls les jauges de contrainte et les câbles ont survécu jusqu'à la version finale, mais commençons par le commencement.
En fait, vous n’avez pas besoin d’une bobine de câble, elle s’est avérée être au même prix qu’un câble droit de 30 m.

Si vous n'avez pas peur de démonter 3 LED SMD et une demi-centaine de points de soudure classiques (de sortie), alors allez-y !

Nous aurons donc besoin de l’ensemble d’équipements/matériels suivant :

  1. Arduino Pro Mini 3V
    Vous devez faire attention au microcircuit du convertisseur linéaire - il doit être exactement de 3.3 V - sur la puce marquant KB 33/LB 33/DE A10 - mes chinois se sont trompés, et tout le lot
    Les cartes du magasin se sont avérées avoir des régulateurs de 5 volts et des cristaux de 16 MHz.
  2. USB-Ttl sur une puce CH340 - vous pouvez même en utiliser une de 5 volts, mais ensuite lors du flashage du microcontrôleur, l'Arduino devra être déconnecté du module GSM pour ne pas brûler ce dernier.
    Les cartes basées sur la puce PL2303 ne fonctionnent pas sous Windows 10.
  3. Module de communication GSM Goouu Tech IOT GA-6-B ou AI-THINKER A-6 Mini.
    Pourquoi tu t'es arrêté là ? Neoway M590 - un concepteur qui nécessite des danses séparées avec des tambourins, GSM SIM800L - n'a pas aimé le niveau de logique non standard de 2.8 V, qui nécessite une coordination même avec un Arduino de trois volts.
    De plus, la solution d'AiThinker a une consommation d'énergie minimale (je n'ai pas vu de courant supérieur à 100 mA lors de l'envoi de SMS).
  4. Antenne GSM GPRS 3DBI (sur la photo ci-dessus - un foulard rectangulaire avec une "queue", à 9 heures)
  5. Forfait de démarrage d'un opérateur avec une bonne couverture sur le site de votre rucher.
    Oui, le forfait doit d'abord être activé sur un téléphone ordinaire, DÉSACTIVER LA DEMANDE DE PIN lors de l'entrée et recharger votre compte.
    Il existe désormais de nombreuses options avec des noms du style « Capteur », « IoT » - elles ont des frais d'abonnement légèrement inférieurs.
  6. fil dupont 20cm femelle-femelle - 3 pcs. (pour connecter Arduino à USB-TTL)
  7. 3 pièces. HX711 - CAN pour balances
  8. 6 cellules de pesée pour des poids jusqu'à 50 kg
  9. 15 mètres de câble téléphonique à 4 conducteurs - pour connecter les modules de poids à ARDUINO.
  10. Photorésistance GL5528 (c'est la plus importante, avec une résistance sombre de 1 MΩ et une résistance lumineuse de 10-20 kΩ) et deux résistances ordinaires de 20 kΩ
  11. Un morceau de ruban adhésif double face « épais » 18x18 mm - pour fixer l'Arduino au module de communication.
  12. Le support de batterie 18650 et, en fait, la batterie elle-même font environ 2600 mAh.
  13. Un peu de cire ou de paraffine (lampe aromatique bougie-comprimé) - pour la protection contre l'humidité HX711
  14. Un morceau de poutre en bois de 25x50x300mm pour la base des jauges de contrainte.
  15. Une douzaine de vis autotaraudeuses avec rondelle presse 4,2x19 mm pour la fixation des capteurs au socle.

La batterie peut être extraite du démontage des ordinateurs portables - elle est plusieurs fois moins chère qu'une neuve, et la capacité sera bien supérieure à celle de l'UltraFire chinois - j'en ai eu 1500 contre 450 (c'est 6800 pour le feu 😉

De plus, vous aurez besoin de mains stables, d'un fer à souder EPSN-25, de colophane et de soudure POS-60.

SMS-suivi du poids de trois ruches pour 30$

Il y a encore 5 ans, j'utilisais un fer à souder soviétique avec une pointe en cuivre (les stations de soudage n'ont pas fonctionné pour moi - je l'ai fait faire un essai routier et j'ai terminé le circuit avec un EPSN).
Mais après son échec et plusieurs contrefaçons monstrueuses chinoises, cette dernière fut appelée Sparte - chose aussi sévère que son nom, stoppée.
sur un produit équipé d'un thermostat.

Alors allons-y!

SMS-suivi du poids de trois ruches pour 30$

Pour commencer, on dessoude deux LED du module GSM (l'endroit où elles se trouvaient est entouré d'un ovale orange)
Nous insérons la carte SIM avec les plages de contact sur le circuit imprimé, le coin biseauté sur la photo est indiqué par une flèche.

SMS-suivi du poids de trois ruches pour 30$

Ensuite on effectue une procédure similaire avec la LED de la carte Arduino (ovale à gauche de la puce carrée),
Souder le peigne à quatre contacts (1),
On prend deux résistances de 20k, on tord les fils d'un côté, on soude la torsion dans le trou de la broche A5, les fils restants sont en RAW et GND de l'arduino (2),
Nous raccourcissons les pattes de la photorésistance à 10 mm et la soudons aux broches GND et D2 de la carte (3).

Il est maintenant temps de passer au ruban électrique bleu double face - nous le collons sur le support de la carte SIM du module de communication, et sur le dessus - l'Arduino - le bouton rouge (argent) nous fait face et se trouve au-dessus de la carte SIM.

Nous soudons l'alimentation : plus du condensateur du module de communication (4) à la broche Arduino RAW.
Le fait est que le module de communication lui-même nécessite 3.4-4.2 V pour son alimentation et que son contact PWR est connecté à un convertisseur abaisseur, donc pour fonctionner au Li-ion, la tension doit être fournie en contournant cette partie du circuit.

Dans Arduino, au contraire, nous fournissons de l'énergie via un convertisseur linéaire - à faible consommation de courant, la chute de tension de coupure est de 0.1 V.
Mais en fournissant une tension stabilisée aux modules HX711, on s'affranchit de la nécessité de les modifier à une tension inférieure (et en même temps de l'augmentation du bruit résultant de cette opération).

Ensuite, nous soudons les cavaliers (5) entre les broches PWR-A1, URX-D4 et UTX-D5, mettons à la terre GND-G (6) et enfin alimentons le support de batterie 18650 (7), connectons l'antenne (8).
Maintenant, nous prenons un convertisseur USB-TTL et connectons les contacts RXD-TXD et TXD-RXD, GND-GND avec des fils Dupont à ARDUINO (peigne 1) :

SMS-suivi du poids de trois ruches pour 30$

La photo ci-dessus montre la première version (sur trois) du système, utilisée pour le débogage.

Mais maintenant, nous allons faire une pause avec le fer à souder pendant un moment et passer à la partie logicielle.
Je vais décrire la séquence d'actions pour Windows :
Tout d’abord, vous devez télécharger et installer/décompresser le programme IDE Arduino - la version actuelle est la 1.8.9, mais j'utilise la 1.6.4

Pour plus de simplicité, nous décompressons l'archive dans le dossier C : arduino - « votre_numéro_version », à l'intérieur nous aurons les dossiers /dist, pilotes, exemples, matériel, java, lib, bibliothèques, référence, outils, ainsi que le fichier exécutable arduino. (entre autres).

Nous avons maintenant besoin d'une bibliothèque pour travailler avec l'ADC HX711 — bouton vert « cloner ou télécharger » — télécharger ZIP.
Le contenu (dossier HX711-master) est placé dans le répertoire bibliothèques C:arduino-« your_version_number »

Et bien sûr le chauffeur pour USB TTL depuis le même github - depuis l'archive décompressée, l'installation est simplement lancée avec le fichier SETUP.

Ok, lançons et configurons le programme C:arduino-"your_version_number"arduino

SMS-suivi du poids de trois ruches pour 30$

Allez dans l'élément "Outils" - sélectionnez la carte "Arduino Pro ou Pro Mini", processeur Atmega 328 3.3V 8 MHz, port - un numéro autre que le système COM1 (il apparaît après l'installation du pilote CH340 avec un adaptateur USB-TTL connecté)

Ok, copiez le croquis (programme) suivant et collez-le dans la fenêtre Arduino IDE

char phone_no[]="+123456789012"; // Your phone number that receive SMS with counry code 
#include <avr/sleep.h>  // ARDUINO sleep mode library
#include <SoftwareSerial.h> // Sofrware serial library
#include "HX711.h" // HX711 lib. https://github.com/bogde/HX711
#include <EEPROM.h> // EEPROM lib.
HX711 scale0(10, 14);
HX711 scale1(11, 14);
HX711 scale2(12, 14);
#define SENSORCNT 3
HX711 *scale[SENSORCNT];

SoftwareSerial mySerial(5, 4); // Set I/O-port TXD, RXD of GSM-shield  
byte pin2sleep=15; //  Set powerON/OFF pin

float delta00; // delta weight from start
float delta10;
float delta20;
float delta01; // delta weight from yesterday
float delta11;
float delta21;

float raw00; //raw data from sensors on first start
float raw10;
float raw20;
float raw01; //raw data from sensors on yesterday
float raw11;
float raw21;
float raw02; //actual raw data from sensors
float raw12;
float raw22;

word calibrate0=20880; //calibration factor for each sensor
word calibrate1=20880;
word calibrate2=20880;

word daynum=0; //numbers of day after start

int notsunset=0;

boolean setZero=false;

float readVcc() { // Read battery voltage function
  long result1000;
  float rvcc;  
  result1000 = analogRead(A5);
  rvcc=result1000;
  rvcc=6.6*rvcc/1023;
  return rvcc;
}

void setup() { // Setup part run once, at start

  pinMode(13, OUTPUT);  // Led pin init
  pinMode(2, INPUT_PULLUP); // Set pullup voltage
  Serial.begin(9600);
  mySerial.begin(115200); // Open Software Serial port to work with GSM-shield
  pinMode(pin2sleep, OUTPUT);// Itit ON/OFF pin for GSM
  digitalWrite(pin2sleep, LOW); // Turn ON modem
  delay(16000); // Wait for its boot 

scale[0] = &scale0; //init scale
scale[1] = &scale1;
scale[2] = &scale2;

scale0.set_scale();
scale1.set_scale();
scale2.set_scale();

delay(200);

setZero=digitalRead(2);

if (EEPROM.read(500)==EEPROM.read(501) || setZero) // first boot/reset with hiding photoresistor
//if (setZero)
{
raw00=scale0.get_units(16); //read data from scales
raw10=scale1.get_units(16);
raw20=scale2.get_units(16);
EEPROM.put(500, raw00); //write data to eeprom
EEPROM.put(504, raw10);
EEPROM.put(508, raw20);
for (int i = 0; i <= 24; i++) { //blinking LED13 on reset/first boot
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
  }
}
else {
EEPROM.get(500, raw00); // read data from eeprom after battery change
EEPROM.get(504, raw10);
EEPROM.get(508, raw20);
digitalWrite(13, HIGH); // turn on LED 13 on 12sec. 
    delay(12000);
digitalWrite(13, LOW);
}

delay(200); // Test SMS at initial boot

//
  mySerial.println("AT+CMGF=1");    //  Send SMS part
  delay(2000);
  mySerial.print("AT+CMGS="");
  mySerial.print(phone_no); 
  mySerial.write(0x22);
  mySerial.write(0x0D);  // hex equivalent of Carraige return    
  mySerial.write(0x0A);  // hex equivalent of newline
  delay(2000);
  mySerial.println("INITIAL BOOT OK");
  mySerial.print("V Bat= ");
  mySerial.println(readVcc());
 if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
  delay(500);
  mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
  delay(3000);

//  

raw02=raw00;
raw12=raw10;
raw22=raw20;

//scale0.power_down(); //power down all scales 
//scale1.power_down();
//scale2.power_down();

}

void loop() {

  attachInterrupt(0, NULL , RISING); // Interrupt on high lewel
  set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Set ARDUINO sleep mode
  digitalWrite(pin2sleep, HIGH); // Turn OFF GSM-shield
  delay(2200);
  digitalWrite(pin2sleep, LOW); // Turn OFF GSM-shield
  delay(2200);
  digitalWrite(pin2sleep, HIGH);
  digitalWrite(13, LOW);
  scale0.power_down(); //power down all scales 
  scale1.power_down();
  scale2.power_down();
  delay(90000);
  sleep_mode(); // Go to sleep
  detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt

  notsunset=0;
 for (int i=0; i <= 250; i++){
      if ( !digitalRead(2) ){ notsunset++; } //is a really sunset now? you shure?
      delay(360);
   }
  if ( notsunset==0 )
  { 
  digitalWrite(13, HIGH);
  digitalWrite(pin2sleep, LOW); // Turn-ON GSM-shield
  scale0.power_up(); //power up all scales 
  scale1.power_up();
  scale2.power_up();
  raw01=raw02;
  raw11=raw12;
  raw21=raw22;
  raw02=scale0.get_units(16); //read data from scales
  raw12=scale1.get_units(16);
  raw22=scale2.get_units(16);

  daynum++; 
  delta00=(raw02-raw00)/calibrate0; // calculate weight changes 
  delta01=(raw02-raw01)/calibrate0;
  delta10=(raw12-raw10)/calibrate1;
  delta11=(raw12-raw11)/calibrate1; 
  delta20=(raw22-raw20)/calibrate2;
  delta21=(raw22-raw21)/calibrate2;

  delay(16000);
  mySerial.println("AT+CMGF=1");    //  Send SMS part
  delay(2000);
  mySerial.print("AT+CMGS="");
  mySerial.print(phone_no); 
  mySerial.write(0x22);
  mySerial.write(0x0D);  // hex equivalent of Carraige return    
  mySerial.write(0x0A);  // hex equivalent of newline
  delay(2000);
  mySerial.print("Turn ");
  mySerial.println(daynum);
  mySerial.print("Hive1  ");
  mySerial.print(delta01);
  mySerial.print("   ");
  mySerial.println(delta00);
  mySerial.print("Hive2  ");
  mySerial.print(delta11);
  mySerial.print("   ");
  mySerial.println(delta10);
  mySerial.print("Hive3 ");
  mySerial.print(delta21);
  mySerial.print("   ");
  mySerial.println(delta20);

  mySerial.print("V Bat= ");
  mySerial.println(readVcc());
  if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
  delay(500);
  mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
  delay(3000);

  }

}

Dans la première ligne, entre guillemets, char phone_no[]=”+123456789012″; — au lieu de 123456789012, indiquez votre numéro de téléphone avec l'indicatif du pays vers lequel les SMS seront envoyés.

Maintenant, nous appuyons sur le bouton de vérification (au-dessus du numéro un dans la capture d'écran ci-dessus) - si en bas (sous le numéro trois sur l'écran) « La compilation est terminée » - alors nous pouvons flasher le microcontrôleur.

Ainsi, l'USB-TTL est connecté à l'ARDUINO et à l'ordinateur, placez la batterie chargée dans le support (généralement la LED du nouvel Arduino commence à clignoter une fois par seconde).

Passons maintenant au firmware - nous nous entraînons à appuyer sur le bouton rouge (argent) du microcontrôleur - cela devra être fait strictement à un certain moment !!!
Manger? Cliquez sur le bouton « Charger » (au-dessus des deux dans la capture d'écran) et regardez attentivement la ligne en bas de l'interface (sous les trois dans la capture d'écran).
Dès que l'inscription « compilation » devient « téléchargement », appuyez sur le bouton rouge (réinitialisation) - si tout va bien, les voyants de l'adaptateur USB-TTL clignoteront joyeusement, et en bas de l'interface l'inscription « Téléchargé »

Maintenant, en attendant que le SMS de test arrive sur le téléphone, je vais vous expliquer comment fonctionne le programme :

SMS-suivi du poids de trois ruches pour 30$

La photo montre la deuxième version du support de débogage.

Lors de la première mise sous tension, le système vérifie les octets numéro 500 et 501 de l'EEPROM ; s'ils sont égaux, les données d'étalonnage ne sont pas enregistrées et l'algorithme passe à la section de configuration.
La même chose se produit si, lorsqu'elle est allumée, la photorésistance est ombragée (par un capuchon de stylo) - le mode de réinitialisation est activé.

Les capteurs de pesée devraient déjà être installés sous les ruches, car nous fixons simplement le niveau zéro initial et mesurons ensuite le changement de poids (maintenant les zéros arriveront simplement, puisque nous n'avons encore rien connecté).
Au même moment, la LED intégrée de la broche 13 commencera à clignoter sur l'Arduino.
Si aucune réinitialisation n'a lieu, la LED s'allume pendant 12 secondes.
Après cela, un SMS de test est envoyé avec le message « INITIAL BOOT OK » et la tension de la batterie.
Le module de communication s'éteint et après 3 minutes, la carte Arduino met les cartes ADC HX711 en mode veille et s'endort d'elle-même.
Ce délai a été effectué afin de ne pas capter les interférences d'un module GSM en état de marche (après l'avoir éteint, il "agite" pendant un certain temps).

Ensuite, nous avons une interruption du capteur photo sur la deuxième broche (la fonction plus est activée).
Dans ce cas, après le déclenchement, l'état de la photorésistance est vérifié pendant 3 minutes supplémentaires - pour éliminer les déclenchements répétés/faux.
Ce qui est typique, c'est que sans aucun réglage, le système s'active 10 minutes après le coucher du soleil astronomique par temps nuageux et 20 minutes par temps clair.
Oui, pour que le système ne se réinitialise pas à chaque mise sous tension, au moins le premier module HX711 (broches DT-D10, SCK-A0) doit être connecté

Ensuite, les lectures des jauges de contrainte sont prises, la variation de poids par rapport à l'opération précédente est calculée (le premier chiffre dans la ligne après Hive) et dès la première activation, la tension de la batterie est vérifiée et cette information est envoyée sous forme de SMS :

SMS-suivi du poids de trois ruches pour 30$

Au fait, as-tu reçu le SMS ? Toutes nos félicitations! Nous sommes à mi-chemin! La batterie peut être retirée du support pour l'instant ; nous n'aurons plus besoin de l'ordinateur.

D'ailleurs, le centre de contrôle de mission s'est avéré si compact qu'il peut être placé dans un pot de mayonnaise ; dans mon cas, une boîte translucide mesurant 30x60x100 mm (à partir de cartes de visite) rentre parfaitement.

Oui, le système de veille consomme ~2.3 mA - 90 % à cause du module de communication - il ne s'éteint pas complètement, mais passe en mode veille.

SMS-suivi du poids de trois ruches pour 30$

Commençons par fabriquer des capteurs ; commençons par parler de la disposition des capteurs :

SMS-suivi du poids de trois ruches pour 30$

Ceci est un plan de la ruche - vue du dessus.

Classiquement, 4 capteurs sont installés dans les coins (1,2,3,4)

Nous mesurerons différemment. Ou plutôt, même dans la troisième voie. Parce que les gars de BroodMinder le font différemment :

SMS-suivi du poids de trois ruches pour 30$

Dans cette conception, les capteurs sont installés aux positions 1 et 2, les points 3,4 et XNUMX reposent sur la poutre.
Les capteurs ne représentent alors que la moitié du poids.
Oui, cette méthode est moins précise, mais il est quand même difficile d’imaginer que les abeilles construisent tous les cadres avec des « langues » de nids d’abeilles le long d’une paroi de la ruche.

Je propose donc de réduire généralement les capteurs au point 5 - il n'est alors pas nécessaire de protéger le système, et lors de l'utilisation de ruches lumineuses, il faut absolument se contenter d'un seul capteur.

SMS-suivi du poids de trois ruches pour 30$

En général, nous avons testé deux types de modules sur le HX711, deux types de capteurs et deux options pour les connecter - avec un pont de Wheatstone complet (2 capteurs) et avec un demi, lorsque la deuxième partie est complétée par des résistances 1k avec un tolérance de 0.1%.
Mais cette dernière méthode n'est pas souhaitable et n'est pas recommandée même par les fabricants de capteurs, je ne décrirai donc que la première.

Ainsi, pour une ruche nous installerons deux jauges de contrainte et un module HX711, le schéma de câblage est le suivant :

SMS-suivi du poids de trois ruches pour 30$

Il y a 5 mètres de câble téléphonique à 4 fils entre la carte ADC et l'Arduino - nous nous souvenons à quel point les abeilles n'aiment pas les appareils GSM dans la ruche.

En général, on laisse des « queues » de 8 cm sur les capteurs, on dénude la paire torsadée et on soude le tout comme sur la photo ci-dessus.

Avant de commencer la partie menuiserie, placez la cire/paraffine dans un récipient adapté pour la faire fondre au bain-marie.

Maintenant, nous prenons notre bois et le divisons en trois sections de 100 mm chacune.

Ensuite, nous marquons une rainure longitudinale de 25 mm de large et 7 à 8 mm de profondeur, retirons l'excédent à l'aide d'une scie à métaux et d'un ciseau - un profil en forme de U devrait émerger.

La cire est-elle réchauffée ? — nous y trempons nos cartes ADC — cela les protégera de l'humidité/du brouillard :

SMS-suivi du poids de trois ruches pour 30$

On pose le tout sur un socle en bois (il faut le traiter avec un antiseptique pour éviter la pourriture) :

SMS-suivi du poids de trois ruches pour 30$

Et enfin, on fixe les capteurs avec des vis autotaraudeuses :

SMS-suivi du poids de trois ruches pour 30$

Il y avait aussi une option avec du ruban isolant bleu, mais pour des raisons d'humanité je ne la présente pas 😉

Du côté Arduino, nous procédons comme suit :

Nous dénudons nos câbles téléphoniques, tordons les fils colorés ensemble et les étamons.

Après cela, soudez les contacts de la carte comme sur la photo :

SMS-suivi du poids de trois ruches pour 30$

Ça y est, maintenant pour le contrôle final, on place les capteurs dans des secteurs du cercle, un morceau de contreplaqué dessus, on réinitialise le contrôleur (on met une pile avec un capuchon de stylo sur la photodiode).

Au même moment, la LED de l'Arduino devrait clignoter et un SMS de test devrait arriver.

Ensuite, retirez le bouchon de la photocellule et allez remplir d'eau une bouteille en plastique de 1.5 litre.
On pose la bouteille sur le contreplaqué et si plusieurs minutes se sont déjà écoulées depuis sa mise sous tension, on remet le bouchon sur la photorésistance (simulant un coucher de soleil).

Au bout de trois minutes, la LED de l'Arduino s'allumera et vous devriez recevoir un SMS avec des valeurs de poids d'environ 1 kg dans toutes les positions.

Toutes nos félicitations! Le système a été assemblé avec succès !

Si nous forçons maintenant le système à fonctionner à nouveau, la première colonne de poids aura des zéros.

Oui, en conditions réelles, il est conseillé d'orienter la photorésistance verticalement vers le haut.

Je vais maintenant donner un petit manuel d'utilisation :

  1. Installez des jauges de contrainte sous les parois arrière des ruches (placez une poutre/planche d'environ 30 mm d'épaisseur sous celles avant)
  2. Ombrez la photorésistance et installez la batterie - la LED doit clignoter et vous devriez recevoir un SMS de test avec le texte « INITIAL BOOT OK »
  3. Placez l'unité centrale à la distance maximale des ruches et de manière à ce que les fils ne gênent pas lors du travail avec les abeilles.
    Chaque soir, après le coucher du soleil, vous recevrez un SMS avec vos changements de poids pour la journée et à partir du moment du lancement.
    Lorsque la tension de la batterie atteint 3.5 V, le SMS se terminera par la ligne « !!! CHARGER LA BATTERIE!!!"
    La durée de fonctionnement sur une batterie de 2600 XNUMX mAh est d’environ un mois.
    Si la batterie est remplacée, les changements quotidiens du poids des ruches ne sont pas mémorisés.

Quelle est la prochaine?

  1. Découvrez comment mettre tout cela dans un projet pour github
  2. Démarrer 3 familles d'abeilles dans les ruches du système Palivoda (ou à cornes chez le peuple)
  3. Ajoutez des « petits pains » - mesurant l'humidité, la température et, surtout, analysant le bourdonnement des abeilles.

C'est tout pour l'instant, sincèrement vôtre, apiculteur électrique Andrey

Source: habr.com

Ajouter un commentaire