
Jo, kjo nuk është një ofertë komerciale, ky është çmimi i komponentëve të sistemit që mund të bashkoni pas leximit të artikullit.
Pak historik:
Disa kohë më parë vendosa të mbjell bletë, dhe ato vërtet u shfaqën⊠për një sezon të tërë, por nuk mbijetuan dimrin.
Kjo ndodhi ndonĂ«se duket se bĂ«ra gjithçka siç duhet â ushqimi i vjeshtĂ«s, izolimi para tĂ« ftohtĂ«.
Shkuma ishte klasike druri sipas sistemit "Dadant" me 10 kërcimë nga druri 40 mm.
Por atë dimër për shkak të "luhatjeve" të temperaturës, edhe bletarët më të përvojshëm humbën shumë më tepër se zakonisht.
Kështu lindi ideja e sistemit të monitorimit të gjendjes së shkumës.
Pas publikimit të disa artikujve në Habr dhe bisedave në forumet e bletarëve, vendosa të shkoj nga e thjeshta në të komplikuar.
Pesha është parametri i vetëm i pakontestueshëm, por zakonisht, sistemet ekzistuese monitorojnë vetëm një "standarde" të shkumës.
Nëse ndodhi diçka e keqe (për shembull, krijimi i një riri, sëmundja e bletëve), atëherë treguesit bëhen jo relevantë.
Prandaj, vendosa të monitoroj ndryshimin e peshës së tre shkumave me një mikrocontroller, dhe "përfitimet" e tjera t'i shtoj më vonë.
Si rezultat, u krijua një sistem autonom me një kohë funksionimi prej rreth një muaji me një ngarkesë të baterisë 18650 dhe dërgimin e statistikave një herë në ditë.
Struktura përpiqesha ta thjeshtoj sa më shumë, për ta bërë të mundur që të përsëritet edhe pa skema, veçanërisht përmes fotografive.
Logjika e punës është si më poshtë: me fillimin e parë/fshirjen ruhet në EEPROM të dhënat e sensorëve të vendosur nën shkumat.
Më pas, çdo ditë, pas perëndimit, sistemi "zgjohet", lexon të dhënat dhe dërgon një SMS me ndryshimin e peshës për 24 orët dhe nga momenti i ndezjes.
Përveç kësaj, dërgohet vlera e tensionit të baterisë, dhe kur bie nën 3.5V, jepet një paralajmërim për nevojën e karikimit, pasi nën 3.4V moduli i komunikimit nuk aktivizohet dhe as treguesit e peshës tashmë "shkojnë".
"Ti mban mend si filloi gjithçka. E gjithë ishte e re dhe përsëri."

Po, pikërisht ky ishte seti "hardware-it" fillestar, megjithatë vetëm sensorët e tensionit dhe kabllot arritën deri në versionin përfundimtar, por për gjithçka në radhë.
Në të vërtetë, një katër kabllosh nuk do të nevojitet, thjesht ndodhi që kishte të njëjtin çmim si 30m me copa.
NĂ«se nuk tĂ« frikĂ«son demontimi i 3 LED-ve SMD dhe gjysmĂ«qind vendesh tĂ« zakonshme (tĂ« dalshme) dhe qĂ«ndisje â atĂ«herĂ« fillo!
Pra ndaj, do të na nevojitet ky set ndihmash/matjesh:
- Arduino Pro Mini 3V
Duhet tĂ« vĂ«mĂ« re çipin e konvertuesit linear â ai duhet tĂ« jetĂ« nĂ« 3.3V â me shĂ«nimin KB 33/LB 33/DE A10 â kinezĂ«t mĂ« bĂ«nĂ« njĂ« keqkuptim, dhe gjithĂ« partia
e pllakave nĂ« dyqan rezultoi tĂ« kishte rregullatorĂ« 5-voltim dhe kristal nĂ« 16MHz. - USB-Ttl me çipin CH340 â mund tĂ« jetĂ« edhe 5-voltim, por atĂ«herĂ« gjatĂ« programimit tĂ« mikro-kontrollerit, Arduino duhet tĂ« çaktivizohet nga moduli GSM pĂ«r tĂ« mos e djegur atĂ«.
Plakate me çipin PL2303 nuk funksionojnë nën Windows 10. - Moduli i komunikimit GSM Goouu Tech IOT GA-6-B ose AI-THINKER A-6 Mini.
Pse e zgjodha atĂ«? Neoway M590 â njĂ« konstrukt qĂ« kĂ«rkon disa kĂ«rcime dhe HMS-tĂ«, GSM SIM800L â nuk mĂ« pĂ«lqeu niveli i logjikĂ«s 2.8V jo standard, qĂ« kĂ«rkonte akordim edhe me Arduino me tre volt.
PĂ«r mĂ« tepĂ«r, zgjidhja nga AiThinker ka konsumim minimal energjie (kur dĂ«rgon SMS, nuk kam parĂ« mĂ« shumĂ« se 100mA). - Antena GSM GPRS 3DBI (nĂ« foton e mĂ«sipĂ«rme â njĂ« pllakĂ« katrore me 'bisht', nĂ« orĂ«n 9)
- Paketa fillestare nga operatori që ka mbulim të mirë në vendin ku ndodhet bletaria juaj.
Po, paketa duhet aktivizuar paraprakisht nĂ« njĂ« telefon tĂ« zakonshĂ«m, TĂ aktivizoni KĂRKESĂN PIN gjatĂ« hyrjes dhe rimbushni llogarinĂ«.
Aktualisht ka shumĂ« mundĂ«si me emra si 'Sensor', 'IoT' â ata kanĂ« pak mĂ« pak abone. - kabllot dupont 20cm femĂ«r-femĂ«r â 3 copĂ« (pĂ«r lidhjen e Arduino me USB-TTL)
- 3 copĂ« HX711 â ADC pĂ«r peshat
- 6 sensorë tensioni për pesha deri në 50kg
- 15 metra kabllo telefonike me 4 tel â pĂ«r lidhjen e moduleve tĂ« peshĂ«s me ARDUINO.
- Fotorezistori GL5528 (është e rëndësishme të jetë ky, me një rezistencë errësire 1MΩ dhe 10-20kΩ ndriçimi) dhe dy rezistorë të zakonshëm me 20k
- NjĂ« copĂ« ngjitĂ«s dyansh 18x18mm â pĂ«r tĂ« mbajtur Arduino nĂ« modulin e komunikimit.
- Mbajtësi i baterive 18650 dhe, e vetmja bateri ~2600mAh.
- Pak ĐČĐŸŃĐșŃ ose паŃаŃĐžĐœĐ° (tĂ« qirinjve me tabletĂ« pĂ«r aromaterapi) â pĂ«r mbrojtjen nga lagĂ«shtia e HX711.
- Një copë dru 25x50x300mm për bazën e sensorëve të tensionit.
- Një duzinë pirunash me presë 4.2x19 mm për montimin e sensorëve në bazë.
BaterinĂ« mund ta merrni nga shĂ«rbimi i laptopĂ«ve â pĂ«r disa herĂ« mĂ« lirĂ« se e reja, dhe kapaciteti do tĂ« jetĂ« shumĂ« mĂ« i madhe se ai i UltraFire kinez â kam arritur 1500 ndaj 450 (nĂ« rastin e fire, 6800 đ
Përveç kësaj, do të nevojiten duar të drejta, një solder EPN-25, kolofon dhe solder POS-60.

Pesë vjet më parë, unë përdorja një saldator sovjetik me një majë bakri (nuk më pëlqyen asnjëherë stacionet e saldimit - i mora për test dhe e përfundova schemën me EPSN).
Por pas ndërrimit të tij dhe disa përpjekjeve të frikshme kineze, e fundit kishte emrin Sparta - një gjë po aq e ashpër sa emri i saj, u ndala
në një produkt me termoregulues.
Pra, le të fillojmë!

Për fillim, hiqim dy dritat LED nga moduli GSM (vendi ku ndodheshin është rrethuar me një oval portokalli)
Ngjitim SIM-karten me kontaktet nĂ« pllakĂ«n qarkullimore, kĂ«ndin e kĂ«putur nĂ« foto e tregon ŃŃŃДлĐșа.

Pastaj kryejmë një procedurë të ngjashme me dritën LED në pllakën Arduino (ovala në të majtë të çipit katror),
Saldisim një krua me katër kontakte (1),
Marrim dy rezistorë 20k, rrotullojmë daljet nga njëra anë, saldijmë skrotin në vrimën e kontaktit A5, daljet e mbetura në RAW dhe GND të arduino (2),
I shkurtojmë këmbët fotorezistorit në 10 mm dhe e saldijmë atë në daljet GND dhe D2 të pllakës (3).
Tani ka ardhur koha e ngjitëses dyanshme të izoluese blu - e ngjisim atë në mbajtësin e SIM-kartës së modulit të komunikimit, dhe mbi të - arduino - butoni i kuq (argjendi) është drejtuar nga ne dhe ndodhet mbi SIM.
Saldijmë energjinë: plus nga kondensatori i modulit të komunikimit (4) në kontaktin RAW të arduino.
E vërteta është se vetë moduli i komunikimit kërkon për energjinë e tij 3.4-4.2V, dhe kontakti i tij PWR është i lidhur me një konvertues step-down, prandaj për të punuar nga li-ion, tensionin duhet ta jepni duke anashkaluar këtë pjesë të zinxhirit.
Në arduino, përkundrazi, ne e lidhim energjinë përmes një konvertuesi linear - me konsum të vogël të rrymës, ra e tensionit drop-out është 0.1V.
Megjithatë, duke ofruar një tension të stabilizuar në modulet HX711, ne e eliminojmë nevojën për t'i modifikuar ata për një tension më të vogël (dhe po ashtu zvogëlojmë zhurmat si rezultat i kësaj operacioni).
Më pas saldijmë lidhjet (5) midis 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 lidhim me kabllot Dupont në ARDUINO (krua 1) kontaktet RXD-TXD dhe TXD-RXD, GND-GND:

Në foto më lartë - versione e parë (nga tre) e sistemit, i cili u përdor për debug.
Tani ne do të ndalemi për një kohë të shkurtër nga saldimi, dhe do të kalojmë në pjesën programore.
Do të përshkruaj sekuencën e veprimeve për Windows:
SĂ« pari, Ă«shtĂ« e nevojshme tĂ« shkarkoni dhe instaloni/ darni programin â versioni aktual Ă«shtĂ« 1.8.9, por unĂ« po pĂ«rdor 1.6.4
Për thjeshtësi, e nxjerrim arkivën në dosjen C:arduino-«numri_i_versionit_tuaj», brenda do të kemi dosjet /dist, drivers, examples, hardware, java, lib, libraries, reference, tools, si dhe ekzekutuesin arduino (përveç të tjerëve).
Tani na nevojitet njĂ« bibliotekĂ« pĂ«r punĂ« me ADC â butoni i gjelbĂ«r "clone or download" â shkarko ZIP.
Përmbajtja (dosja HX711-master) vendoset në katalogun C:arduino-«numri_i_versionit_tuaj»libraries
Natyrisht, kemi nevojĂ« pĂ«r njĂ« driver pĂ«r nga po ai github â nga arkiva e shpĂ«rndarĂ« thjesht fillo instalimin me skedarin SETUP.
Ok, nisni dhe konfiguroni programin C:arduino-«numri_i_versionit_tuaj»arduino

Hyni nĂ« pikĂ«n "Instruments" - zgjidhni pllakĂ«n "Arduino Pro or Pro Mini", procesorin Atmega 328 3.3V 8 MHz, portin â njĂ« numĂ«r pĂ«rveç sistemit COM1 (ai shfaqet pas instalimit tĂ« driverit CH340 kur adapatori USB-TTL Ă«shtĂ« i lidhur)
Ok, kopjoni sketçin e mëposhtëm (programin), dhe ngjitni atë në dritaren 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Ă« cita char phone_no[]="+123456789012"; â nĂ« vend tĂ« 123456789012 vendosni numrin tuaj tĂ« telefonit me kodin e vendit, nĂ« tĂ« cilin do tĂ« mbĂ«rrijnĂ« SMS-tĂ«.
Tani shtypni butonin e kontrollit (mbi numrin njĂ« nĂ« imazhin e mĂ«sipĂ«rm) â nĂ«se nĂ« fund (nĂ« pjesĂ«n poshtĂ« treve nĂ« ekran) shkruan "Kompozimi pĂ«rfundoi" â atĂ«herĂ« mund tĂ« ngarkoni mikrokontrolluesin.
I tillë, USB-TTL është lidhur me ARDUINO dhe kompjuterin, vendosni një bateri të ngarkuar në mbajtës (zakonisht në një arduino të re fillon të shndërrojë dritëm ku përkulet për një herë në sekondë).
Tani ngarkimi â praktikoni tĂ« shtypni butonin e kuq (tĂ« argjendtĂ«) tĂ« mikrokontrolluesit â kjo do tĂ« jetĂ« e nevojshme tĂ« bĂ«het saktĂ«sisht nĂ« njĂ« moment tĂ« caktuar!!!
A e keni? Shtypni butonin "Ngarko" (mbi dyshen në imazhin e ekranit), dhe shikoni me kujdes rreshtin në poshtë të ekranit (poshtë treve të ekranit).
Sa herĂ« qĂ« shkrimi "kompozimi" kalon nĂ« "ngarkim" â shtypni butonin e kuq (reset) â nĂ«se gjithçka Ă«shtĂ« nĂ« rregull â dritat nĂ« adapatorin USB-TTL do tĂ« shndĂ«risin gĂ«zueshĂ«m, dhe nĂ« fund tĂ« ekranit do tĂ« jetĂ« shkrimi "Ngarkoi"
Tani, ndërsa presim mbërritjen e SMS-të provuese në telefon, do të flasë si funksionon programi:

NĂ« foto â versioni i dytĂ« i qĂ«ndrĂ«s sĂ« diagnostikimit.
Kur e ndezni për herë të parë, sistemi krahason bajtët numër 500 dhe 501 në EEPROM; nëse ata janë të barabartë, atëherë të dhënat e kalibrimit nuk janë regjistruar, dhe algoritmi kalon në seksionin e konfigurimit.
E njëjtë ndodhi nëse fotorezistori është i mbuluar (me kapak nga stilolapsi) - aktivizohet mënyra e rikthimit të parametrave.
Sensat e tensionit duhet të jenë të vendosur nën kolonitë, sepse ne thjesht po regjistrojmë nivelin fillestar të zeros dhe më pas matim ndryshimin e peshës (tani thjesht do të na vinë zeros, pasi ende nuk kemi lidhur asgjë).
Në Arduino, do të fillojë të ndriçojë dritë LED-in e integruar të pin-it 13.
Nëse rikthimi nuk ndodh, drita LED ndizet për 12 sekonda.
Pas kësaj, dërgohet një SMS testi me mesazhin 'INITIAL BOOT OK' dhe tensionin e baterisë.
Moduli i komunikimit fiket, dhe pas 3 minutash, plaka Arduino çon plakat e ADC HX711 në modalitetin e gjumit dhe vetë fle.
Kjo vonesë është bërë për të mos kapur ndriçime nga moduli GSM që funksionon (pas fikjes, ai 'mban' për një kohë të shkurtër).
Më tej, ne kemi një ndërprerje për fotodetinimin në pin-in e dytë (të aktivohet tërheqja pozitive me funksionin pullup).
Pas aktivizimit, për 3 minuta verifikohet gjendja e fotorezistorit - për të eliminuar aktivizime të rreme/duke u përsëritur.
ĂfarĂ« Ă«shtĂ« karakteristike, sistemi aktivizohet pa asnjĂ« konfigurim pas 10 minutash nga perĂ«ndimi astronomik nĂ« mot tĂ« errĂ«t dhe pas 20 minutash nĂ« mot tĂ« qartĂ«.
Po, për të mos bërë rikthim me çdo aktivizim, duhet të lidhet të paktën moduli i parë HX711 (pins DT-D10, SCK-A0).
Pastaj merren leximet e senzorëve të tensionit, llogaritet ndryshimi i peshës nga aktivizimi i mëparshëm (numri i parë në rresht pas Hive) dhe nga aktivizimi i parë, verifikohet tensioni i baterisë dhe kjo informacion dërgohet në formë SMS:

Dhe për të thënë, a keni marrë SMS? Urime! Jemi në gjysmë të rrugës! Bateria mund të nxirret nga mbajtësi, për kompjuterin nuk na nevojitet më.
Të them të drejtën, qendra e menaxhimit të fluturimeve ka dalë kaq kompakte sa mund të vendoset në një enë majoneze, në rastin tim u përshtat një kuti gjysmë transparente me përmasa 30x60x100mm (nga vizitkartat).
Po, sistemi në gjumë konsumon ~2.3mA - 90% për shkak të modulit të komunikimit - ai nuk fiket plotësisht, por kalon në modalitetin e pritjes.

Fillojmë prodhimin e sensorëve, për të filluar do të trajtojmë skemën e vendosjes së sensorëve:

Kjo është plani i kolonisë - pamja nga lart.
Klasikisht, vendosen 4 sensora në këndet (1,2,3,4).
Ne do të masim ndryshe. Dhe më saktë, madje ndryshe. Sepse ndryshe bëjnë djemtë e BroodMinder:

Në këtë konstrukcion, sensorët janë vendosur në pozitat 1 dhe 2, pikët 3 dhe 4 mbështeten në një katror.
Kështu, në sensorë bie vetëm gjysma e peshës.
Po, ky metod ka një saktësi më të ulët, por është e vështirë të imagjinohet që bejzat do të mbushin të gjitha kornizat "gjuhëve" nga qelqi përgjatë një muri të mushkës.
Pra, propozoj qĂ« tĂ« ankorojmĂ« sensorĂ«t nĂ« pikĂ«n 5 â atĂ«herĂ« pĂ«rjashtohet nevoja pĂ«r mbrojtjen e sistemit, dhe me pĂ«rdorimin e koshereve tĂ« lehta, mund tĂ« mjaftohemi me njĂ« sensor.

NĂ« tĂ«rĂ«si, janĂ« provuar dy lloje modulash nĂ« HX711, dy lloje sensorĂ«sh, dhe dy variantĂ« tĂ« tyre tĂ« lidhjes â me urĂ«n e plotĂ« tĂ« Witston (2 sensorĂ«) dhe me njĂ« pjesĂ«, kur pjesa tjetĂ«r plotĂ«sohet me rezistorĂ« 1k me tolerancĂ« 0.1%.
Por metoda e fundit nuk është e dëshirueshme dhe nuk rekomandohet as nga prodhuesit e sensorëve, kështu që do të përshkruaj vetëm të parën.
Pra, pĂ«r çdo koshere do tĂ« montojmĂ« dy sensorĂ« tensioni dhe njĂ« modul HX711 â skema e lidhjes Ă«shtĂ« si mĂ« poshtĂ«:

Nga bordi i ADC deri nĂ« Arduino shkon njĂ« kabllo telefoni 4-gjilpĂ« 5 metra â .
Në tërësi, lëmë "bishtat" në sensorë për 8 cm, pastruar çiftin e rrotulluar dhe gjithçka e lidhim si në foto më lart.
Para se të filloni pjesën e drurit, vendosni dyllin/parafinin në një enë të përshtatshme për t'u shkrirë në banjën me ujë.
Tani merremi me katrorin tonë dhe e ndajmë në tri segmente prej 100 mm
MĂ« pas, shĂ«nojmĂ« hapĂ«sirĂ«n e gjatĂ« me gjerĂ«si 25 mm, thellĂ«si 7-8 mm, duke pĂ«rdorur njĂ« sharrĂ« dhe njĂ« çekiç pĂ«r tĂ« hequr tĂ« tepĂ«rt â duhet tĂ« dalĂ« njĂ« profil nĂ« formĂ« P.
Dylli u shkrir? â e zhysim aty bordet tona tĂ« ADC â kjo do t'i mbrojĂ« ato nga lagĂ«shtia/mist:

Vendosim gjithçka mbi një bazë druri (nevojitet trajtim me antiseptik ndaj kalbjes):

Dhe në fund, e fiksojmë sensorët me vidat:

Ishte edhe njĂ« variant me celofan blu, por pĂ«r arsye humane nuk e pĂ«rmend đ
Nga ana e Arduino-s bëjmë si më poshtë:
Pastrojmë kabllot tona të telefonit, fije të ngjyrave i përziejmë midis tyre dhe i derdhim.
Pas kësaj, i lidhim me kontaktet e bordit si në foto:

Tani, pĂ«r kontrollin pĂ«rfundimtar, vendosim sensorĂ«t sipas sektorĂ«ve tĂ« rrethit, nga lart â njĂ« copĂ« plywood, dhe e ribashkohet kontrollori (vendosim baterinĂ« me kapakun e stilolapsit mbi fotodiod).
Në këtë rast, duhet të pulsojë led-i në Arduino dhe të vijë një SMS testimi.
Pastaj heqim kapakun nga fotoelementi dhe shkojmë të mbushim ujë në një shishe plastike 1.5 litra.
Vëmë shishen në plywood dhe nëse kanë kaluar disa minuta nga ndezja, vendosim përsëri kapakun mbi fotorezistor (duke imituar perëndimin).
Pas tre minutash, led-i në Arduino do të ndizet dhe ju do të merrni një SMS me vlera peshe rreth 1kg në të gjitha pozitat.
Gratë! Sistemi u montua me sukses!
Nëse tani e bëjmë sistemin të funksionojë përsëri, në kolonën e parë të peshave do të rezultojnë zero.
Po, në kushte reale, filtri foto duhet të orientohen vertikalisht lart.
Tani do t'ju jap një udhëzues të shkurtër për përdorim:
- Vendosni sensorët e tensionit nën muret e pasme të kafazeve (nën ato të përparme vendosni një shirit / dru me trashësi ~30mm)
- Errësoni fotorezistorin dhe vendosni baterinë - duhet të pulsojë led-i dhe të vijë një SMS testimi me tekstin 'INITIAL BOOT OK'
- Vendosni bllokun qendror në distancën maksimale nga kafazet dhe kështu që kabllot të mos pengojnë punën me bletët.
Ădo mbrĂ«mje, pas perĂ«ndimit do tĂ« vijĂ« njĂ« SMS me ndryshimin nĂ« peshĂ« pĂ«r 24 orĂ«t e fundit dhe qĂ« nga fillimi.
Kur tensioni i baterisë arrin 3.5V, SMS do të përfundojë me frazën '!!! CHARGE BATTERY !!!'
Koha e funksionimit nga një bateri me kapacitet 2600mAh është rreth një muaj.
Në rast të zëvendësimit të baterisë, ndryshimet ditore të peshës nuk regjistrohen.
UPD KĂSHILLIM!
NĂ KUSHTET E SINDAKTI TĂ DOBĂT, moduli GSM rrit fuqinĂ«, duke rezultuar nĂ« RIKTHEM TĂ SISTEMIT
Këto u zbulua gjatë 'provave në terren' (nuk është e qartë pse përdoruesit e GSM-shields nuk raportojnë për probleme të tilla).
Tani po përgatis një plan të ri:

Pas verifikimit të suksesshëm, kjo publikim do të përditësohet.
Elektrobletari Andrei.
Burimi: habr.com
