
Jo, kjo nuk është një ofertë komerciale, kjo është çmimi i komponentëve të sistemit që ju mund ta përgatisni pasi të lexoni artikullin.
Pak historik:
Disa kohë më parë vendosa të rrija bletë, dhe ato erdhën... për një sezon të tërë, por nuk dolën nga dimri.
Dyka kjo ndodhi pavarësisht se dukeshin se po bënja gjithçka siç duhet – ushqimi dimëror, izolimi përpara ngricave.
Uji ishte një sistem klasik druri "Dadant" me 10 korniza nga plywood 40-mm.
Por atë dimër për shkak të ndërrimeve të temperaturës, madje bletarët më me përvojë humbën shumë më tepër se zakonisht.
Kështu erdhi ideja për një sistem monitorimi të gjendjes së ujit.
Pas publikimit të disa artikujve në Habr dhe bisedimeve në forumet e bletarëve, vendosa të kaloj nga e thjeshta te e komplikuara.
Pesha është parametrin i vetëm të pakontestueshëm, por zakonisht, sistemet ekzistuese monitorojnë vetëm një "u", referent.
Nëse me të ndodh diçka (për shembull, dalja e rojeve, sëmundja e beshkut), të dhënat bëhen të pavlefshme.
Prandaj vendosa të ndjek ndryshimin e pesha të tre ujëra me një mikro kontroler, dhe "gjërat" e tjera t'i shtoj më vonë.
Përfundimisht, doli një sistem autonom me një jetëgjatësi prej rreth një muaji me një karikim të vetëm të baterisë 18650 dhe dërgimin e statistikave një herë në ditë.
Struktura e përpiqesha ta thjeshtoj maksimalisht, për ta përgatitur edhe pa skema, duke përdorur vetëm fotografi.
Logjika e funksionimit është si vijon: në startin e parë/dëmtimit ruhen në EEPROM të dhënat e sensorëve të vendosur nën ujë.
Pastaj, çdo ditë, pas perëndimit, sistemi "zgjohet", lexon të dhënat dhe dërgon një SMS me ndryshimin e pesha për 24 orë dhe nga momenti i ndezjes.
Për më tepër, dërgohet vlera e tensionit të baterisë, dhe kur ul vlerën nën 3.5V, jepet një paralajmërim për nevojën e karikimit, pasi nën 3.4V moduli i lidhjes nuk ndez, dhe të dhënat e pesha fillojnë të "shklyhen".
"A e mban mend si filloi gjithçka. Çdo gjë ishte hera e parë dhe përsëri."

Po, ky ishte seti i parë i "hekurudhave", por deri në versionin përfundimtar arritën vetëm sensorët tendenciozë dhe kabllot, por gjithçka në rend.
Në të vërtetë, një rimë kablli nuk do të nevojitet, thjesht ajo doli aq e shtrenjtë sa 30m në prerje.
Nëse nuk ju frikëson demontimi i 3 SMD LED dhe gjysmëqindra pikë të zakonshme (përfundim) - atëherë shko përpara!
Pra, na nevojiten një set i till i pajisjeve/materialeve:
- Arduino Pro Mini 3V
Duhet të keni parasysh mikroçipin e konvertorëve lineare - ai duhet të jetë pikërisht 3.3V - në mikroçipin me shenjën KB 33/LB 33/DE A10 - kam bërë ndonjë gabim dhe gjithanë partia
e pllakave në dyqan doli me rregullatorë 5-voltesh dhe kristale në 16MHz. - USB-Ttl me mikroçipin CH340 - mund të përdorni edhe një 5-voltesh, por atëherë gjatë programimit të mikroproçesorit, Arduino duhet të shkëputet nga moduli GSM, për të mos e djegur atë.
Pllakat me mikroçipin PL2303 nuk funksionojnë në Windows 10. - Moduli i komunikimit GSM Goouu Tech IOT GA-6-B ose AI-THINKER A-6 Mini.
Pse u ndala te ai? Neoway M590 - një konstruksion që kërkon disa kërcime me ritmin, GSM SIM800L - nuk më pëlqeu niveli i logjikës 2.8V, që kërkon harmonizim edhe me Arduino-n trevoltesh.
Për më tepër, zgjidhja nga AiThinker ka konsum minimal energjie (në dërgimin e SMS-ve nuk kam parë kurrë më shumë se 100mA). - Antena GSM GPRS 3DBI (në foto më lart - një pllakë drejtkëndëshe me «bishtin», në orën 9)
- Paketa fillestare e operatorit që ka mbulim të mirë në vendin ku ndodhet bletaria juaj.
Po, paketa duhet të aktivizohet paraprakisht në një telefon të zakonshëm, TEKLIK DËRZIMIN PIN gjatë hyrit, dhe të mbushni llogarinë.
Tani ka shumë opsione me emra si«Sensor», «IoT» - ata kanë disa tarifa më të ulëta. - 3 copë kabllo dupont 20cm mama-mama - 3 copë (për lidhjen e Arduino me USB-TTL)
- 3 copë HX711 - ADC për pesha
- 6 sensorë të tensionit për peshë deri në 50kg
- 15 metra kabllo telefonike me 4 fije - për lidhjen e modulëve të peshës me ARDUINO.
- Fotorezistori GL5528 (është e rëndësishme të jetë ky saktësisht, me rezistencë të errët 1MΩ dhe të ndritshme 10-20kΩ) dhe dy rezistorë të zakonshëm 20k
- Një copë skotch dyanshëm «të trashë» 18x18mm - për të mbajtur Arduino me modulin e komunikimit.
- Mbajtësi i baterive 18650 dhe, natyrisht, vetë bateria ~2600mAh.
- Pak dylli ose parafine (dija e një qiriri - llamba aromatike) - për mbrojtjen nga lagështia të HX711
- Një copë druri 25x50x300mm për bazën e sensorëve të tensionit.
- Një duzinë vidash me presh 4.2x19 mm për të mbajtur sensorët në bazë.
Baterinë mund ta merrni nga laptopët e prishur - shumë më lirë se një e re, dhe kapaciteti do të jetë shumë më i lartë se ai i UltraFire të Kinës - unë kam pasur 1500 përballë 450 (kjo është nga fire 6800 😉
Përveç kësaj, do t'ju nevojiten duar të drejta, një bakri EPSN-25, fluks dhe tel POS-60.

Pesë vjet më parë, unë përdorja një hekur të saj për ngjitje me majë bakri (nuk më pëlqenin stacionet për ngjitje — i provova për testim dhe përfundova me skemën EPSN).
Por pas prishjes së tij dhe disa montimeve të tmerrshme kineze, e fundit kishte emrin Sparta — një gjë po aq e fortë sa emri, ndalova
në një produkt me termoregulator.
Pra, le të fillojmë!

Së pari, hiqni dy LED nga moduli GSM (vendin ku ishin duke u treguar me një ellips të kuq).
Vendosim kartën SIM me kontaktet drejt pllakës printuese, qoshen e prerë në foto e tregon të стрелка.

Pastaj, kryejmë një procedurë të ngjashme me LED-in në pllakën Arduino (ellipsi majtas nga çipi katror),
Lyejmë një grumbull me katër kontakte (1),
Marrim dy rezistorë 20k, rrotullojmë daljet nga njëra anë, ngjitim rrotullimin në vrimën e kontaktit A5, daljet e mbetura në RAW dhe GND të arduinos (2),
I shkurtojmë këmbët e fotorezistorit deri në 10mm dhe e lidhim atë me daljet GND dhe D2 të pllakës (3).
Tani ka ardhur koha për ngjitësin e blu me dy anë — e ngjisim atë në mbajtësin e kartës SIM të modulit të lidhjes, ndërsa sipër — Arduino — butoni ndriçues është drejtuar ndaj nesh dhe ndodhet mbi SIM.
Ngjisim energjinë: plusi nga kondensatori i modulit të lidhjes (4) në kontaktin RAW të arduinos.
E vërteta është se moduli i lidhjes kërkon një tension prej 3.4-4.2V për energjinë e tij, dhe kontakti i tij PWR është lidhur me një konvertues të rënies, kështu që për të punuar nga li-ion, tensioni duhet të jepet duke kaluar këtë pjesë të qarkut.
Në Arduino, përkundrazi, ne furnizojmë energinë përmes një konvertuesi linear — në tela të ulët, rënia e tensionit drop-out është 0.1V.
Por duke dhënë tension të stabilizuar për modulet HX711, ne heqim nevojën për ndonjë përmirësim për tension më të ulët (dhe po ashtu për të shmangur rritjen e zhurmës si rezultat i këtij operacioni).
Pastaj ngjisim lidhjet (5) ndërmjet kontakteve PWR-A1, URX-D4 dhe UTX-D5, 'tokën' GND-G (6) dhe përfundimisht energjinë nga mbajtësi i baterive 18650 (7), lidhim antenën (8).
Tani marrim një konvertues USB-TTL dhe e lidhim me kabujt Dupont me ARDUINO (grumbulli 1) kontakte RXD-TXD dhe TXD-RXD, GND-GND:

Në foton e mësipërme — edhe versioni i parë (nga tre) i sistemit që u përdor për debugging.
Tani për një periudhë do të largohemi nga hekurat, dhe do të kalojmë në pjesën programore.
Do të përshkruaj sekuencën e veprimeve për Windows:
Së pari, duhet të shkarkoni dhe instaloni/zgjidhni programin — versioni aktual është — 1.8.9, por unë përdor 1.6.4
Për lehtësinë e përdorimit, unziponi arkivin në dosjen C:arduino-«numri_i_versionit_t tuaj», brenda do të kemi dosjet /dist, drivers, examples, hardware, java, lib, libraries, reference, tools, si dhe skedarin ekzekutiv arduino (përveç të tjerave).
Tani na nevojitet një bibliotekë për punën me ADC — butoni jeshil «clone or download» — download ZIP.
Përmbajtja (dosja HX711-master) vendoset në katalogun C:arduino-«numri_i_versionit_t tuaj»libraries
Sigurisht, na nevojitet gjithashtu driveri për nga github — nga arkivi i zgjidhur, mjafton të ekzekutoni skedarin SETUP.
Ok, fillojmë dhe konfigurojmë programin në C:arduino-«numri_i_versionit_t tuaj»arduino

Shkoni në seksionin «Mjetet»-zgjidhni pllakën «Arduino Pro ose Pro Mini», procesori Atmega 328 3.3V 8 MHz, porta — numri përveç sistemit COM1 (ai shfaqet pas instalimit të driverit CH340 kur përcjellësi USB-TTL është i lidhur)
Ok, kopjoni sketch (programin) e mëposhtëm dhe ngjitni në dritaren e Arduino IDE
char phone_no[]="+123456789012"; // Your phone number that receive SMS with counry code
#include <avr/sleep.h> // ARDUINO sleep mode library
#include <SoftwareSerial.h> // Sofrware serial library
#include "HX711.h" // HX711 lib. https://github.com/bogde/HX711
#include <EEPROM.h> // EEPROM lib.
HX711 scale0(10, 14);
HX711 scale1(11, 14);
HX711 scale2(12, 14);
#define SENSORCNT 3
HX711 *scale[SENSORCNT];
SoftwareSerial mySerial(5, 4); // Set I/O-port TXD, RXD of GSM-shield
byte pin2sleep=15; // Set powerON/OFF pin
float delta00; // delta weight from start
float delta10;
float delta20;
float delta01; // delta weight from yesterday
float delta11;
float delta21;
float raw00; //raw data from sensors on first start
float raw10;
float raw20;
float raw01; //raw data from sensors on yesterday
float raw11;
float raw21;
float raw02; //actual raw data from sensors
float raw12;
float raw22;
word calibrate0=20880; //calibration factor for each sensor
word calibrate1=20880;
word calibrate2=20880;
word daynum=0; //numbers of day after start
int notsunset=0;
boolean setZero=false;
float readVcc() { // Read battery voltage function
long result1000;
float rvcc;
result1000 = analogRead(A5);
rvcc=result1000;
rvcc=6.6*rvcc/1023;
return rvcc;
}
void setup() { // Setup part run once, at start
pinMode(13, OUTPUT); // Led pin init
pinMode(2, INPUT_PULLUP); // Set pullup voltage
Serial.begin(9600);
mySerial.begin(115200); // Open Software Serial port to work with GSM-shield
pinMode(pin2sleep, OUTPUT);// Itit ON/OFF pin for GSM
digitalWrite(pin2sleep, LOW); // Turn ON modem
delay(16000); // Wait for its boot
scale[0] = &scale0; //init scale
scale[1] = &scale1;
scale[2] = &scale2;
scale0.set_scale();
scale1.set_scale();
scale2.set_scale();
delay(200);
setZero=digitalRead(2);
if (EEPROM.read(500)==EEPROM.read(501) || setZero) // first boot/reset with hiding photoresistor
//if (setZero)
{
raw00=scale0.get_units(16); //read data from scales
raw10=scale1.get_units(16);
raw20=scale2.get_units(16);
EEPROM.put(500, raw00); //write data to eeprom
EEPROM.put(504, raw10);
EEPROM.put(508, raw20);
for (int i = 0; i <= 24; i++) { //blinking LED13 on reset/first boot
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
}
else {
EEPROM.get(500, raw00); // read data from eeprom after battery change
EEPROM.get(504, raw10);
EEPROM.get(508, raw20);
digitalWrite(13, HIGH); // turn on LED 13 on 12sec.
delay(12000);
digitalWrite(13, LOW);
}
delay(200); // Test SMS at initial boot
//
mySerial.println("AT+CMGF=1"); // Send SMS part
delay(2000);
mySerial.print("AT+CMGS="");
mySerial.print(phone_no);
mySerial.write(0x22);
mySerial.write(0x0D); // hex equivalent of Carraige return
mySerial.write(0x0A); // hex equivalent of newline
delay(2000);
mySerial.println("INITIAL BOOT OK");
mySerial.print("V Bat= ");
mySerial.println(readVcc());
if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
delay(500);
mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
delay(3000);
//
raw02=raw00;
raw12=raw10;
raw22=raw20;
//scale0.power_down(); //power down all scales
//scale1.power_down();
//scale2.power_down();
}
void loop() {
attachInterrupt(0, NULL , RISING); // Interrupt on high lewel
set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Set ARDUINO sleep mode
digitalWrite(pin2sleep, HIGH); // Turn OFF GSM-shield
delay(2200);
digitalWrite(pin2sleep, LOW); // Turn OFF GSM-shield
delay(2200);
digitalWrite(pin2sleep, HIGH);
digitalWrite(13, LOW);
scale0.power_down(); //power down all scales
scale1.power_down();
scale2.power_down();
delay(90000);
sleep_mode(); // Go to sleep
detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt
notsunset=0;
for (int i=0; i <= 250; i++){
if ( !digitalRead(2) ){ notsunset++; } //is a really sunset now? you shure?
delay(360);
}
if ( notsunset==0 )
{
digitalWrite(13, HIGH);
digitalWrite(pin2sleep, LOW); // Turn-ON GSM-shield
scale0.power_up(); //power up all scales
scale1.power_up();
scale2.power_up();
raw01=raw02;
raw11=raw12;
raw21=raw22;
raw02=scale0.get_units(16); //read data from scales
raw12=scale1.get_units(16);
raw22=scale2.get_units(16);
daynum++;
delta00=(raw02-raw00)/calibrate0; // calculate weight changes
delta01=(raw02-raw01)/calibrate0;
delta10=(raw12-raw10)/calibrate1;
delta11=(raw12-raw11)/calibrate1;
delta20=(raw22-raw20)/calibrate2;
delta21=(raw22-raw21)/calibrate2;
delay(16000);
mySerial.println("AT+CMGF=1"); // Send SMS part
delay(2000);
mySerial.print("AT+CMGS="");
mySerial.print(phone_no);
mySerial.write(0x22);
mySerial.write(0x0D); // hex equivalent of Carraige return
mySerial.write(0x0A); // hex equivalent of newline
delay(2000);
mySerial.print("Turn ");
mySerial.println(daynum);
mySerial.print("Hive1 ");
mySerial.print(delta01);
mySerial.print(" ");
mySerial.println(delta00);
mySerial.print("Hive2 ");
mySerial.print(delta11);
mySerial.print(" ");
mySerial.println(delta10);
mySerial.print("Hive3 ");
mySerial.print(delta21);
mySerial.print(" ");
mySerial.println(delta20);
mySerial.print("V Bat= ");
mySerial.println(readVcc());
if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
delay(500);
mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
delay(3000);
}
}
Në rreshtin e parë, në thonjëza char phone_no[]=»+123456789012″; — në vend të 123456789012 vendosni numrin tuaj të telefonit me kodin e vendit, në të cilin do të arrijnë SMS-të.
Tani shtypni butonin kontrolloni (mbi numrin një në screenshotin e mësipërm) — nëse poshtë (nën numrin tre në screenshot) shkruan «Kompilimi përfundoi» — atëherë mund të programoni mikroprocesorin.
Pra, USB-TTL është lidhur me ARDUINO dhe kompjuterin, vendosni një bateri të shkarkuar në mbajtëse (zakonisht në Arduino të re, drita LED fillon të ndriçojë me një frekuencë prej një herë në sekondë).
Tani programimi — stërvituni të shtypni butonin e kuq (të argjendtë) të mikroprocesorit — kjo duhet të bëhet pikërisht në një moment të caktuar!!!
E keni? Shtypni butonin «Ngarko» (mbi numrin dy në screenshot), dhe shikoni me kujdes rreshtin në fund të ndërfaqes (poshtë numrit tre të screenshotit).
Sapo shkronja «kompilimi» të ndryshojë në «ngarkim» — shtypni butonin e kuq (reset) — nëse gjithçka është në rregull — dritat mbi përcjellësin USB-TTL kanë filluar të ndriçojnë me gëzim, dhe poshtë ndërfaqes shfaqet shkronja «Ngarkuar»
Ndërkohë që presim ardhjen e SMS-së provuese në telefon, do t'ju tregoj se si funksionon programi:

Në foto — versioni i dytë i qëndresës së debukut.
Kur ndizet për herë të parë, sistemi përputh bajtët numër 500 dhe 501 të EEPROM, nëse ato janë të barabarta, kjo do të thotë që të dhënat e kalibrimit nuk janë regjistruar, dhe algoritmi kalon në seksionin e konfigurimit.
E njëjtë ndodh nëse kur ndizet fotorezistori është i mbuluar (me kapakun e stilolapsit) — aktivizohet mënyra e rivendosjes së parametrave.
Sensorët e tërheqjes duhet të jenë tashmë të instaluar nën pula, sepse ne thjesht regjistrojmë nivelin fillestar të zeros dhe më pas matim ndryshimin e peshës (tani thjesht do të vijnë zeros, pasi nuk kemi lidhur asgjë deri tani).
Në Arduino, kjo do të bëjë që dioda LED e ndërtuar në pinin 13 të fillojë të ndriçojë.
Nëse rivendosja nuk ndodh, dioda LED ndizet për 12 sekonda.
Pas kësaj, dërgohet një SMS testues me mesazhin «INITIAL BOOT OK» dhe tensionin e baterisë.
Moduli i komunikimit çaktivizohet, dhe pas 3 minutash, tabla Arduino kalon tabelat ADC HX711 në mënyrë gjumi dhe gjithashtu jepet në gjumë.
Kjo vonesë është bërë për të mos kapur zhurmat nga moduli GSM në punë (pas çaktivizimit, ai për një kohë të shkurtër «në pagjumësi»).
Më pas, kemi një ndërprerje të aktivizuar nga fotodetektori në pinin e dytë (përfshihet ngarkimi i plusit me funksionin pullup).
Në këtë rast, pas aktivizimit, kontrollohet gjendja e fotorezistorit për 3 minuta — për të shmangur aktivizime të përsëritura/false.
Ajo që është karakteristike, pa ndonjë konfigurim, sistemi aktivizohet pas 10 minutash nga perëndimi astronomik në mot të mjegullt dhe pas 20 në mot të qartë.
Po, për të siguruar që sistemi të mos bëjë një rivendosje në çdo ndezje, duhet të lidhet të paktën moduli i parë HX711 (pinat DT-D10, SCK-A0).
Pastaj, merren leximet e sensorëve të peshës, llogaritet ndryshimi i peshës nga aktivizimi i mëparshëm (numri i parë në rresht pas Hive) dhe nga ndezja e parë, kontrollohet tensioni i baterisë dhe kjo informacion dërgohet si SMS:

Nga ana tjetër, e morët SMS? Urime! Jemi në mes të rrugës! Baterinë mund ta nxirrni nga mbajtësi, kompjuteri nuk na nevojitet më tej.
Për të thënë të vërtetën, qendra e menaxhimit të fluturimeve doli aq kompakte, saqë mund të vendoset në një kavanoz majoneze, në rastin tim një kuti gjysmë të tejdukshme me madhësi 30x60x100mm (nga vizitkartat) është perfekte.
Po, sistemi i fjetur konsumon ~2.3mA — 90% për shkak të modulit të komunikimit — ai nuk çaktivizohet plotësisht, por kalon në modalitetin në pritje.

Le të fillojmë me prodhimin e sensorëve, të fillojmë me diagramin e pozicionit të sensorëve:

Ky është plani i koshi — pamje nga lart.
Klasikisht, vendosen 4 sensorë në qoshet (1,2,3,4)
Ne do të matim ndryshe. Saktësisht, madje në mënyrë të tretë. Sepse ndryshe veprojnë djemtë nga BroodMinder:

Në këtë konstruksion sensorët janë vendosur në pozitat 1 dhe 2, pikët 3 dhe 4 mbështeten në bllok.
Atëherë mbi sensorë bie vetëm gjysma e peshës.
Po, kjo metodë ka saktësi më të ulët, por megjithatë është e vështirë të imagjinohet se bletët do të mbushnin të gjitha kornizat me «gjuhë» blete përgjatë një ane të koshi.
Pra, unë propozoj që të gjithë sensorët t’i reduktojmë në pikën 5 — kështu bie nevoja për mbulesën e sistemit, dhe në rastin e përdorimit të kosheve të lehta mund të mjaftohet me një sensor të vetëm.

Në përgjithësi, janë kontrolluar dy lloje modulash në HX711, dy lloje sensorësh dhe dy opsione për lidhjen e tyre — me urën e plotë të Whitstonit (2 sensorë) dhe me gjysmën, kur pjesa e dytë plotësohet me rezistenca 1k me tolerancë 0.1%.
Por mënyra e fundit nuk është e dëshirueshme dhe nuk rekomandohet as nga prodhuesit e sensorëve, prandaj do të përshkruaj vetëm të parën.
Pra, për një koshi do të instalojmë dy senzora tenzometrikë dhe një modul HX711, skema e lidhjes është si në vijim:

Nga tabla ADC deri te Arduino shkon një kabllo telefonike me gjatësi 5 metra dhe 4 fije — .
Në përgjithësi, lëmë «bishtat» e sensorëve me gjatësi 8 cm, pastaj pastroni çiftin e twistë dhe lidhim gjithçka siç shihet në foton e mësipërme.
Para se të filloni pjesën e marangozërisë, vendosni dylli/parafina në një enë të përshtatshme për t’u shkrirë në një banjë uji.
Tani marrim bllokun tonë dhe e ndajmë në tre pjesë prej 100 mm.
Më pas shënojmë një çarje të gjatë me gjerësi 25 mm, thellësi 7-8 mm, duke përdorur një sharrë dhe çekiç, heqim të tepërtat — duhet të dalë një profil në formë P.
A është dylli shkrirë? — e zhysim aty tabllat tona ADC — kjo do t’i mbrojë ato nga lagështia/mjegulla:

E vendosim gjithçka mbi një bazë druri (duhet të trajtohet me antiseptik për të parandaluar kalbjen):

Dhe së fundmi, fixojmë sensorët me vida:

Ishin edhe një variant me teip blu, por për arsye humane nuk e jap atë 😉
Nga ana e Arduinos bëjmë si më poshtë:
Pastroni kabllot tona telefonike, fije me ngjyrë i ngjisim së bashku, dhe i hollojmë.
Pas kësaj, saldoni në kontaktet e tabllës si në foto:

Tani, për kontrollin përfundimtar, vendosim sensorët në sektoret e rrethit, sipër — një copë plywood, pasi e kthejmë controller-in (vendosim një bateri me kapak të stilolapsit mbi fotodiodin).
Në këtë rast, duhet të ndritet LED-i në Arduino dhe të merrni një SMS testues.
Pastaj, heqim kapakun nga fotoelementi dhe shkojmë për të mbledhur ujë në një shishe plastike 1.5 litra.
Vendosim shishen në rafte dhe nëse kanë kaluar disa minuta nga aktivizimi, vendosim përsëri kapakun mbi fotorezistor (duke imituar perëndimin e diellit).
Pas tre minutash, LED-i në Arduino do të ndezë dhe duhet të merrni një SMS me vlera peshe rreth 1kg në të gjitha pozitat.
Urime! Sistemi është mbledhur me sukses!
Nëse tani bëni që sistemi të funksionojë përsëri, atëherë në kolonën e parë të peshave do të renditen zero.
Po, në kushte reale, rekomandohet që fotorezistori të orientohët verticalisht lart.
Tani do të jap një manual të shkurtër për përdorimin:
- Vendosni tensiometrat nën mbrinjtë e uljeve (në pjesën përparë vendosni një shufër\/tapë me trashësi ~30mm)
- Hidhni hije mbi fotorezistor dhe vendosni baterinë - duhet të ndritet LED-i dhe të merrni një SMS testues me tekstin «INITIAL BOOT OK»
- Vendosni bllokun qendror në distancën maksimale nga uljet dhe në mënyrë që kabllot të mos pengojnë gjatë punës me bletët.
Çdo mbrëmje, pas perëndimit të diellit, do të merrni një SMS me ndryshimin e peshës për 24 orët e fundit dhe nga momenti i aktivizimit.
Kur vlera e tensionit të baterisë të arrijë 3.5V, SMS do të përfundojë me frazën «!!! CHARGE BATTERY !!!»
Koha e punës nga një bateri me kapacitet 2600mAh - rreth një muaj.
Në rastin e zëvendësimit të baterisë, ndryshimet ditore të peshës së uljeve nuk ruhen.
UPD KËSHILLIM !
NË KUSHTE TË SINDALEVE TË DOBËTA, moduli GSM rrit fuqinë, e cila çon në RIMARRJE TË SISTEMIT
Kjo u zbuluar gjatë testimeve «të fushës» (nuk është e qartë pse përdoruesit e GSM-shildave nuk raportojnë për këto probleme).
Tani po përgatis një skemë të re:

Pas verifikimit të suksesshëm, kjo publikim do të përmirësohet.
Elektropçelli Andrei.
Burimi: habr.com
