SMS-monitoring van het gewicht van drie bijenkorven voor $30

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Nee, dit is geen commerciële aanbieding, dit zijn de kosten van de systeemcomponenten die u na het lezen van het artikel kunt monteren.

Een beetje achtergrond:

Enige tijd geleden besloot ik bijen te gaan halen, en die verschenen wel... het hele seizoen, maar verlieten de winterhut niet.
En dit ondanks het feit dat hij alles correct leek te doen: aanvullende voeding in de herfst, isolatie voor het koude weer.
De bijenkorf was een klassiek houten “Dadan”-systeem met 10 frames gemaakt van planken van 40 mm.
Maar die winter verloren zelfs ervaren imkers door temperatuurschommelingen veel meer dan normaal.

Zo ontstond het idee van een systeem om de toestand van de bijenkorf te monitoren.
Nadat ik verschillende artikelen over Habr had gepubliceerd en op het imkersforum had gecommuniceerd, besloot ik van eenvoudig naar complex te gaan.
Gewicht is de enige onbetwistbare parameter, maar in de regel monitoren bestaande systemen slechts één ‘referentie’-bijenkorf.
Als daar iets mis mee gaat (bijvoorbeeld het vertrek van een zwerm, bijenziekte), dan worden de indicatoren irrelevant.

Daarom werd besloten om de verandering in het gewicht van drie bijenkorven tegelijk te monitoren met behulp van één microcontroller, en later andere “goodies” toe te voegen.
Het resultaat was een autonoom systeem met een gebruiksduur van ongeveer een maand op één lading van de 18650-batterij en die één keer per dag statistieken verstuurt.
Ik heb geprobeerd het ontwerp zoveel mogelijk te vereenvoudigen, zodat het zelfs zonder diagrammen herhaald kon worden, alleen op basis van foto's.

De werkingslogica is als volgt: tijdens de eerste start/reset worden de meetwaarden van de onder de kasten geïnstalleerde sensoren opgeslagen in EEPROM.
Vervolgens wordt het systeem elke dag, na zonsondergang, “wakker”, leest het de meetwaarden en verzendt een sms met de gewichtsverandering voor de dag en vanaf het moment dat het werd ingeschakeld.
Bovendien wordt de waarde van de batterijspanning verzonden en wanneer deze daalt tot 3.5 V, wordt er een waarschuwing gegeven over de noodzaak om op te laden, omdat onder 3.4 V de communicatiemodule niet wordt ingeschakeld en de gewichtsmetingen al "wegzweven".

‘Weet je nog hoe het allemaal begon? Alles was voor het eerst, keer op keer.”
SMS-monitoring van het gewicht van drie bijenkorven voor $30
Ja, dit is precies de hardware die oorspronkelijk was, hoewel alleen rekstrookjes en draden overleefden tot de definitieve versie, maar eerst en vooral.
In feite heb je geen kabelspoel nodig, deze bleek net dezelfde prijs te hebben als een rechte kabel van 30 meter.

Als je niet bang bent om 3 SMD-LED's en een halfhonderd punten conventioneel (uitgangs)solderen te demonteren, ga dan!

We hebben dus de volgende uitrusting/materialen nodig:

  1. Arduino Pro Mini 3V
    Je moet letten op de microschakeling van de lineaire converter - deze moet precies 3.3 V zijn - op de chipmarkering KB 33/LB 33/DE A10 - mijn Chinezen hebben iets verkeerd gedaan, en de hele batch
    De borden in de winkel bleken 5 volt-regelaars en 16 MHz-kristallen te hebben.
  2. USB-Ttl op een CH340-chip - je kunt zelfs een 5 volt-chip gebruiken, maar tijdens het flitsen van de microcontroller moet de Arduino worden losgekoppeld van de GSM-module om deze niet te verbranden.
    Borden gebaseerd op de PL2303-chip werken niet onder Windows 10.
  3. GSM-communicatiemodule Goouu Tech IOT GA-6-B of AI-THINKER A-6 Mini.
    Waarom stopte je daar? Neoway M590 - een ontwerper die afzonderlijke dansen met tamboerijnen vereist, GSM SIM800L - hield niet van het niet-standaard 2.8V-logicaniveau, dat zelfs coördinatie vereist met een Arduino van drie volt.
    Bovendien heeft de oplossing van AiThinker een minimaal energieverbruik (ik heb geen stroom hoger dan 100mA gezien bij het verzenden van sms).
  4. GSM GPRS 3DBI-antenne (op de foto hierboven - een rechthoekige sjaal met een "staart", om 9 uur)
  5. Startpakket van een operator met goede dekking op de locatie van uw bijenstal.
    Ja, het pakket moet eerst worden geactiveerd op een gewone telefoon, HET PIN-VERZOEK UITSCHAKELEN bij binnenkomst en uw account opwaarderen.
    Nu zijn er veel opties met namen in de stijl van "Sensor", "IoT" - ze hebben iets lagere abonnementskosten.
  6. dupont draad 20cm vrouwelijk-vrouwelijk - 3 st. (om Arduino op USB-TTL aan te sluiten)
  7. 3 stuks. HX711 - ADC voor weegschalen
  8. 6 loadcellen voor gewichten tot 50kg
  9. 15 meter 4-aderige telefoonkabel - voor het aansluiten van gewichtsmodules op ARDUINO.
  10. Fotoresistor GL5528 (dit is de belangrijkste, met een donkerweerstand van 1 MΩ en een lichtweerstand van 10-20 kΩ) en twee gewone weerstanden van 20 kΩ
  11. Een stuk dubbelzijdig “dik” tape 18x18mm - voor het bevestigen van de Arduino aan de communicatiemodule.
  12. De 18650-batterijhouder en, in feite, de batterij zelf zijn ~2600 mAh.
  13. Een beetje was of paraffine (kaars-tablet-aromalamp) - voor bescherming tegen vocht HX711
  14. Een stuk houten balk 25x50x300mm voor de basis van de rekstrookjes.
  15. Een tiental zelftappende schroeven met een drukring van 4,2x19 mm voor het bevestigen van de sensoren aan de basis.

De batterij kan uit de demontage van laptops worden gehaald - hij is meerdere malen goedkoper dan een nieuwe, en de capaciteit zal veel groter zijn dan die van de Chinese UltraFire - ik kreeg 1500 versus 450 (dit is 6800 voor de brand 😉

Daarnaast heb je vaste handen nodig, een EPSN-25-soldeerbout, hars en POS-60-soldeer.

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Zelfs 5 jaar geleden gebruikte ik een Sovjet-soldeerbout met een koperen punt (de soldeerstations werkten niet voor mij - ik nam er een proefrit mee en maakte het circuit af met een EPSN).
Maar na zijn mislukking en verschillende Chinese monsterlijke vervalsingen, werd de laatste Sparta genoemd - iets zo ernstigs als zijn naam, gestopt
op een product met een thermostaat.

Dus laten we gaan!

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Om te beginnen solderen we twee LED's los van de GSM-module (de plaats waar ze zich bevonden is omcirkeld in een oranje ovaal)
We plaatsen de simkaart met de contactvlakken op de printplaat, de afgeschuinde hoek op de foto wordt aangegeven met een pijl.

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Vervolgens voeren we een soortgelijke procedure uit met de LED op het Arduino-bord (ovaal links van de vierkante chip),
Soldeer de kam aan vier contacten (1),
We nemen twee weerstanden van 20k, draaien de draden aan één kant, solderen de twist in het gat van pin A5, de overige draden zijn in RAW en GND van de Arduino (2),
We verkorten de poten van de fotoresistor tot 10 mm en solderen deze aan de GND- en D2-pinnen van het bord (3).

Nu is het tijd voor de blauwe isolatietape van dubbelzijdig plakband - we lijmen deze op de simkaarthouder van de communicatiemodule, en bovenaan - de Arduino - de rode (zilveren) knop is naar ons toe gericht en bevindt zich boven de simkaart.

We solderen de voeding: plus van de condensator van de communicatiemodule (4) naar de RAW Arduino-pin.
Feit is dat de communicatiemodule zelf 3.4-4.2 V nodig heeft voor zijn voeding, en het PWR-contact is verbonden met een step-down-omzetter, dus om op li-ion te werken, moet er spanning worden geleverd die dit deel van het circuit omzeilt.

In Arduino daarentegen leveren we stroom via een lineaire converter - bij een laag stroomverbruik is de uitvalspanningsval 0.1 V.
Maar door een gestabiliseerde spanning aan de HX711-modules te leveren, hoeven we ze niet meer aan te passen naar een lagere spanning (en tegelijkertijd van de toenemende ruis als gevolg van deze operatie).

Vervolgens solderen we jumpers (5) tussen pins PWR-A1, URX-D4 en UTX-D5, aarden GND-G (6) en tenslotte voeding vanuit de 18650 batterijhouder (7), sluiten we de antenne aan (8).
Nu nemen we een USB-TTL-converter en verbinden de RXD-TXD- en TXD-RXD-, GND-GND-contacten met Dupont-draden met ARDUINO (kam 1):

SMS-monitoring van het gewicht van drie bijenkorven voor $30

De foto hierboven toont de eerste versie (van drie) van het systeem, die werd gebruikt voor foutopsporing.

Maar nu nemen we even een pauze van de soldeerbout en gaan we verder met het softwaregedeelte.
Ik zal de volgorde van acties voor Windows beschrijven:
Eerst moet u het programma downloaden en installeren/uitpakken Arduino IDE — de huidige versie is 1.8.9, maar ik gebruik 1.6.4

Voor de eenvoud pakken we het archief uit in de map C: arduino - "uw_versie_nummer", daarbinnen hebben we de mappen /dist, stuurprogramma's, voorbeelden, hardware, java, lib, bibliotheken, referentie, tools, evenals het uitvoerbare bestand van arduino (onder andere).

Nu hebben we een bibliotheek nodig om met de ADC te kunnen werken HX711 — groene knop “klonen of downloaden” — download ZIP.
De inhoud (map HX711-master) wordt in de directory C:arduino-“your_version_number”bibliotheken geplaatst

En natuurlijk de chauffeur voor USB-TTL vanuit dezelfde github - vanuit het uitgepakte archief wordt de installatie eenvoudigweg gestart met het SETUP-bestand.

Oké, laten we het programma C:arduino-“your_version_number”arduino starten en configureren

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Ga naar het item "Tools" - selecteer het bord "Arduino Pro of Pro Mini", Atmega 328 3.3V 8 MHz processor, poort - een ander nummer dan het systeem COM1 (dit verschijnt na installatie van het CH340-stuurprogramma met een USB-TTL-adapter verbonden)

Oké, kopieer de volgende schets (programma) en plak deze in het Arduino IDE-venster

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

  }

}

Op de eerste regel, tussen aanhalingstekens, char phone_no[]=”+123456789012″; — voer in plaats van 123456789012 uw telefoonnummer in met de landcode waarnaar de sms wordt verzonden.

Nu drukken we op de vinkknop (boven de nummer één in de bovenstaande schermafbeelding) - als onderaan (onder de nummer drie op het scherm) “Compilatie is voltooid” - dan kunnen we de microcontroller flashen.

Dus USB-TTL is aangesloten op ARDUINO en de computer, plaats de opgeladen batterij in de houder (meestal begint de LED op de nieuwe Arduino één keer per seconde te knipperen).

Nu wat betreft de firmware - we zijn aan het trainen om op de rode (zilveren) knop van de microcontroller te drukken - dit zal strikt op een bepaald moment moeten gebeuren!!!
Eten? Klik op de knop "Laden" (boven de twee in de schermafbeelding) en kijk aandachtig naar de regel onderaan de interface (onder de drie in de schermafbeelding).
Zodra de inscriptie "compilatie" verandert in "downloaden", drukt u op de rode knop (reset) - als alles in orde is, knipperen de lampjes op de USB-TTL-adapter vrolijk en onderaan de interface staat het opschrift "Geüpload ”

Terwijl we wachten tot de test-sms op de telefoon arriveert, zal ik je vertellen hoe het programma werkt:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

De foto toont de tweede versie van de foutopsporingsstandaard.

Wanneer het systeem voor de eerste keer wordt ingeschakeld, controleert het de bytes nummer 500 en 501 van de EEPROM; als deze gelijk zijn, worden de kalibratiegegevens niet geregistreerd en gaat het algoritme verder naar het installatiegedeelte.
Hetzelfde gebeurt als de fotoresistor, wanneer ingeschakeld, in de schaduw wordt gesteld (door een pendop) - de resetmodus wordt geactiveerd.

De loadcellen moeten al onder de kasten zijn geïnstalleerd, omdat we eenvoudigweg het initiële nulniveau vaststellen en vervolgens de verandering in gewicht meten (nu komen de nullen gewoon, omdat we nog niets hebben aangesloten).
Tegelijkertijd begint de ingebouwde LED van pin 13 op de Arduino te knipperen.
Als er geen reset plaatsvindt, brandt de LED gedurende 12 seconden.
Hierna wordt een test-SMS verzonden met de melding “INITIAL BOOT OK” en de accuspanning.
De communicatiemodule wordt uitgeschakeld en na 3 minuten zet het Arduino-bord de HX711 ADC-kaarten in de slaapmodus en valt zelf in slaap.
Deze vertraging is gemaakt om geen interferentie van een werkende GSM-module op te pikken (na het uitschakelen blijft deze enige tijd “bonen”).

Vervolgens hebben we een fotosensoronderbreking op de tweede pin (de plusfunctie is ingeschakeld).
In dit geval wordt na de activering de toestand van de fotoweerstand nog eens 3 minuten gecontroleerd - om herhaalde/valse activering te elimineren.
Kenmerkend is dat het systeem zonder enige aanpassing bij bewolkt weer 10 minuten na astronomische zonsondergang en bij helder weer 20 minuten na astronomische zonsondergang wordt geactiveerd.
Ja, zodat het systeem niet bij elke inschakeling reset, moet in ieder geval de eerste HX711-module (pinnen DT-D10, SCK-A0) aangesloten zijn

Vervolgens worden de metingen van de rekstrookjes gedaan, wordt de verandering in gewicht ten opzichte van de vorige operatie berekend (het eerste getal in de regel na Hive) en vanaf de eerste activering wordt de batterijspanning gecontroleerd en deze informatie wordt als sms verzonden:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Heb je de sms trouwens ontvangen? Gefeliciteerd! Wij zijn halverwege daar! De batterij kan voorlopig uit de houder gehaald worden, de computer hebben we niet meer nodig.

Het missiecontrolecentrum bleek overigens zo compact dat het in een mayonaisepotje geplaatst kan worden; in mijn geval past er perfect een doorzichtige doos van 30x60x100mm (uit visitekaartjes).

Ja, het slaapsysteem verbruikt ~2.3 mA - 90% dankzij de communicatiemodule - het wordt niet volledig uitgeschakeld, maar gaat in de stand-bymodus.

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Laten we beginnen met het maken van sensoren; laten we eerst de lay-out van de sensoren bekijken:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Dit is een plattegrond van de korf - bovenaanzicht.

Klassiek worden in de hoeken 4 sensoren geïnstalleerd (1,2,3,4)

Wij gaan anders meten. Of beter gezegd, zelfs op de derde manier. Omdat de jongens van BroodMinder het anders doen:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

In dit ontwerp zijn de sensoren op positie 1 en 2 geïnstalleerd, waarbij de punten 3,4 en XNUMX op de balk rusten.
Dan zijn de sensoren slechts verantwoordelijk voor de helft van het gewicht.
Ja, deze methode is minder nauwkeurig, maar het is nog steeds moeilijk voor te stellen dat de bijen alle frames met "tongen" van honingraten langs één muur van de korf zouden bouwen.

Ik stel dus voor dat de sensoren worden samengebracht naar punt 5 - dan is het niet nodig om het systeem af te schermen, en bij het gebruik van lichte bijenkorven is het absoluut noodzakelijk om genoegen te nemen met één sensor.

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Over het algemeen hebben we op de HX711 twee soorten modules getest, twee soorten sensoren en twee opties om ze aan te sluiten - met een volledige Wheatstone-brug (2 sensoren) en met een halve, wanneer het tweede deel wordt aangevuld met 1k-weerstanden met een tolerantie van 0.1%.
Maar de laatste methode is ongewenst en wordt zelfs niet aanbevolen door sensorfabrikanten, dus ik zal alleen de eerste beschrijven.

Voor één kast installeren we dus twee rekstrookjes en één HX711-module. Het bedradingsschema is als volgt:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Er is 5 meter 4-aderige telefoonkabel van het ADC-bord naar de Arduino - we herinneren ons dat bijen niet van GSM-apparaten in de korf houden.

Over het algemeen laten we "staarten" van 8 cm op de sensoren achter, strippen we het gedraaide paar en solderen alles zoals op de foto hierboven.

Voordat u met het timmerwerk begint, plaatst u de was/paraffine in een geschikte container om deze in een waterbad te laten smelten.

Nu nemen we ons hout en verdelen het in drie delen van elk 100 mm

Vervolgens markeren we een langsgroef van 25 mm breed, 7-8 mm diep, verwijderen het overtollige materiaal met een ijzerzaag en beitel - er zou een U-vormig profiel moeten ontstaan.

Is de was opgewarmd? — we dopen onze ADC-platen daar — dit beschermt ze tegen vocht/mist:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

We plaatsen het allemaal op een houten ondergrond (het moet worden behandeld met een antisepticum om rotting te voorkomen):

SMS-monitoring van het gewicht van drie bijenkorven voor $30

En tot slot bevestigen we de sensoren met zelftappende schroeven:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Er was ook een optie met blauwe elektrische tape, maar om menselijkheidsredenen presenteer ik die niet 😉

Vanaf de Arduino-kant doen we het volgende:

We strippen onze telefoonkabels, draaien de gekleurde draden in elkaar en vertinnen ze.

Soldeer daarna aan de bordcontacten zoals op de foto:

SMS-monitoring van het gewicht van drie bijenkorven voor $30

Dat is alles, nu voor de laatste controle plaatsen we de sensoren in sectoren van de cirkel, een stuk multiplex erop, resetten we de controller (we plaatsen een batterij met een pendop op de fotodiode).

Tegelijkertijd moet de LED op de Arduino knipperen en moet er een test-SMS arriveren.

Verwijder vervolgens de dop van de fotocel en vul het water in een plastic fles van 1.5 liter.
We plaatsen de fles op het triplex en als er al enkele minuten zijn verstreken sinds het inschakelen, plaatsen we de dop terug op de fotoresistor (waarbij een zonsondergang wordt gesimuleerd).

Na drie minuten gaat de LED op de Arduino branden en ontvang je een sms met gewichtswaarden van ongeveer 1 kg in alle posities.

Gefeliciteerd! Het systeem is succesvol gemonteerd!

Als we het systeem nu weer dwingen te werken, zal de eerste gewichtskolom nullen bevatten.

Ja, in reële omstandigheden is het raadzaam om de fotoresistor verticaal naar boven te richten.

Nu zal ik een korte gebruikershandleiding geven:

  1. Installeer spanningsmeters onder de achterwanden van de kasten (plaats een balk/plank van ongeveer 30 mm dik onder de voorste)
  2. Scherm de fotoresistor af en installeer de batterij. De LED zou moeten knipperen en u zou een test-SMS moeten ontvangen met de tekst "INITIAL BOOT OK"
  3. Plaats de centrale eenheid op de maximale afstand van de bijenkorven en zo dat de draden niet in de weg zitten bij het werken met bijen.
    Elke avond, na zonsondergang, ontvangt u een sms met uw gewichtsveranderingen voor de dag en vanaf het moment van lancering.
    Wanneer de batterijspanning 3.5 V bereikt, eindigt de sms met de regel “!!! BATTERIJ OPLADEN!!!"
    De gebruiksduur op één 2600mAh-batterij is ongeveer een maand.
    Als de batterij wordt vervangen, worden de dagelijkse veranderingen in het gewicht van de kasten niet onthouden.

Wat is het volgende?

  1. Zoek uit hoe je dit allemaal in een project voor github kunt plaatsen
  2. Start 3 bijenfamilies in de bijenkorven van het Palivoda-systeem (of gehoornde bijenfamilies)
  3. Voeg "broodjes" toe - meet de vochtigheid, temperatuur en vooral - analyseer het zoemen van bijen.

Dat is alles voor nu, met vriendelijke groet, elektrische imker Andrey

Bron: www.habr.com

Voeg een reactie