
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
