SMS-monitering van die gewig van drie byekorwe vir $30

SMS-monitering van die gewig van drie byekorwe vir $30

Nee, dit is nie 'n kommersiële aanbod nie, dit is die koste van die stelselkomponente wat u kan saamstel nadat u die artikel gelees het.

Bietjie agtergrond:

'N Ruk gelede het ek besluit om bye te kry, en hulle het verskyn ... vir die hele seisoen, maar het nie die winter verlaat nie.
En dit ten spyte van die feit dat dit gelyk het of hy alles reg doen - herfs-aanvullende kos, warm voor die koue.
Die korf was 'n klassieke houtstelsel "Dadan" vir 10 rame van 'n 40 mm-bord.
Maar daardie winter het selfs ervare byeboere weens temperatuurwisselings baie meer as gewoonlik verloor.

Dit is hoe die idee van 'n korfgesondheidsmoniteringstelsel ontstaan ​​het.
Nadat ek verskeie artikels oor Habr gepubliseer het en op die byeboerforum gepraat het, het ek besluit om van eenvoudig na kompleks te gaan.
Gewig is die enigste onbetwisbare parameter, maar as 'n reël monitor bestaande stelsels slegs een "verwysings"-korf.
As iets daarmee verkeerd loop (byvoorbeeld swermvertrek, bysiekte), dan raak die aanwysers irrelevant.

Daarom is besluit om die verandering in die gewig van drie korwe gelyktydig met een mikrobeheerder te monitor, en daarna ander "goeters" by te voeg.
Gevolglik het ons 'n outonome stelsel gekry met 'n bedryfstyd van ongeveer 'n maand op 'n enkele 18650 batterylading en stuur statistieke een keer per dag.
Ek het probeer om die ontwerp soveel as moontlik te vereenvoudig, sodat dit selfs sonder diagramme herhaal kan word vanaf een foto.

Die logika van werking is soos volg: by die eerste begin / herstel word die lesings van die sensors wat onder die korwe geïnstalleer is, in die EEPROM gestoor.
Verder, elke dag, na sononder, word die stelsel "wakker", lees die lesings en stuur SMS met 'n verandering in gewig per dag en vanaf die oomblik dat dit aangeskakel is.
Daarbenewens word die waarde van die batteryspanning oorgedra, en wanneer dit tot 3.5V daal, word 'n waarskuwing uitgereik oor die behoefte om te laai, want onder 3.4V skakel die kommunikasiemodule nie aan nie, en die gewiglesings is reeds "sweef". weg”.

“Onthou jy hoe dit alles begin het. Alles was vir die eerste keer en weer.
SMS-monitering van die gewig van drie byekorwe vir $30
Ja, dit was so 'n stel "yster" wat oorspronklik was, alhoewel net rekmeters en drade tot die finale weergawe oorleef het, maar eerste dinge eerste.
Trouens, die kabelbaai is nie nodig nie, dit het net geblyk dieselfde prys te wees as 30m reguit.

As jy nie bang is om 3 smd-LED's en 'n halfhonderd punte van konvensionele (uitset) soldering uitmekaar te haal nie, gaan dan!

Dus, ons benodig die volgende stel toerusting / materiaal:

  1. Arduino Pro Mini 3V
    Jy moet let op die lineêre omskakelaarskyfie - dit moet presies 3.3V wees - op die skyfiemerk KB 33 / LB 33 / DE A10 - die Chinese het iets met my gemors, en die hele bondel
    die borde in die winkel het geblyk te wees met 5-volt-reguleerders en kwarts by 16MHz.
  2. USB-Ttl op die CH340-skyfie - selfs 5-volt is moontlik, maar dan moet die Arduino tydens die firmware van die mikrobeheerder van die GSM-module ontkoppel word om nie laasgenoemde te verbrand nie.
    Borde gebaseer op die PL2303-skyfie werk nie onder Windows 10 nie.
  3. GSM-kommunikasiemodule Goouu Tech IOT GA-6-B of AI-THINKER A-6 Mini.
    Hoekom het jy daar gestop? Neoway M590 - 'n konstruktor wat aparte danse met tamboeryne benodig, GSM SIM800L - het nie van die nie-standaard 2.8V logikavlak gehou nie, wat koördinasie vereis, selfs met 'n drie-volt arduino.
    Boonop het die oplossing van AiThinker minimale kragverbruik (met die stuur van SMS het ek nie 'n stroom bo 100mA gesien nie).
  4. Antenna GSM GPRS 3DBI (in die foto hierbo - 'n reghoekige serp met 'n "stert", om 9 uur)
  5. 'n Beginpakket vir 'n operateur met goeie dekking by jou byeplek.
    Ja, die pakket moet eers in 'n gewone foon geaktiveer word, PIN VERSOEK by die ingang DEAKTIVEER, en die rekening aanvul.
    Nou is daar baie opsies met name soos "Sensor", "IoT" - hulle het 'n effens laer maandelikse fooi.
  6. draaddupont 20cm wyfie-vrou — 3 st. (vir die koppeling van Arduino aan USB-TTL)
  7. 3 stuks. HX711 - ADC vir skale
  8. 6 laaiselle vir gewig tot 50 kg
  9. 15 meter 4-draad telefoonkabel - om gewigmodules met ARDUINO te verbind.
  10. Fotoweerstand GL5528 (belangrik presies dit, met 'n donker weerstand van 1MΩ en 'n ligte weerstand van 10-20kΩ) en twee konvensionele 20k resistors
  11. 'n Stuk dubbelzijdige "dik" band 18x18mm - om die arduino aan die kommunikasiemodule vas te maak.
  12. 18650 batteryhouer en in werklikheid die battery self ~ 2600mAh.
  13. 'n Bietjie was of paraffien (aroma lamp kers-tablet) - vir vogbeskerming HX711
  14. 'n Stuk houtbalk 25x50x300mm vir die basis van die rekmeters.
  15. 'n Dosyn selftappende skroewe met 'n drukwasser 4,2x19 mm om die sensors aan die basis vas te maak.

Die battery kan geneem word van die demontage van skootrekenaars - baie keer goedkoper as 'n nuwe een, en die kapasiteit sal baie groter blyk te wees as dié van die Chinese UltraFire - ek het 1500 teen 450 gekry (dit is vir die vuur 6800 😉

Daarbenewens sal jy nie-krom hande, 'n EPSN-25-soldeerbout, kolofonium en POS-60-soldeer nodig hê.

SMS-monitering van die gewig van drie byekorwe vir $30

5 jaar gelede het ek 'n Sowjet-soldeerbout met 'n kopersteek gebruik (soldeerstasies het nie vir my gewerk nie - ek het dit vir 'n toetsrit geneem en die kring met EPSN voltooi).
Maar na sy mislukking en verskeie Chinese monsteragtige vals (d) bome, het laasgenoemde die naam Sparta gehad - iets so hard soos die naam, opgehou
op 'n produk met 'n termostaat.

So kom ons gaan!

SMS-monitering van die gewig van drie byekorwe vir $30

Om mee te begin, los ons twee LED's uit die GSM-module (die plek waar hulle in 'n oranje ovaal omsirkel is)
Ons plaas die SIM-kaart met kontakblokkies in die gedrukte stroombaanbord, die skuins hoek op die foto word met 'n pyl aangedui.

SMS-monitering van die gewig van drie byekorwe vir $30

Dan voer ons 'n soortgelyke prosedure uit met die LED op die Arduino-bord (ovaal aan die linkerkant van die vierkantige skyfie),
Ons soldeer die kam in vier kontakte (1),
Ons neem twee 20k-weerstande, draai die drade aan die een kant, soldeer die draai in die gat van kontak A5, die oorblywende drade in RAW en GND van die arduino (2),
Ons verkort die bene van die fotoweerstand tot 10 mm en soldeer dit aan die GND- en D2-penne van die bord (3).

Nou is dit tyd vir die blou elektriese band van dubbelzijdige kleefband - ons plak dit op die houer van die SIM-kaart van die kommunikasiemodule, en bo-op - die arduino - die rooi (silwer) knoppie na ons toe en is bo die SIM-kaart.

Ons soldeer die krag: plus van die kapasitor van die kommunikasiemodule (4) na die RAW arduino-pen.
Die feit is dat die kommunikasiemodule self 3.4-4.2V vir sy kragtoevoer benodig, en sy PWR-kontak is gekoppel aan 'n afwaartse omsetter, dus om van li-ion te werk, moet spanning verskaf word deur hierdie deel van die stroombaan te omseil.

In arduino, inteendeel, verskaf ons krag deur 'n lineêre omsetter - by lae stroomverbruik is die uitvalspanningsval 0.1V.
Maar deur 'n gestabiliseerde spanning op die HX711-modules toe te pas, raak ons ​​ontslae van die behoefte om hulle te verander vir 'n laer spanning (en terselfdertyd van toenemende geraas as gevolg van hierdie operasie).

Dan soldeer ons die springers (5) tussen die PWR-A1-, URX-D4- en UTX-D5-kontakte, die GND-G-grond (6) en laastens die kragtoevoer van die 18650-batteryhouer (7), verbind die antenna (8) ).
Nou neem ons 'n USB-TTL-omskakelaar en koppel die RXD-TXD- en TXD-RXD, GND-GND-kontakte met Dupont-drade aan ARDUINO (kam 1):

SMS-monitering van die gewig van drie byekorwe vir $30

Die foto hierbo toon die eerste weergawe (uit drie) van die stelsel wat vir ontfouting gebruik is.

En nou sal ons vir 'n rukkie van die soldeerbout afwyk, en aanbeweeg na die sagteware-deel.
Ek sal die volgorde van aksies vir Windows beskryf:
Eerstens moet jy die program aflaai en installeer/uitpak Arduino IDE - die huidige weergawe is 1.8.9, maar ek gebruik 1.6.4

Vir eenvoud pak ons ​​die argief uit in die C: arduino-"your_version number"-lêergids, binne-in sal ons /dist, drywers, voorbeelde, hardeware, java, lib, biblioteke, verwysing, gereedskap dopgehou, sowel as die arduino uitvoerbare lêer hê (onder andere).

Nou het ons 'n biblioteek nodig om met die ADC te werk HX711 - groen knoppie "kloon of aflaai" - laai zip af.
Die inhoud (vouer HX711-master) word in die C: arduino-"your_version_number" libraries gids geplaas

En natuurlik, die bestuurder vir USB-TTL vanaf dieselfde github - vanaf die uitgepakte argief word die installasie eenvoudig deur die SETUP-lêer geloods.

Ok, hardloop en konfigureer die program C: arduino-"your_version number" arduino

SMS-monitering van die gewig van drie byekorwe vir $30

Ons gaan na die "Tools" item - kies die "Arduino Pro of Pro Mini" bord, Atmega 328 3.3V 8 MHz verwerker, poort - 'n nommer anders as die stelsel COM1 (dit verskyn na die installering van die CH340 bestuurder met 'n USB-TTL adapter gekoppel)

Ok, kopieer die volgende skets (program) en plak dit in die 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);

  }

}

In die eerste reël, in aanhalingstekens char phone_no[]="+123456789012"; - in plaas van 123456789012 plaas ons ons telefoonnommer met die landkode waarna SMS gestuur sal word.

Nou druk ons ​​die tjekknoppie (bo die nommer een in die skermkiekie hierbo) - as onder (onder die drie op die skerm) "Samestelling is voltooi" - dan kan ons die mikrobeheerder flits.

Dus, USB-TTL is gekoppel aan ARDUINO en 'n rekenaar, ons sit 'n gelaaide battery in die houer (gewoonlik op 'n nuwe arduino begin die LED teen 'n frekwensie van een keer per sekonde flikker).

Nou die firmware - ons oefen om die rooi (silwer) knoppie van die mikrobeheerder te druk - dit sal streng op 'n sekere oomblik gedoen moet word !!!
Eet? Klik op die "Laai op"-knoppie (bo die twee in die skermkiekie), en kyk noukeurig na die lyn onderaan die koppelvlak (onder die drie van die skerm).
Sodra die inskripsie "samestelling" vervang word deur "laai" - druk die rooi knoppie (reset) - as alles in orde is - flikker die ligte op die USB-TTL-adapter vrolik, en onderaan die koppelvlak die inskripsie "Loaded "

Nou, terwyl ons wag vir die toets-SMS om op die telefoon te kom, sal ek jou vertel hoe die program werk:

SMS-monitering van die gewig van drie byekorwe vir $30

Op die foto - die tweede weergawe van die ontfoutingstand.

Wanneer dit die eerste keer aangeskakel word, kontroleer die stelsel grepe nommer 500 en 501 van die EEPROM, as hulle gelyk is, word die kalibrasiedata nie geskryf nie, en die algoritme gaan voort na die opstelafdeling.
Dieselfde ding gebeur as, wanneer dit aangeskakel word, die fotoweerstand ingekleur is (met 'n pendop) - die terugstelmodus is geaktiveer.

Die lasselle moet reeds onder die korwe geïnstalleer word, aangesien ons eenvoudig die aanvanklike vlak van nul regmaak en dan die verandering in gewig meet (nou sal dit net nulle kom, aangesien ons nog niks gekoppel het nie).
Terselfdertyd sal die ingeboude LED van pen 13 op die Arduino flikker.
As geen terugstelling plaasvind nie, brand die LED vir 12 sekondes.
Daarna word 'n toets-SMS gestuur met die boodskap "INITIAL BOOT OK" en die batteryspanning.
Die kommunikasiemodule skakel af, en na 3 minute plaas die Arduino-bord die HX711 ADC-borde in slaapmodus en raak vanself aan die slaap.
So 'n vertraging word gemaak om nie bakkies van 'n werkende GSM-module te vang nie (nadat dit afgeskakel is, "foniteer" dit vir 'n geruime tyd).

Vervolgens het ons 'n fotosensor-onderbreking op die tweede pen (positiewe pullup is geaktiveer met die pullup-funksie).
Terselfdertyd, nadat dit vir nog 3 minute geaktiveer is, word die toestand van die fotoweerstand nagegaan - om herhaalde / vals positiewe uit te sluit.
Sonder enige aanpassing werk die stelsel 10 minute ná astronomiese sonsondergang in bewolkte weer en 20 minute later in helder weer.
Ja, sodat die stelsel nie elke keer herstel as dit aangeskakel word nie, moet ten minste die eerste HX711-module gekoppel word (penne DT-D10, SCK-A0)

Dan word die lesings van die las selle geneem, die verandering in gewig word bereken vanaf die vorige bewerking (die eerste nommer in die reël na Hive) en vanaf die eerste insluiting word die batteryspanning nagegaan en hierdie inligting word gestuur in die vorm van SMS:

SMS-monitering van die gewig van drie byekorwe vir $30

Terloops, het jy 'n SMS gekry? Baie geluk! Ons is in die middel van die pad! Die battery kan steeds uit die houer verwyder word, ons sal nie die rekenaar verder nodig hê nie.

Terloops, die sendingbeheersentrum het so kompak geblyk dat dit in 'n mayonnaise-fles kan pas, in my geval pas 'n deurskynende boks 30x60x100mm groot (van besigheidskaartjies) perfek.

Ja, die slaapstelsel verbruik ~2.3mA - 90% as gevolg van die kommunikasiemodule - dit skakel nie heeltemal af nie, maar gaan in bystandmodus.

SMS-monitering van die gewig van drie byekorwe vir $30

Ons gaan voort met die vervaardiging van sensors, vir 'n begin, kom ons raak aan die uitleg van die sensors:

SMS-monitering van die gewig van drie byekorwe vir $30

Dit is die plan van die korf - boaansig.

Klassiek is 4 sensors in die hoeke geïnstalleer (1,2,3,4)

Ons sal anders meet. Of liewer, selfs op 'n derde manier. Want die ouens van BroodMinder doen dit anders:

SMS-monitering van die gewig van drie byekorwe vir $30

In hierdie ontwerp word die sensors by posisies 1 en 2 geïnstalleer, punte 3,4 en XNUMX rus op die balk.
Dan maak die sensors net die helfte van die gewig uit.
Ja, hierdie metode het minder akkuraatheid, maar dit is steeds moeilik om te dink dat die bye al die rame met "tonge" heuningkoeke langs een muur van die korf opgebou het.

So, ek stel voor om die sensors oor die algemeen tot punt 5 te verminder - dan is dit nie nodig om die stelsel te beskerm nie, en wanneer jy ligte korwe gebruik, kan jy enigsins met een sensor doen.

SMS-monitering van die gewig van drie byekorwe vir $30

Oor die algemeen is twee tipes modules op die HX711 getoets, twee tipes sensors, en twee opsies vir hul verbinding - met 'n volle Wheatstone-brug (2 sensors) en met 'n halwe, wanneer die tweede deel aangevul word met 1k resistors met 'n toleransie van 0.1%.
Maar laasgenoemde metode is ongewens en word nie eers deur sensorvervaardigers aanbeveel nie, so ek sal slegs die eerste een beskryf.

Dus, op een korf sal ons twee lasselle en een HX711-module installeer, die bedradingsdiagram is soos volg:

SMS-monitering van die gewig van drie byekorwe vir $30

Van die ADC-bord na die arduino is daar 5 meter van 'n 4-kern telefoonkabel - ons onthou hoe bye nie van GSM-toestelle in die korf hou nie.

Oor die algemeen laat ons "sterte" van 8 cm op die sensors, maak die gedraaide paar skoon en los alles los soos in die foto hierbo.

Voordat jy begin met die skrynwerk, sit die was/paraffien in 'n geskikte houer om in 'n waterbad te smelt.

Nou neem ons ons hout en verdeel dit in drie segmente van 100 mm elk

Vervolgens merk ons ​​'n langsgroef 25 mm breed, 7-8 mm diep, gebruik 'n ystersaag en 'n beitel om die oortollige te verwyder - 'n U-vormige profiel moet uitkom.

Het die was opgewarm? - ons doop ons ADC-borde daar - dit sal hulle teen vog / mis beskerm:

SMS-monitering van die gewig van drie byekorwe vir $30

Ons plaas dit alles op 'n houtbasis (dit is nodig om dit met 'n antiseptiese middel van verval te behandel):

SMS-monitering van die gewig van drie byekorwe vir $30

En laastens maak ons ​​die sensors vas met selftappende skroewe:

SMS-monitering van die gewig van drie byekorwe vir $30

Daar was 'n ander opsie met blou elektriese band, maar om menslikheidsredes bring ek dit nie op nie 😉

Van die Arduino-kant, doen die volgende:

Ons maak ons ​​telefoonkabels skoon, draai die gekleurde drade saam, speel toertjies.

Soldeer daarna aan die kontakte van die bord soos op die foto:

SMS-monitering van die gewig van drie byekorwe vir $30

Dit is dit, nou vir die finale tjek, sit ons die sensors in die sektore van die sirkel, bo-op - 'n stuk laaghout, stel die beheerder terug (ons sit die battery met 'n pendop op die fotodiode).

Terselfdertyd moet die LED op die arduino flikker en 'n toets-SMS moet kom.

Dan haal ons die doppie van die fotosel af, en gaan haal water in 'n 1.5 liter plastiekbottel.
Ons sit die bottel op laaghout en as 'n paar minute reeds verby is nadat dit aangeskakel is, sit ons die doppie terug op die fotoweerstand (naboots 'n sonsondergang).

Na drie minute sal die LED op die arduino brand, en jy behoort 'n SMS te ontvang met gewigswaardes van ongeveer 1 kg in alle posisies.

Baie geluk! die stelsel is suksesvol saamgestel!

As ons nou die stelsel dwing om weer te werk, sal nulle in die eerste kolom van die gewig verkry word.

Ja, in werklike toestande is dit wenslik om die fotoweerstand vertikaal opwaarts te oriënteer.

Nou sal ek 'n kort handleiding gee vir gebruik:

  1. Installeer laaiselle onder die agterwande van die korwe (vervang 'n balk / bord ~ ​​30 mm dik onder die voorste)
  2. Beskerm die fotoweerstand en sit die battery in - die LED moet flikker en 'n toets-SMS moet kom met die teks "INITIAL BOOT OK"
  3. Plaas die sentrale blok op die maksimum afstand van die korwe en sodat die drade nie inmeng wanneer met bye gewerk word nie.
    Elke aand, na sononder, sal SMS kom met 'n verandering in gewig per dag en sedert die bekendstelling.
    Wanneer die batteryspanning 3.5V bereik, sal die SMS eindig met die lyn “!!! LAA BATTERY!!!"
    Die werkstyd van een battery met 'n kapasiteit van 2600mAh is ongeveer 'n maand.
    In die geval van 'n batteryvervanging, word die daaglikse gewigsveranderinge van die korwe nie gememoriseer nie.

Wat is volgende?

  1. Vind uit hoe om dit alles in 'n projek vir github te rangskik
  2. Het 3 byekolonies in die korwe van die Palivoda-stelsel (of horings in die mense)
  3. Voeg "broodjies" by - meting van humiditeit, temperatuur, en die belangrikste - ontleding van die gegons van bye.

Dit is al vir nou, opreg die uwe, elektriese byeboer Andrey

Bron: will.com

Voeg 'n opmerking