SMS-Überwachung des Gewichts von drei Bienenstöcken für 30 US-Dollar

Mein Logo


Nein, dies ist kein kommerzielles Angebot. Dies sind die Kosten für Systemkomponenten, die Sie nach dem Lesen des Artikels sammeln können.


Ein kleiner Hintergrund:


Vor einiger Zeit habe ich beschlossen, Bienen zu holen, und sie erschienen ... für die ganze Saison, kamen aber nicht aus dem Winter.
Und das trotz der Tatsache, dass alles richtig zu laufen schien - Herbstköder, der sich vor der Kälte erwärmt.
Der Bienenstock war ein klassisches Dadan-Holzsystem mit 10 Rahmen von einem 40-mm-Brett.
Aber in diesem Winter verloren selbst erfahrene Imker aufgrund der Temperaturschwankungen viel mehr als sonst.


So entstand die Idee eines Systems zur Überwachung des Bienenstockzustands.
Nach der Veröffentlichung mehrerer Artikel über Habr-e und der Kommunikation im Imkerforum entschied ich mich, von einfach zu komplex zu wechseln.
Das Gewicht ist der einzige unbestreitbare Parameter, aber in der Regel überwachen vorhandene Systeme nur einen "Referenz" -Stamm.
Wenn bei ihm etwas schief geht (z. B. ein Schwarmflug, eine Bienenkrankheit), sind die Indikatoren irrelevant.


Daher wurde beschlossen, die Gewichtsänderung von drei Bienenstöcken gleichzeitig mit einem Mikrocontroller zu überwachen und die anderen "Brötchen" danach hinzuzufügen.
Das Ergebnis ist ein autonomes System mit einer Laufzeit von etwa einem Monat bei einmaliger Aufladung des 18650-Akkus und einmal täglichem Senden von Statistiken.
Ich habe versucht, das Design so weit wie möglich zu vereinfachen, damit es laut einem Foto auch ohne Schema wiederholt werden kann.


Die Arbeitslogik lautet wie folgt: Beim ersten Start / Zurücksetzen werden die Messwerte der unter den Bienenstöcken installierten Sensoren im EEPROM gespeichert.
Außerdem "wacht" das System jeden Tag nach Sonnenuntergang auf, liest das Zeugnis und sendet SMS mit einer Gewichtsänderung pro Tag und ab dem Moment des Einschaltens.
Zusätzlich wird der Spannungswert der Batterie übertragen, und wenn er auf 3,5 V abfällt, wird eine Warnung über die Notwendigkeit des Ladens ausgegeben, da sich das Kommunikationsmodul unter 3,4 V nicht einschaltet und die Gewichtswerte bereits "wegschweben".


"Erinnerst du dich, wie alles begann? Alles war das erste Mal und wieder."
Wie es anfängt
Ja, es war ursprünglich so ein Satz „Eisen“, obwohl nur Wägezellen und Drähte bis zur endgültigen Version überlebten, aber das Wichtigste zuerst.
Tatsächlich wird der Kabelschacht nicht benötigt, er hat sich zum gleichen Preis wie 30 m flach herausgestellt.


Wenn Sie keine Angst haben, 3 smd-LEDs und ein halbes Hundert Punkte normales (Ausgangs-) Löten zu zerlegen, dann gehen Sie!


Wir benötigen also die folgenden Geräte / Materialien:


  1. Arduino Pro Mini 3V
    Sie sollten auf den Mikrochip des Linearwandlers achten - er sollte genau 3,3 V betragen - auf dem Markierungs-Chip KB 33 / LB 33 / DE A10 - die Chinesen haben etwas mit mir und der ganzen Charge verwechselt
    Es stellte sich heraus, dass die Leiterplatten im Laden mit 5-Volt-Reglern und 16-MHz-Quarz ausgestattet waren.
  2. USB-Ttl auf einem CH340-Chip - Sie können sogar 5 Volt erzeugen, aber während der Firmware des Mikrocontrollers muss Arduino vom GSM-Modul getrennt werden, um letzteres nicht zu verbrennen.
    Karten auf dem PL2303-Chip funktionieren unter Windows 10 nicht.
  3. GSM-Kommunikationsmodul Goouu Tech IOT GA-6-B oder AI-THINKER A-6 Mini.
    Warum hast du damit aufgehört? Neoway M590 - ein Designer, der separate Tänze mit Tamburinen benötigt, GSM SIM800L - mochte die nicht standardmäßige 2,8-V-Logik nicht und erforderte sogar eine Koordination mit einem Drei-Volt-Arduino.
    Darüber hinaus hat die Lösung von AiThinker einen minimalen Energieverbrauch (beim Senden von SMS habe ich keinen Strom über 100 mA gesehen).
  4. GSM GPRS 3DBI-Antenne (auf dem Foto oben - ein rechteckiger Schal mit einem „Schwanz“ für 9 Stunden)
  5. Starterpaket für einen Bediener mit guter Abdeckung am Standort Ihres Bienenhauses.
    Ja, das Paket muss zuerst in einem normalen Telefon aktiviert werden. Deaktivieren Sie die PIN-Anfrage am Eingang und füllen Sie das Konto auf.
    Jetzt gibt es viele Optionen mit Namen im Stil von "Sensor", "IoT" - sie haben etwas niedrigere monatliche Gebühren.
  6. Dupont Draht 20cm Mutter Mutter - 3 Stk. (zum Anschließen von Arduino an USB-TTL)
  7. 3St HX711 - ADC für Waagen
  8. 6 Wägezellen mit einem Gewicht von bis zu 50 kg
  9. 15 Meter 4-adriges Telefonkabel - zum Anschluss von Gewichtsmodulen mit ARDUINO.
  10. GL5528 Fotowiderstand (dies ist wichtig, mit einem Dunkelwiderstand von 1 MOhm und einem Lichtwiderstand von 10-20 kOhm) und zwei herkömmlichen 20k-Widerständen
  11. Ein Stück doppelseitiges 18x18mm dickes Klebeband - zum Anbringen des Arduino am Kommunikationsmodul.
  12. Der 18650 Batteriehalter und in der Tat die Batterie selbst ~ 2600mAh.
  13. Ein wenig Wachs oder Paraffin (Aromalampentablettenkerze) - zum Feuchtigkeitsschutz HX711
  14. Ein Stück Holzbalken 25x50x300mm für die Basis von Wägezellen.
  15. Ein Dutzend selbstschneidende Schrauben mit einer 4,2 x 19 mm Pressscheibe zur Montage von Sensoren an der Basis.

Der Akku kann aus zerlegbaren Laptops entnommen werden - vielfach billiger als ein neuer, und die Kapazität wird viel höher sein als die des chinesischen UltraFire - ich habe 1.500 gegenüber 450 (dies ist von der Firewall 6800 ;-)


Darüber hinaus sind krumme Hände, ein EPSN-25-Lötkolben, Kolophonium und POS-60-Lot erforderlich.


Lötkolben


Vor 5 Jahren habe ich einen sowjetischen Lötkolben mit Kupferstich verwendet (ich habe keine Lötstationen bekommen - ich habe ihn für eine Probefahrt genommen und die EPSN-Schaltung beendet).
Aber nach seinem Scheitern und mehreren chinesischen Monstern unter (d) Weihnachtsbäumen wurde letzterer Sparta genannt - eine Sache, die so streng war, wie der Name aufhörte
auf einem Produkt mit einem Temperaturregler.


Also lass uns gehen!


GSM A6


Zu Beginn werden zwei LEDs vom GSM-Modul gelötet (die Stelle, an der sie in einem orangefarbenen Oval eingekreist waren).
Wir legen die SIM-Karte mit den Pads in die Leiterplatte ein, die abgeschrägte Ecke auf dem Foto ist durch den Pfeil gekennzeichnet.


Arduino Pro Mini 3v


Dann führen wir einen ähnlichen Vorgang mit der LED auf der Arduino-Platine durch (das Oval links vom quadratischen Chip).
Löten Sie den Kamm in vier Kontakte (1),
Wir nehmen zwei 20k-Widerstände, verdrehen die Leitungen auf einer Seite, löten die Verdrehung in das Kontaktloch A5, die verbleibenden Leitungen im RAW- und GND-Arduinki (2).
Wir kürzen den Fotowiderstand auf 10 mm und löten ihn gemäß den Schlussfolgerungen der GND- und D2-Platinen (3).


Jetzt ist es Zeit blaues Klebeband doppelseitiges Klebeband - kleben Sie es auf den SIM-Kartenhalter des Kommunikationsmoduls, und oben - Arduino - zeigt der rote (silberne) Knopf zu uns und befindet sich über der SIM-Karte.


Löten Sie die Leistung: plus vom Kondensator des Kommunikationsmoduls (4) zum RAW-Arduino-Pin.
Tatsache ist, dass das Kommunikationsmodul selbst 3,4-4,2 V für seine Stromversorgung benötigt und sein PWR-Kontakt mit einem Abwärts-Abwärtswandler verbunden ist, so dass für den Betrieb mit Li-Ionen-Spannung unter Umgehung dieses Teils der Schaltung angelegt werden muss.


Im Arduino hingegen starten wir die Stromversorgung über einen Linearwandler - bei niedrigen Strömen beträgt der Spannungsabfall 0,1 V.
Durch Anlegen einer stabilisierten Spannung an die HX711-Module entfällt jedoch die Notwendigkeit, sie unter einer niedrigeren Spannung zu verfeinern (und gleichzeitig das Rauschen infolge dieses Vorgangs zu erhöhen).


Dann löten wir die Jumper (5) zwischen die Kontakte PWR-A1, URX-D4 und UTX-D5, die GND-G-Masse (6) und schließlich die Stromversorgung aus dem 18650-Batteriehalter (7), um die Antenne (8) anzuschließen.
Jetzt nehmen wir den USB-TTL-Konverter und verbinden die Kontakte RXD-TXD und TXD-RXD, GND-GND mit den Dupont-Drähten mit ARDUINO (Kamm 1):


Erste Version


Auf dem Foto oben - die erste Version (von drei) des Systems, die zum Debuggen verwendet wurde.


Und jetzt schweifen wir für einige Zeit vom Lötkolben ab und gehen zum Software-Teil über.
Ich werde die Reihenfolge der Aktionen für Windows beschreiben:
Zunächst müssen Sie das Arduino IDE- Programm herunterladen und installieren / entpacken - die aktuelle Version ist 1.8.9, aber ich verwende 1.6.4


Der Einfachheit halber entpacken wir das Archiv in den Ordner C: \ arduino- "your_version_number". Darin befinden sich / dist, Treiber, Beispiele, Hardware, Java, lib, Bibliotheken, Referenz, Tools-Ordner sowie die ausführbare Datei von arduino (unter anderem).


Jetzt brauchen wir eine Bibliothek für die Arbeit mit dem HX711 ADC - die grüne Schaltfläche "Klonen oder Herunterladen" - ZIP herunterladen.
Der Inhalt (Ordner HX711-master) befindet sich im Verzeichnis C: \ arduino- "Ihre_Versionsnummer" \ Bibliotheken


Und natürlich stammt der Treiber für USB-TTL vom selben Github - aus dem entpackten Archiv wird die SETUP-Datei des Installationsprogramms einfach gestartet.


Ok, führen Sie das Programm C: \ arduino- "your_version_number" \ arduino aus und konfigurieren Sie es


Programmschnittstelle


Wir gehen zum Punkt "Extras" - wählen Sie die Karte "Arduino Pro oder Pro Mini", den Atmega 328 3,3 V 8 MHz Prozessor, der Port ist die andere Nummer als das System COM1 (erscheint nach der Installation des CH340-Treibers mit angeschlossenem USB-TTL-Adapter).


Ok, kopieren Sie die folgende Skizze (Programm) und fügen Sie sie in das Arduino IDE-Fenster ein


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); } } 

In der ersten Zeile in Anführungszeichen char phone_no [] = "+ 123456789012"; - Anstelle von 123456789012 geben wir unsere Telefonnummer mit der Landesvorwahl an, an die die SMS gesendet wird.


Klicken Sie nun auf die Check-Schaltfläche (über der Nummer eins im obigen Screenshot). Wenn die Kompilierung unten ist (unter dem Triple im Screenshot), können wir den Mikrocontroller flashen.


Also, USB-TTL ist mit dem ARDUINO und dem Computer verbunden, wir legen den geladenen Akku in die Halterung (normalerweise beginnt bei einem neuen Arduino die LED einmal pro Sekunde zu blinken).


Jetzt die Firmware - wir trainieren, um den roten (silbernen) Knopf des Mikrocontrollers zu drücken - dies muss unbedingt zu einem bestimmten Zeitpunkt erfolgen !!!
Ist da Klicken Sie auf die Schaltfläche "Hochladen" (über den beiden im Screenshot) und sehen Sie sich die Zeile am unteren Rand der Benutzeroberfläche (unter den drei Bildschirmen) genau an.
Sobald die Beschriftung "Zusammenstellung" durch "Herunterladen" ersetzt wird - drücken Sie die rote Taste (Zurücksetzen) - wenn alles in Ordnung ist - blinkt der USB-TTL-Adapter freudig und die Beschriftung "Heruntergeladen" am unteren Rand der Benutzeroberfläche


Während wir auf das Eintreffen der Test-SMS am Telefon warten, erkläre ich Ihnen, wie das Programm funktioniert:


Die zweite Version des Debug-Stands


Auf dem Foto - die zweite Version des Debug-Stands.


Beim ersten Einschalten des Systems werden die Bytes 500 und 501 des EEPROM überprüft. Wenn sie gleich sind, wurden die Kalibrierungsdaten nicht aufgezeichnet, und der Algorithmus fährt mit dem Setup-Abschnitt fort.
Das gleiche passiert, wenn der Fotowiderstand beim Einschalten schattiert ist (mit einer Kappe von einem Stift) - der Parameter-Reset-Modus ist aktiviert.


Dehnungsmessstreifen sollten bereits unter den Bienenstöcken installiert sein, da wir einfach den Anfangspegel von Null festlegen und dann die Gewichtsänderung messen (jetzt kommen Nullen, da wir noch nichts angeschlossen haben).
Auf Arduino blinkt die eingebaute LED von Pin 13.
Wenn der Reset nicht erfolgt, leuchtet die LED 12 Sekunden lang auf.
Danach wird eine Test-SMS mit der Meldung "INITIAL BOOT OK" und der Batteriespannung gesendet.
Das Kommunikationsmodul wird ausgeschaltet und nach 3 Minuten versetzt die Arduino-Karte die HX711-ADC-Karten in den Ruhemodus und schläft von selbst ein.
Eine solche Verzögerung wurde vorgenommen, um Störungen durch ein funktionierendes GSM-Modul nicht zu erfassen (nach dem Ausschalten werden einige Zeit lang „Schriftarten“ geschrieben).


Außerdem haben wir einen Interrupt am Fotosensor, der am zweiten Stift arbeitet (plus das Anheben wird durch die Pullup-Funktion aktiviert).
In diesem Fall wird nach weiteren 3 Minuten Auslösen der Zustand des Fotowiderstands überprüft, um wiederholte / falsch positive Ergebnisse auszuschließen.
Was charakteristisch ist, ohne Anpassung arbeitet das System 10 Minuten nach dem astronomischen Sonnenuntergang bei bewölktem Wetter und nach 20 Minuten bei klarem Wetter.
Ja, damit jedes Mal, wenn das System nicht zurückgesetzt wird, mindestens das erste HX711-Modul angeschlossen werden muss (Pins DT-D10, SCK-A0)


Dann werden die Wägezellenablesungen vorgenommen, die Gewichtsänderung gegenüber dem vorherigen Vorgang (die erste Zahl in der Zeile nach Hive) berechnet und vom ersten Start an wird die Batteriespannung überprüft und diese Informationen werden in Form von SMS gesendet:


Probensystem


Hast du übrigens SMS erhalten? Glückwunsch! Wir sind auf halbem Weg! Während der Akku aus der Halterung entfernt werden kann, benötigen wir keinen weiteren Computer.


Das Flugkontrollzentrum erwies sich übrigens als so kompakt, dass es in ein Mayonnaise-Glas passt, in meinem Fall in eine durchscheinende Box mit einer Größe von 30 x 60 x 100 mm (von Visitenkarten), die perfekt passt.


Ja, das Schlafsystem verbraucht ~ 2,3 mA - 90% aufgrund des Kommunikationsmoduls - es schaltet sich nicht vollständig aus, sondern wechselt in den Standby-Modus.


Nicht Houston


Wir fahren mit der Herstellung von Sensoren fort. Lassen Sie uns zunächst das Layout der Sensoren ansprechen:


Sensorposition


Dies ist der Plan der Bienenstock-Draufsicht.


Klassischerweise sind 4 Sensoren in den Ecken installiert (1,2,3,4)


Wir werden anders messen. Oder besser gesagt, sogar im dritten. Wie die Jungs von BroodMinder es anders machen:


Brutminder


Bei dieser Konstruktion sind die Sensoren an den Positionen 1 und 2 installiert, die Punkte 3.4 basieren auf dem Strahl.
Dann fällt nur die Hälfte des Gewichts auf die Sensoren.
Ja, eine solche Methode ist weniger genau, aber es ist schwer vorstellbar, dass die Bienen alle Rahmen mit „Zungen“ aus den Waben entlang einer Wand des Bienenstocks aufgebaut haben.


Daher schlage ich vor, die Sensoren auf Punkt 5 zu reduzieren - dann muss das System nicht abgeschirmt werden, und bei Verwendung von leichten Bienenstöcken muss unbedingt ein Sensor verwendet werden.


Sensor und Sensoroptionen


Im Allgemeinen haben wir zwei Modultypen am HX711 getestet, zwei Sensortypen und zwei Optionen zum Anschließen - mit einer vollständigen Wheatstone-Brücke (2 Sensoren) und eine halbe, wenn der zweite Teil mit 1k-Widerständen mit einer Toleranz von 0,1% ergänzt wird.
Die letztere Methode ist jedoch unerwünscht und wird selbst von Sensorherstellern nicht empfohlen. Daher werde ich nur die erste beschreiben.


In einem Bienenstock werden also zwei Wägezellen und ein HX711-Modul installiert. Der Schaltplan lautet wie folgt:



Von der ADC-Karte bis zum Arduino gibt es 5 Meter eines 4-adrigen Telefonkabels - wir erinnern uns, dass die Bienen GSM-Geräte im Bienenstock nicht mögen .


Im Allgemeinen lassen wir bei den Sensoren "Schwänze" von 8 cm, reinigen das verdrillte Paar und löten alles wie auf dem Foto oben.


Wahr Sie sterben die Polarität!


Ich wiederhole noch einmal - beachte die Polarität!


Wenn das schwarze Kabel der Wägezelle mit dem E + der HX711-Karte verbunden ist, geht das rote an A +


Andernfalls erhalten Sie anstelle einer Gewichtszunahme eine Ermäßigung, die jedoch keine Rolle spielt. In diesem Fall reicht es aus, die roten Drähte von den Wägezellen (A + und A-) auf der ADC-Karte auszutauschen.


Legen Sie vor Beginn der Tischlerei Wachs / Paraffin in einen geeigneten Behälter, um es in einem Wasserbad zu schmelzen.


Jetzt nehmen wir unseren Strahl und teilen ihn in drei Segmente von 100 mm


Als nächstes markieren wir eine 25 mm breite, 7-8 mm tiefe Längsnut mit einer Bügelsäge und einem Meißel. Wir entfernen den Überschuss - ein U-förmiges Profil sollte herauskommen.


Wachs aufgewärmt? - Wir tauchen unsere ADC-Platten dort ein - dies schützt sie vor Feuchtigkeit / Nebel:


ADC-Schutz gegen Konflikte


Wir haben alles auf einem Holzsockel (es ist notwendig, es mit einem Antiseptikum gegen Verfall zu behandeln):


Montage


Und zum Schluss befestigen wir die Sensoren mit Schrauben:


Sensor bereit


Es gab eine andere Option mit einem blauen Isolierband, aber aus Gründen der Menschlichkeit bringe ich es nicht mit ;-)


Von der Seite von Arduino machen wir Folgendes:


Wir reinigen unsere Telefonkabel, drehen die farbigen Drähte zusammen, dünn.


Danach löten wir die Platinenkontakte wie auf dem Foto:


Finale


Das war's, jetzt für die letzte Überprüfung, setzen Sie die Sensoren auf die Sektoren des Kreises, oben - ein Stück Sperrholz, setzen Sie den Controller auf Null (setzen Sie die Batterie mit der Kappe auf die Fotodiode vom Füllfederhalter).


In diesem Fall sollte die LED am Arduino blinken und eine Test-SMS sollte kommen.


Dann entfernen wir die Kappen von der Fotozelle und sammeln Wasser in einer 1,5-Liter-Plastikflasche.
Wir stellen die Flasche auf Sperrholz und setzen nach dem Einschalten bereits einige Minuten auf den Fotowiderstand (simuliert einen Sonnenuntergang).


Nach drei Minuten leuchtet die LED am Arduino auf und Sie sollten an allen Positionen eine SMS mit einem Gewichtswert von ca. 1 kg erhalten.


Glückwunsch! Das System ist erfolgreich montiert!


Wenn wir das System jetzt wieder zum Laufen bringen, erhalten wir in der ersten Spalte des Gewichts Nullen.


Ja, unter realen Bedingungen ist es wünschenswert, den Fotowiderstand vertikal nach oben auszurichten.


Jetzt werde ich ein kurzes Handbuch zur Verwendung von:


  1. Installieren Sie Dehnungsmessstreifen unter den Rückwänden der Bienenstöcke (unter der Vorderseite ersetzen Sie einen Balken / eine Platte mit einer Dicke von ~ 30 mm).
  2. Schattieren Sie den Fotowiderstand und legen Sie den Akku ein - die LED sollte blinken und eine Test-SMS mit dem Text "INITIAL BOOT OK" sollte kommen
  3. Positionieren Sie die Zentraleinheit so weit wie möglich von den Bienenstöcken entfernt, damit die Drähte bei der Arbeit mit Bienen nicht stören.
    Jeden Abend nach Sonnenuntergang kommt SMS mit einer Gewichtsänderung pro Tag und ab dem Start an.
    Wenn die Batteriespannung 3,5 V erreicht, endet die SMS mit der Zeile "!!! CHARGE BATTERY !!!"
    Die Betriebszeit einer Batterie mit einer Kapazität von 2600 mAh beträgt ungefähr einen Monat.
    Beim Austausch der Batterie werden die täglichen Gewichtsänderungen der Bienenstöcke nicht berücksichtigt.

Was weiter?


  1. Um herauszufinden, wie man all dies in ein Projekt für Github einfügt
  2. Starten Sie 3 Bienenfamilien in den Bienenstöcken des Palivoda-Systems (oder gehörnte Menschen).
  3. Fügen Sie "Brötchen" hinzu - eine Messung von Luftfeuchtigkeit, Temperatur und vor allem eine Analyse des Summens von Bienen.

Lassen Sie uns alles besetzen, mit freundlichen Grüßen, elektrischer Imker Andrey


PS Für neue Veröffentlichungen zu diesem Thema siehe Beefree.xyz

Source: https://habr.com/ru/post/de444326/


All Articles