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

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

Nein, es handelt sich hierbei nicht um ein kommerzielles Angebot, sondern um die Kosten für die Systemkomponenten, die Sie nach Lektüre des Artikels zusammenbauen können.

Ein kleiner Hintergrund:

Vor einiger Zeit habe ich beschlossen, Bienen zu holen, und sie erschienen tatsächlich ... die ganze Saison über, verließen aber den Winter über nicht.
Und das, obwohl er scheinbar alles richtig gemacht hat – herbstliche Beikost, Aufwärmen vor der Kälte.
Der Bienenstock war ein klassisches Holzsystem „Dadan“ für 10 Rahmen aus einem 40-mm-Brett.
Aber in diesem Winter verloren selbst erfahrene Imker aufgrund der Temperaturschwankungen viel mehr als gewöhnlich.

So entstand die Idee eines Systems zur Überwachung der Bienenstockgesundheit.
Nachdem ich mehrere Artikel auf Habr veröffentlicht und im Imkerforum gesprochen hatte, beschloss ich, vom Einfachen zum Komplexen überzugehen.
Das Gewicht ist der einzige unbestreitbare Parameter, aber in der Regel überwachen bestehende Systeme nur einen „Referenz“-Bienenstock.
Wenn dabei etwas schief geht (zum Beispiel Schwarmabgang, Bienenkrankheit), dann verlieren die Indikatoren ihre Bedeutung.

Daher wurde beschlossen, die Gewichtsveränderung von drei Bienenstöcken gleichzeitig mit einem Mikrocontroller zu überwachen und anschließend weitere „Goodies“ hinzuzufügen.
Als Ergebnis erhielten wir ein autonomes System mit einer Betriebszeit von etwa einem Monat mit einer einzigen 18650-Akkuladung und dem Senden von Statistiken einmal täglich.
Ich habe versucht, das Design so weit wie möglich zu vereinfachen, damit es auch ohne Diagramme aus einem Foto wiederholt werden kann.

Die Funktionslogik ist wie folgt: Beim ersten Start/Reset werden die Messwerte der unter den Bienenstöcken installierten Sensoren im EEPROM gespeichert.
Darüber hinaus „wacht das System jeden Tag nach Sonnenuntergang auf“, liest die Messwerte und sendet SMS mit einer Gewichtsänderung pro Tag und ab dem Moment, in dem es eingeschaltet wurde.
Darüber hinaus wird der Wert der Batteriespannung übermittelt und beim Absinken auf 3.5 V eine Warnung vor Ladebedarf ausgegeben, da sich das Kommunikationsmodul unter 3.4 V nicht einschaltet und die Gewichtswerte bereits „schweben“. weg".

„Erinnerst du dich, wie alles begann? Alles war immer wieder zum ersten Mal.
SMS-Überwachung des Gewichts von drei Bienenstöcken für 30 $
Ja, es war ursprünglich ein solcher Satz aus „Eisen“, obwohl bis zur endgültigen Version nur Dehnungsmessstreifen und Drähte überlebten, aber das Wichtigste zuerst.
Tatsächlich wird der Kabelschacht nicht benötigt, er hat lediglich den gleichen Preis wie 30 m am Stück gekostet.

Wenn Sie keine Angst davor haben, 3 SMD-LEDs und ein halbes Hundert konventioneller (Ausgangs-)Lötstellen zu demontieren, dann gehen Sie!

Wir benötigen also folgende Ausrüstung/Materialien:

  1. Arduino Pro Mini 3V
    Man sollte auf den Linearwandlerchip achten - er sollte genau 3.3V haben - auf der Chipmarkierung KB 33 / LB 33 / DE A10 - bei mir haben die Chinesen was vermasselt, und die ganze Charge
    Es stellte sich heraus, dass die Platinen im Laden mit 5-Volt-Reglern und Quarz bei 16 MHz ausgestattet waren.
  2. USB-Ttl auf dem CH340-Chip - sogar 5 Volt sind möglich, allerdings muss dann während der Firmware des Mikrocontrollers der Arduino vom GSM-Modul getrennt werden, um dieses nicht zu verbrennen.
    Boards auf Basis des PL2303-Chips funktionieren nicht unter Windows 10.
  3. GSM-Kommunikationsmodul Goouu Tech IOT GA-6-B oder AI-THINKER A-6 Mini.
    Warum hast du dort aufgehört? Neoway M590 – ein Konstruktor, der separate Tänze mit Tamburinen erfordert, GSM SIM800L – mochte den nicht standardmäßigen 2.8-V-Logikpegel nicht, der selbst mit einem Drei-Volt-Arduino eine Koordination erfordert.
    Darüber hinaus hat die Lösung von AiThinker einen minimalen Stromverbrauch (beim Versenden von SMS habe ich keinen Strom über 100 mA gesehen).
  4. Antenne GSM GPRS 3DBI (im Foto oben - ein rechteckiger Schal mit einem „Schwanz“, bei 9 Uhr)
  5. Ein Starterpaket für einen Betreiber mit guter Abdeckung an Ihrem Bienenstandstandort.
    Ja, das Paket muss zunächst in einem normalen Telefon aktiviert, die PIN-Anfrage am Eingang deaktiviert und das Konto aufgeladen werden.
    Mittlerweile gibt es viele Optionen mit Namen wie „Sensor“, „IoT“ – sie haben eine etwas niedrigere monatliche Gebühr.
  6. Draht Dupont 20 cm weiblich-weiblich – 3 Stk. (zum Anschluss von Arduino an USB-TTL)
  7. 3 Stk. HX711 – ADC für Waagen
  8. 6 Wägezellen für Gewichte bis 50 kg
  9. 15 Meter 4-adriges Telefonkabel – zur Verbindung von Gewichtsmodulen mit ARDUINO.
  10. Fotowiderstand GL5528 (genau das ist wichtig, mit einem Dunkelwiderstand von 1 MΩ und einem Lichtwiderstand von 10-20 kΩ) und zwei herkömmlichen 20k-Widerständen
  11. Ein Stück doppelseitiges „dickes“ Klebeband 18x18mm – zum Befestigen des Arduino am Kommunikationsmodul.
  12. 18650-Batteriehalter und tatsächlich die Batterie selbst ~ 2600 mAh.
  13. Etwas Wachs oder Paraffin (Aromalampen-Kerzentablette) – zum Schutz vor Feuchtigkeit HX711
  14. Ein Stück Holzbalken 25x50x300mm für die Basis der Dehnungsmessstreifen.
  15. Ein Dutzend selbstschneidende Schrauben mit einer Pressscheibe 4,2x19 mm zur Befestigung der Sensoren an der Basis.

Der Akku kann aus zerlegten Laptops entnommen werden - um ein Vielfaches günstiger als ein neuer, und die Kapazität wird viel größer ausfallen als die des chinesischen UltraFire - ich habe 1500 gegen 450 bekommen (das gilt für das Feuer 6800 😉

Darüber hinaus benötigen Sie nicht krumme Hände, einen EPSN-25-Lötkolben, Kolophonium und POS-60-Lot.

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

Vor 5 Jahren habe ich einen sowjetischen Lötkolben mit Kupferspitze verwendet (Lötstationen funktionierten bei mir nicht – ich habe damit eine Probefahrt gemacht und die Schaltung mit EPSN fertiggestellt).
Doch nach seinem Scheitern und mehreren chinesischen monströsen Kunst(d)bäumen wurde letzterer mit dem Namen Sparta – etwas so Hartes wie der Name – gestoppt
auf einem Produkt mit Thermostat.

So lass uns gehen!

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

Zunächst löten wir zwei LEDs vom GSM-Modul ab (die Stelle, an der sie in einem orangefarbenen Oval eingekreist waren).
Wir stecken die SIM-Karte mit Kontaktpads in die Leiterplatte ein, die abgeschrägte Ecke ist im Foto durch einen Pfeil gekennzeichnet.

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

Dann führen wir einen ähnlichen Vorgang mit der LED auf der Arduino-Platine durch (oval links vom quadratischen Chip).
Wir löten den Kamm in vier Kontakte (1),
Wir nehmen zwei 20k-Widerstände, verdrillen die Leitungen auf einer Seite, löten die Verdrillung in das Loch von Kontakt A5, die restlichen Leitungen in RAW und GND des Arduino (2),
Wir kürzen die Beine des Fotowiderstands auf 10 mm und löten ihn an die GND- und D2-Pins der Platine (3).

Jetzt ist es Zeit für das blaue Isolierband aus doppelseitigem Klebeband – wir kleben es auf die Halterung der SIM-Karte des Kommunikationsmoduls, und oben – das Arduino – steht uns der rote (silberne) Knopf zugewandt und befindet sich darüber SIM Karte.

Wir löten den Strom: Plus vom Kondensator des Kommunikationsmoduls (4) an den 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ärtswandler verbunden ist. Um mit Li-Ion zu arbeiten, muss die Spannung unter Umgehung dieses Teils des Stromkreises zugeführt werden.

Bei Arduino hingegen liefern wir Strom über einen Linearwandler – bei geringem Stromverbrauch beträgt der Abfallspannungsabfall 0.1 V.
Durch das Anlegen einer stabilisierten Spannung an die HX711-Module entfällt jedoch die Notwendigkeit, sie für eine niedrigere Spannung zu modifizieren (und gleichzeitig das durch diesen Vorgang erhöhte Rauschen zu vermeiden).

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

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

Das Foto oben zeigt die erste Version (von drei) des Systems, die zum Debuggen verwendet wurde.

Und jetzt schweifen wir für eine Weile vom Lötkolben ab und gehen zum Softwareteil über.
Ich beschreibe den Aktionsablauf für Windows:
Zuerst müssen Sie das Programm herunterladen und installieren/entpacken Arduino IDE - Die aktuelle Version ist 1.8.9, ich verwende jedoch 1.6.4

Der Einfachheit halber entpacken wir das Archiv in den Ordner C: arduino-„Ihre_Versionsnummer“. Darin befinden sich die Ordner „/dist“, „Treiber“, „Beispiele“, „Hardware“, „Java“, „Lib“, „Bibliotheken“, „Referenz“, „Tools“ sowie die ausführbare Arduino-Datei (unter anderen).

Jetzt brauchen wir eine Bibliothek, um mit dem ADC zu arbeiten HX711 - Grüner Button „Klonen oder herunterladen“ – ZIP herunterladen.
Der Inhalt (Ordner HX711-master) wird im Verzeichnis C:arduino-"your_version_number"libraries abgelegt

Und natürlich der Fahrer für USB-TTL vom gleichen Github - aus dem entpackten Archiv wird die Installation einfach über die SETUP-Datei gestartet.

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

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

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

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 ein, an die SMS gesendet werden.

Jetzt drücken wir den Häkchenknopf (über der Nummer eins im Screenshot oben) – steht unten (unter der Drei auf dem Bildschirm) „Kompilierung ist abgeschlossen“ – dann können wir den Mikrocontroller flashen.

Nachdem wir USB-TTL mit dem ARDUINO und dem Computer verbunden haben, legen wir einen geladenen Akku in die Halterung (normalerweise beginnt die LED bei einem neuen Arduino mit einer Frequenz von einmal pro Sekunde zu blinken).

Jetzt die Firmware – wir trainieren, den roten (silbernen) Knopf des Mikrocontrollers zu drücken – dies muss unbedingt zu einem bestimmten Zeitpunkt erfolgen !!!
Essen? Klicken Sie auf die Schaltfläche „Hochladen“ (über den beiden im Screenshot) und schauen Sie sich die Zeile am unteren Rand der Benutzeroberfläche (unter den drei auf dem Bildschirm) genau an.
Sobald die Aufschrift „Compilation“ durch „Loading“ ersetzt wird – drücken Sie den roten Knopf (Reset) – ist alles in Ordnung – blinken die Lichter am USB-TTL-Adapter fröhlich und am unteren Rand der Schnittstelle erscheint die Aufschrift „Loaded“. "

Während wir nun darauf warten, dass die Test-SMS auf dem Telefon eintrifft, erkläre ich Ihnen, wie das Programm funktioniert:

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

Auf dem Foto - die zweite Version des Debugging-Ständers.

Beim ersten Einschalten überprüft das System die Bytes Nr. 500 und 501 des EEPROM. Wenn sie gleich sind, werden die Kalibrierungsdaten nicht geschrieben und der Algorithmus fährt mit dem Setup-Abschnitt fort.
Das Gleiche passiert, wenn der Fotowiderstand beim Einschalten abgeschattet wird (mit einer Stiftkappe) – der Reset-Modus ist aktiviert.

Die Wägezellen sollten bereits unter den Bienenstöcken installiert sein, da wir einfach den anfänglichen Nullpunkt festlegen und dann die Gewichtsänderung messen (jetzt kommen nur noch Nullen, da wir noch nichts angeschlossen haben).
Gleichzeitig blinkt die eingebaute LED von Pin 13 am Arduino.
Erfolgt kein Reset, leuchtet die LED für 12 Sekunden.
Anschließend wird eine Test-SMS mit der Meldung „INITIAL BOOT OK“ und der Batteriespannung versendet.
Das Kommunikationsmodul schaltet sich aus und nach 3 Minuten versetzt das Arduino-Board die HX711 ADC-Boards in den Schlafmodus und schläft von selbst ein.
Eine solche Verzögerung wird vorgenommen, um keine Anrufe von einem funktionierenden GSM-Modul abzufangen (nach dem Ausschalten „klingelt“ es einige Zeit).

Als nächstes haben wir einen Fotosensor-Interrupt am zweiten Pin (positiver Pullup wird mit der Pullup-Funktion aktiviert).
Gleichzeitig wird nach weiteren 3 Minuten Auslösung der Zustand des Fotowiderstands überprüft – um wiederholte/falsche Positive auszuschließen.
Bezeichnenderweise funktioniert das System ohne jegliche Anpassung 10 Minuten nach dem astronomischen Sonnenuntergang bei bewölktem Wetter und 20 Minuten später bei klarem Wetter.
Ja, damit das System nicht bei jedem Einschalten zurückgesetzt wird, muss mindestens das erste HX711-Modul angeschlossen sein (Pins DT-D10, SCK-A0)

Dann werden die Messwerte der Wägezellen erfasst, die Gewichtsänderung aus dem vorherigen Vorgang berechnet (die erste Zahl in der Zeile nach Hive) und ab dem ersten Einschluss wird die Batteriespannung überprüft und diese Informationen werden in Form von gesendet SMS:

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

Hast du übrigens eine SMS bekommen? Glückwunsch! Wir sind mitten auf der Straße! Der Akku kann weiterhin aus der Halterung entfernt werden, wir benötigen den Computer nicht weiter.

Das Mission Control Center ist übrigens so kompakt geworden, dass es in ein Mayonnaiseglas passt, in meinem Fall passt eine durchsichtige Schachtel mit den Maßen 30x60x100mm (von Visitenkarten) perfekt.

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

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

Wir fahren mit der Herstellung von Sensoren fort. Lassen Sie uns zunächst auf die Anordnung der Sensoren eingehen:

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

Dies ist der Grundriss des Bienenstocks – Draufsicht.

Klassisch werden 4 Sensoren in den Ecken verbaut (1,2,3,4)

Wir werden anders messen. Oder besser gesagt, sogar auf eine dritte Art und Weise. Denn die Jungs von BroodMinder machen es anders:

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

Bei dieser Ausführung sind die Sensoren an den Positionen 1 und 2 angebracht, die Punkte 3,4 und XNUMX liegen auf dem Balken auf.
Dann machen die Sensoren nur die Hälfte des Gewichts aus.
Ja, diese Methode ist weniger genau, aber es ist immer noch schwer vorstellbar, dass die Bienen alle Rahmen mit „Zungen“ aus Waben entlang einer Wand des Bienenstocks aufgebaut haben.

Daher schlage ich vor, die Sensoren generell auf Punkt 5 zu reduzieren – dann ist keine Abschirmung des Systems erforderlich und bei Verwendung von Lichtbeuten kommt man sogar mit einem Sensor aus.

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

Im Allgemeinen wurden beim HX711 zwei Arten von Modulen getestet, zwei Arten von Sensoren und zwei Optionen für deren Anschluss – mit einer vollständigen Wheatstone-Brücke (2 Sensoren) und mit einer halben, wenn der zweite Teil durch 1k-Widerstände mit a ergänzt wird Toleranz von 0.1 %.
Letztere Methode ist jedoch unerwünscht und wird auch von Sensorherstellern nicht empfohlen, daher beschreibe ich nur die erste Methode.

In einem Bienenstock werden wir also zwei Wägezellen und ein HX711-Modul installieren. Der Verdrahtungsplan sieht wie folgt aus:

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

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

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

Bevor Sie mit den Tischlerarbeiten beginnen, geben Sie das Wachs/Paraffin in ein geeignetes Gefäß und lassen es im Wasserbad schmelzen.

Nun nehmen wir unser Holz und teilen es in drei Segmente zu je 100 mm

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

Hat sich das Wachs erwärmt? - Wir tauchen unsere ADC-Boards dort ein – das schützt sie vor Feuchtigkeit/Nebel:

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

Wir stellen alles auf einen Holzsockel (es ist notwendig, es mit einem Antiseptikum gegen Fäulnis zu behandeln):

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

Und zum Schluss befestigen wir die Sensoren mit selbstschneidenden Schrauben:

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

Es gab noch eine andere Möglichkeit mit blauem Isolierband, aber aus Gründen der Menschlichkeit erwähne ich das nicht 😉

Gehen Sie auf der Arduino-Seite wie folgt vor:

Wir reinigen unsere Telefonkabel, verdrillen die farbigen Drähte miteinander, spielen Streiche.

Anschließend wie auf dem Foto an die Kontakte der Platine anlöten:

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

Das war's, jetzt zur Endkontrolle platzieren wir die Sensoren in den Sektoren des Kreises, oben drauf - ein Stück Sperrholz, setzen den Controller zurück (wir setzen die Batterie mit einer Stiftkappe auf die Fotodiode).

Gleichzeitig sollte die LED am Arduino blinken und eine Test-SMS kommen.

Dann entfernen wir die Kappe von der Fotozelle und sammeln Wasser in einer 1.5-Liter-Plastikflasche.
Wir stellen die Flasche auf Sperrholz und wenn seit dem Einschalten bereits mehrere Minuten vergangen sind, setzen wir den Deckel wieder auf den Fotowiderstand (simulieren einen Sonnenuntergang).

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

Glückwunsch! Das System wurde erfolgreich zusammengebaut!

Wenn wir nun das System zwingen, wieder zu arbeiten, dann werden in der ersten Spalte des Gewichts Nullen erhalten.

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

Jetzt gebe ich eine kurze Gebrauchsanweisung:

  1. Installieren Sie Wägezellen unter den Rückwänden der Bienenstöcke (ersetzen Sie einen Balken/ein Brett mit einer Dicke von ca. 30 mm unter den Vorderwänden).
  2. Schatten Sie den Fotowiderstand ab und legen Sie die Batterie ein – die LED sollte blinken und eine Test-SMS mit dem Text „INITIAL BOOT OK“ sollte kommen.
  3. Positionieren Sie den Mittelblock im größtmöglichen Abstand zu den Bienenstöcken und so, dass die Drähte bei der Arbeit mit Bienen nicht stören.
    Jeden Abend nach Sonnenuntergang werden SMS mit einer Gewichtsveränderung pro Tag und seit dem Start eingehen.
    Wenn die Batteriespannung 3.5 V erreicht, endet die SMS mit der Zeile „!!!“ AKKU AUFLADEN!!!"
    Die Betriebszeit eines Akkus mit einer Kapazität von 2600 mAh beträgt etwa einen Monat.
    Bei einem Batteriewechsel werden die täglichen Gewichtsveränderungen der Bienenstöcke nicht gespeichert.

Was kommt als nächstes?

  1. Finden Sie heraus, wie Sie all dies in einem Projekt für Github arrangieren
  2. Habe 3 Bienenvölker in den Bienenstöcken des Palivoda-Systems (oder gehörnte im Volk)
  3. Fügen Sie „Brötchen“ hinzu – Messung von Luftfeuchtigkeit, Temperatur und vor allem – Analyse des Bienensummens.

Das ist alles fürs Erste, mit freundlichen Grüßen, elektrischer Imker Andrey

Source: habr.com

Kommentar hinzufügen