Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Ez, hau ez da eskaintza komertziala, hau da artikulua irakurri ondoren munta ditzakezun sistemaren osagaien kostua.

Aurrekari txiki bat:

Duela denbora pixka bat erleak hartzea erabaki nuen, eta agertu ziren... denboraldi osoan, baina ez nuen neguko txabolatik irten.
Eta hori dena behar bezala egiten ari zela zirudien arren - udazkeneko elikadura osagarria, eguraldi hotzaren aurretik isolatzea.
Erlauntza egurrezko "Dadan" sistema klasiko bat zen, 10 mm-ko oholez egindako 40 markorekin.
Baina negu hartan, tenperatura aldaketen ondorioz, esperientziadun erlezainek ere ohi baino askoz gehiago galdu zuten.

Horrela sortu zen erlauntzaren egoera kontrolatzeko sistema baten ideia.
Habr-i buruzko hainbat artikulu argitaratu eta erlezainen foroan komunikatu ondoren, sinpletik konplexura pasatzea erabaki nuen.
Pisua da eztabaidaezina den parametro bakarra, baina, oro har, lehendik dauden sistemek "erreferentzia" erlauntza bakarra kontrolatzen dute.
Zerbait gaizki gertatzen bada (adibidez, erleen gaixotasuna, erleen gaixotasuna), orduan adierazleek ez dute garrantzirik izango.

Hori dela eta, hiru erlauntzaren pisuaren aldaketa aldi berean mikrokontrolagailu bat erabiliz kontrolatzea erabaki zen, eta gero beste "gozagarri" batzuk gehitzea.
Emaitza 18650 bateriaren karga batean hilabete inguruko funtzionamendu-denbora duen sistema autonomo bat izan zen eta egunean behin estatistikak bidaltzen zituen.
Diseinua ahalik eta gehien sinplifikatzen saiatu nintzen, diagramarik gabe ere errepikatu ahal izateko, argazkietatik soilik.

Funtzionamendu-logika hau da: lehen abiaraztean/berrezartzean, erlauntzaren azpian instalatutako sentsoreen irakurketak EEPROM-en gordetzen dira.
Gero, egunero, ilunabarrean, sistema “esnatzen” da, irakurketak irakurtzen ditu eta SMS bat bidaltzen du eguneko pisu aldaketarekin eta piztu zen momentutik.
Gainera, bateriaren tentsioaren balioa transmititzen da, eta 3.5 V-ra jaisten denean, kargatu beharrari buruzko abisua ematen da, 3.4 V-tik behera komunikazio-modulua ez delako pizten eta pisuaren irakurketak dagoeneko "flotatzen" dira.

"Gogoratzen al zara nola hasi zen dena. Dena izan zen lehen aldiz eta berriro».
Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke
Bai, hau da, hain zuzen, jatorrian zegoen hardware multzoa, nahiz eta tentsio-neurgailuak eta hariak bakarrik iraun zuten azken bertsiora, baina lehenik eta behin.
Izan ere, ez duzu kable bobinarik behar, 30 metroko zuzen baten prezio berdina besterik ez da izan.

3 SMD LED eta ehun erdi puntu erdi soldadura konbentzional (irteera) desmuntatzeko beldurrik ez baduzu, zoaz!

Beraz, ekipamendu/material multzo hau beharko dugu:

  1. Arduino Pro Mini 3V
    Bihurgailu linealaren mikrozirkuituari erreparatu behar diozu - zehazki 3.3 V-koa izan behar du - KB 33/LB 33/DE A10 txiparen markan - nire txinatarrak zerbait gaizki egin du eta sorta osoa
    Dendako plakek 5 voltioko erreguladoreak eta 16MHz-ko kristalak zituzten.
  2. USB-Ttl CH340 txip batean - 5 voltioko bat ere erabil dezakezu, baina gero mikrokontroladorea keinu egiten duzun bitartean, Arduino GSM modulutik deskonektatu beharko da azken hau ez erretzeko.
    PL2303 txipan oinarritutako plakek ez dute funtzionatzen Windows 10-n.
  3. GSM komunikazio modulua Goouu Tech IOT GA-6-B edo AI-THINKER A-6 Mini.
    Zergatik gelditu zinen hor? Neoway M590 - panderoekin dantza bereiziak eskatzen dituen diseinatzaileari, GSM SIM800L - ez zitzaion gustatu 2.8V-ko logika maila ez-estandarra, koordinazioa eskatzen duena hiru voltioko Arduino batekin ere.
    Horrez gain, AiThinker-en irtenbideak gutxieneko energia-kontsumoa du (ez nuen ikusi 100mA baino korronte handiagoa SMSak bidaltzean).
  4. GSM GPRS 3DBI antena (goiko argazkian - "buztana" duen zapi angeluzuzena 9:XNUMXetan)
  5. Zure erlategiaren kokalekuan estaldura ona duen operadore baten hasierako paketea.
    Bai, lehenik eta behin paketea ohiko telefono batean aktibatu behar da, PIN ESKAERA DESKABITU behar da sarreran eta zure kontua kargatu.
    Orain aukera asko daude "Sensor", "IoT" estiloko izenak dituztenak - harpidetza kuota apur bat txikiagoa dute.
  6. dupont alanbre 20cm emea-emea - 3 pz. (Arduino USB-TTL-ra konektatzeko)
  7. 3 pieza. HX711 - ADC balantzarako
  8. 6 karga-zelula 50 kg-ra arteko pisuetarako
  9. 15 metroko 4 nukleoko telefono kablea - pisu-moduluak ARDUINOra konektatzeko.
  10. GL5528 fotorresistentzia (hau da garrantzitsua, 1 MΩ-ko erresistentzia iluna eta 10-20 kΩ-ko argi erresistentzia duena) eta 20 kΩ-ko bi erresistentzia arrunt
  11. 18x18 mm-ko alde biko zinta "lodi" zati bat - Arduino komunikazio moduluari lotzeko.
  12. 18650 bateriaren euskarria eta, hain zuzen ere, bateria bera ~ 2600mAh dira.
  13. Argizaria edo parafina pixka bat (kandela-tabletaren usain-lanpara) - HX711 hezetasuna babesteko
  14. Egurrezko habe zati bat 25x50x300mm-ko tensioneurgailuen oinarrirako.
  15. Sentsoreak oinarrian lotzeko 4,2x19 mm-ko prentsa-garbigailua duten dozena bat torloju auto-taskatzaileak.

Bateria ordenagailu eramangarrien desmuntatzetik atera daiteke - berri bat baino hainbat aldiz merkeagoa da eta edukiera txinatar UltraFirerena baino askoz ere handiagoa izango da - 1500 versus 450 lortu dut (suterako 6800 da 😉

Horrez gain, esku finkoak, EPSN-25 soldadura, colofonia eta POS-60 soldadura beharko dituzu.

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Duela 5 urte ere soldadura sobietar bat erabili nuen kobrezko punta batekin (soldagailuak ez zidan funtzionatu - proba bat egiteko hartu nuen eta zirkuitua EPSN batekin amaitu nuen).
Baina bere porrotaren eta hainbat txinatar faltsu izugarrien ostean, azken honi Sparta deitzen zitzaion - bere izena bezain larria den gauza bat gelditu zen.
termostatoa duen produktu batean.

Beraz, goazen!

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Hasteko, GSM modulutik bi LED dessoldatzen ditugu (kokatu ziren lekua obalo laranja batean inguratuta dago)
SIM txartela kontaktu-padekin txertatzen dugu zirkuitu inprimatuko plakan, argazkian alakatutako izkina gezi batekin adierazten da.

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Ondoren, antzeko prozedura bat egiten dugu Arduino plakako LEDarekin (obaloa txip karratuaren ezkerraldean),
Soldatu orrazia lau kontaktuetara (1),
20k-ko bi erresistentzia hartzen ditugu, hariak alde batetik bihurritzen ditugu, bira A5 pinaren zuloan saltzen dugu, gainerako kableak arduinoaren RAW eta GNDn daude (2),
Fotorresistentearen hankak 10 mm-ra laburtzen ditugu eta plakaren GND eta D2 pinetara saltzen dugu (3).

Orain alde biko zintaren zinta elektriko urdinaren garaia da - komunikazio moduluaren SIM txartelaren euskarrian itsasten dugu, eta gainean - Arduino - botoi gorria (zilarrezkoa) gure aurrean dago eta SIM txartelaren gainean dago.

Elikadura iturria soldatzen dugu: komunikazio moduluaren kondentsadoretik (4) RAW arduino pinera.
Kontua da komunikazio moduluak berak 3.4-4.2 V behar dituela bere elikadurarako, eta bere PWR kontaktua beheranzko bihurgailu batera konektatuta dagoela, beraz, li-ioitik funtzionatzeko, tentsioa eman behar da zirkuituaren zati hori saihestuz.

Arduino-n, aitzitik, potentzia bihurgailu lineal baten bidez ematen dugu - korronte-kontsumo txikian, tentsio-jaitsiera 0.1V-koa da.
Baina HX711 moduluei tentsio egonkortua hornituz, tentsio baxuago batera aldatzeko beharra kentzen dugu (eta, aldi berean, eragiketa honen ondorioz zarata handitzetik).

Ondoren, PWR-A5, URX-D1 eta UTX-D4 pinen arteko jumperak (5) soldatzen ditugu, GND-G lurra (6) eta azkenik 18650 bateria euskarritik (7) elikatzen ditugu, antena konektatu (8).
Orain USB-TTL bihurgailu bat hartuko dugu eta RXD-TXD eta TXD-RXD, GND-GND kontaktuak Dupont hariekin konektatuko ditugu ARDUINOra (orrazia 1):

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Goiko argazkian sistemaren lehen bertsioa (hiruren) ageri da, arazketarako erabili zena.

Baina orain soldadurako burdinarekin atseden bat hartuko dugu pixka bat eta softwarearen zatira joango gara.
Windows-erako ekintzen sekuentzia deskribatuko dut:
Lehenik eta behin, programa deskargatu eta instalatu/deskonprimitu behar duzu Arduino IDEa — egungo bertsioa 1.8.9 da, baina 1.6.4 erabiltzen dut

Sinpletasunerako, artxiboa C karpetan deskonprimituko dugu: arduino - "zure_bertsio_zenbakia", barruan /dist karpetak, kontrolatzaileak, adibideak, hardwarea, java, lib, liburutegiak, erreferentzia, tresnak eta arduino fitxategi exekutagarria izango dugu. (besteak beste).

Orain liburutegi bat behar dugu ADCrekin lan egiteko HX711 — botoi berdea “klonatu edo deskargatu” — deskargatu ZIP.
Edukiak (HX711-master karpeta) C:arduino-"zure_bertsio_zenbakia"liburutegietan kokatzen dira

Eta, jakina, gidaria USB-TTL github beretik - despaketatutako artxibotik, instalazioa SETUP fitxategiarekin abiarazten da.

Ados, abiarazi eta konfigura dezagun programa C:arduino-“your_version_number”arduino

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Joan "Tresnak" elementura - hautatu "Arduino Pro edo Pro Mini" plaka, Atmega 328 3.3V 8 MHz prozesadorea, ataka - COM1 sistema ez den beste zenbaki bat (CH340 kontrolatzailea USB-TTL egokitzaile batekin instalatu ondoren agertzen da. konektatuta)

Ados, kopiatu hurrengo krokisa (programa) eta itsatsi Arduino IDE leihoan

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

  }

}

Lehenengo lerroan, komatxo artean, char phone_no[]="+123456789012″; — 123456789012ren ordez, jarri zure telefono-zenbakia SMS bidaliko den herrialde-kodearekin.

Orain egiaztapen-botoia sakatzen dugu (goiko pantaila-argazkiko bat zenbakiaren gainean) - behealdean (pantailako hiru zenbakiaren azpian) "Konpilazioa osatu da" - orduan mikrokontroladorea keinu dezakegu.

Beraz, USB-TTL ARDUINOra konektatuta dago eta ordenagailura, jarri kargatutako bateria euskarrian (normalean Arduino berriko LEDa segunduko behin keinuka hasten da).

Orain firmwarea - mikrokontrolagailuaren botoi gorria (zilarrezkoa) sakatzeko entrenatzen ari gara - une jakin batean zorrozki egin beharko da!!!
Jan? Egin klik "Kargatu" botoian (pantaila-argazkiko bien gainean) eta begiratu arretaz interfazearen beheko lerroa (pantaila-argazkiko hiruren azpian).
"Konpilazioa" inskripzioa "deskargatzea" bihurtzen den bezain laster, sakatu botoi gorria (berrezarri) - dena ondo badago, USB-TTL egokigailuaren argiak alaitasunez keinu egingo dira eta interfazearen behealdean "Kargatua" inskripzioa. ”

Orain, probako SMSa telefonora noiz iritsiko zain gauden bitartean, programak nola funtzionatzen duen esango dizut:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Argazkiak arazketa standaren bigarren bertsioa erakusten du.

Lehen aldiz pizten denean, sistemak EEPROMaren 500 eta 501 zenbakiko byteak egiaztatzen ditu; berdinak badira, kalibrazio-datuak ez dira erregistratzen eta algoritmoa konfigurazio atalera joaten da.
Gauza bera gertatzen da piztean fotoerresistentzia itzala badago (luparen txano baten bidez) - berrezartzeko modua aktibatuta dago.

Karga-zelulak erlauntzaren azpian instalatu beharko lirateke, hasierako zero maila finkatu eta gero pisuaren aldaketa neurtzen baitugu (orain zeroak etorriko dira, oraindik ez baitugu ezer konektatu).
Aldi berean, 13 pinaren LED integratua Arduino-n keinuka hasiko da.
Berrezarri ez bada, LEDa 12 segundoz pizten da.
Horren ostean, probako SMS bat bidaltzen da "HASIERAKO ABIAKETA OK" mezuarekin eta bateriaren tentsioarekin.
Komunikazio modulua itzaltzen da, eta 3 minuturen buruan Arduino plakak HX711 ADC plakak lo moduan jartzen ditu eta bera lo hartzen du.
Atzerapen hori funtzionatzen duen GSM modulu baten interferentziarik ez jasotzeko egin zen (itzaldu ondoren, denbora batez "babarrunak" egiten ditu).

Ondoren, argazki-sentsore eten bat dugu bigarren pinean (plus funtzioa gaituta dago).
Kasu honetan, aktibatu ondoren, fotoerresistentearen egoera beste 3 minutuz egiaztatzen da - errepikatutako abiarazte/faltsuak ezabatzeko.
Ohikoa dena da, inolako doikuntzarik gabe, sistema aktibatzen dela ilunabar astronomikotik 10 minutura eguraldi hodeitsuetan eta 20 minutura eguraldi argietan.
Bai, sistema pizten den bakoitzean berrezarri ez dadin, gutxienez lehen HX711 modulua (pintxoak DT-D10, SCK-A0) konektatu behar da.

Ondoren, tensiometroen irakurketak egiten dira, aurreko eragiketaren pisuaren aldaketa kalkulatzen da (Hive ondorengo lerroko lehen zenbakia) eta lehen aktibaziotik, bateriaren tentsioa egiaztatzen da eta informazio hau SMS moduan bidaltzen da:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Bide batez, jaso duzu SMSa? Zorionak! Bide erdian gaude! Momentuz bateria euskarritik atera daiteke; jada ez dugu ordenagailuaren beharrik izango.

Bide batez, misioaren kontrol-zentroa hain trinkoa izan zen, non maionesa pote batean jar daitekeen; nire kasuan, 30x60x100mm-ko kaxa zeharrargi bat (bisita-txarteletakoak) ezin hobeto moldatzen zen.

Bai, lo egiteko sistemak ~ 2.3 mA kontsumitzen du -% 90 komunikazio modulua dela eta - ez da guztiz itzaltzen, baina egonean moduan sartzen da.

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Has gaitezen sentsoreak egiten; lehenik eta behin, uki dezagun sentsoreen diseinua:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Hau erlauntzaren planoa da - goiko ikuspegia.

Klasikoki, 4 sentsore instalatzen dira izkinetan (1,2,3,4)

Bestela neurtuko dugu. Edo, hobeto esanda, hirugarren bidetik ere. BroodMinder-eko mutilek ezberdin egiten dutelako:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Diseinu honetan, sentsoreak 1. eta 2. posizioetan instalatzen dira, 3,4. eta XNUMX. puntuak habearen gainean daude.
Orduan sentsoreek pisuaren erdia baino ez dute hartzen.
Bai, metodo honek zehaztasun gutxiago du, baina oraindik zaila da imajinatzea erleek marko guztiak abaraska "mihiekin" eraikiko zituztenik erlauntzaren horma batean zehar.

Beraz, orokorrean sentsoreak 5 puntura murriztea proposatzen dut; orduan ez dago sistema babestu beharrik, eta erlauntza argiak erabiltzean, guztiz beharrezkoa da sentsore batekin konformatzea.

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Oro har, bi modulu mota probatu ditugu HX711-n, bi sentsore mota eta haiek konektatzeko bi aukera: Wheatstone zubi osoa (2 sentsore) eta erdi batekin, bigarren zatia 1k erresistentzia batekin osatzen denean. %0.1eko tolerantzia.
Baina azken metodoa ez da desiragarria eta sentsoreen fabrikatzaileek ere ez dute gomendatzen, beraz lehenengoa bakarrik deskribatuko dut.

Beraz, erlauntza baterako bi tensioneurgailu eta HX711 modulu bat instalatuko ditugu, kableatu-diagrama hau da:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

ADC plakatik Arduinora 5 hariko telefono-kable 4 metro daude - gogoan dugu nola erleei ez zaizkien gustatzen erlauntzako GSM gailuak.

Orokorrean, sentsoreetan 8 cm-ko "buztan" uzten dugu, pare bihurritua kendu eta dena soldatzen dugu goiko argazkian bezala.

Aroztegiko zatia hasi baino lehen, jarri argizaria/parafina ontzi egoki batean ur-bainu batean urtzeko.

Orain gure egurra hartu eta 100 mm-ko hiru zatitan banatuko dugu

Jarraian, 25 mm-ko zabalera eta 7-8 mm-ko sakonera duen luzetarako zirrikitu bat markatzen dugu, soberako zerra eta zizel batekin kenduko dugu - U formako profila sortu behar da.

Argizaria berotu al da? — Gure ADC taulak bertan murgiltzen ditugu — honek hezetasunetik/lainotik babestuko ditu:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Guztia egurrezko oinarri baten gainean jartzen dugu (usteldura saihesteko antiseptiko batekin tratatu behar da):

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Eta azkenik, sentsoreak torloju auto-tapatzaileekin finkatzen ditugu:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Aukera bat ere bazegoen zinta elektriko urdinarekin, baina gizatasun arrazoiengatik ez dut aurkezten 😉

Arduino aldetik honako hau egiten dugu:

Gure telefono-kableak kentzen ditugu, koloretako hariak elkarrekin bihurritzen ditugu eta estalita egiten ditugu.

Ondoren, soldatu plakako kontaktuetara argazkian bezala:

Hiru erlauntzen pisuaren jarraipena SMS bidez 30 $-ren truke

Hori da, orain azken egiaztapena egiteko, sentsoreak zirkuluaren sektoreetan jartzen ditugu, kontratxapatu zati bat gainean, kontrolagailua berrezarri dugu (fotodiodoan boligrafoa duen bateria bat jartzen dugu).

Aldi berean, Arduinoko LEDak keinu egin beharko luke eta probako SMS bat iritsi beharko litzateke.

Jarraian, fotozelulatik tapoia kendu eta ura bete 1.5 litroko plastikozko botila batean.
Botila kontratxapatuan jartzen dugu eta dagoeneko hainbat minutu igaro badira piztu zenetik, txapela berriro jartzen dugu fotorresistentzian (ilunabar bat simulatuz).

Hiru minuturen buruan, Arduinoko LED-a piztuko da eta posizio guztietan 1 kg inguruko pisu-balioak dituen SMS bat jaso beharko zenuke.

Zorionak! Sistema arrakastaz muntatu da!

Orain sistema berriro funtzionatzera behartzen badugu, lehenengo pisu-zutabeak zeroak izango ditu.

Bai, baldintza errealetan fotoerresistentzia bertikalki gorantz orientatzea komeni da.

Orain erabiltzailearen eskuliburu labur bat emango dut:

  1. Instalatu tentsio-neurgailuak erlauntzaren atzeko hormen azpian (jarri habe/taula bat ~ 30 mm-ko lodiera aurrealdekoen azpian)
  2. Itzali fotoerresistentzia eta instalatu bateria - LEDak keinu egin beharko luke eta probako SMS bat jaso beharko zenuke "HASIERAKO ABIAKETA OK" testuarekin
  3. Jarri unitate zentrala erlauntzetatik gehieneko distantziara eta hariak erleekin lan egitean oztoporik izan ez dezaten.
    Arratsaldero, ilunabarrean, SMS bat jasoko duzu eguneko eta abiarazteko momentutik zure pisu aldaketekin.
    Bateriaren tentsioa 3.5V-ra iristen denean, SMSa "!!!" lerroarekin amaituko da. KARGATU BATERIA!!!"
    2600mAh-ko bateria baten funtzionamendu-denbora hilabete ingurukoa da.
    Bateria aldatzen bada, erlauntzaren pisuaren eguneroko aldaketak ez dira gogoratzen.

Zer da hurrengoa?

  1. Asmatu hau guztia github-erako proiektu batean nola jarri
  2. Hasi 3 erle-familia Palivoda sistemako erlauntzetan (edo herrian adardunetan)
  3. Gehitu "opilak" - hezetasuna, tenperatura eta garrantzitsuena - erleen burrunba aztertzea.

Hori da dena oraingoz, bihotz-bihotzez zurea, Andrey erlezain elektrikoa

Iturria: www.habr.com

Gehitu iruzkin berria