SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Ei, see ei ole kommertsettepanek, vaid nii palju maksab sĂŒsteemi komponendid, mille sa saad pĂ€rast artikli lugemist kokku panna.

Veidi taustainfot:

MÔni aeg tagasi otsustasin mesilasi kasvatada ja nad tÔepoolest ilmusid... terveks hooajaks, kuid ei tulnud talvest vÀlja.
Ja see vaatamata sellele, et tundus, et tegin kĂ”ik Ă”igesti — sĂŒgisene toitmine, soojustamine kĂŒlmade eel.
Meeleolu oli klassikaline puidust Dadan-sĂŒsteemi 10 raami 40 mm plaadist.
Aga sel talvel kaotasid isegi kogenud mesinikud temperatuuri ‘kiikude’ tĂ”ttu tunduvalt rohkem kui tavaliselt.

Nii sĂŒndis idee mesilaste kontrollimise sĂŒsteemist.
PĂ€rast mitme artikli avaldamist Habres ja suhtlemist mesinikute foorumites otsustasin minna lihtsamast keeruliseks.
Kaal on ainus vaieldamatu parameeter, aga tavaliselt jĂ€lgivad olemasolevad sĂŒsteemid ainult ĂŒhte ‘nĂ€idis’ mesilit.
Kui selle tÔttu midagi valesti lÀheb (nÀiteks kÀrje vÀljalend, mesilaste haigus), siis nÀitajad muutuvad ebaoluliseks.

SeetĂ”ttu otsustati jĂ€lgida kolme mesilase kaalu muutust sama mikrokontrolleriga, ning muud ‘lisad’ lisatakse hiljem.
KokkuvĂ”ttes sai kokku autonoomne sĂŒsteem, mille tööaeg on umbes kuu ĂŒhel 18650 patareil ja statistika edastamine toimub kord pĂ€evas.
PĂŒĂŒdsin konstruktsiooni maksimaalselt lihtsustada, et seda saaks kordata isegi ilma skeemide, vaid ainult piltide jĂ€rgi.

Töölogika on jÀrgmine: esimesel kÀivitamisel/resettimisel salvestatakse EEPROM-i andurid, mis on paigaldatud mesilaste alla.
Edasi, iga pĂ€ev pĂ€rast pĂ€ikeseloojangut sĂŒsteem â€˜Ă€rkab’, loeb nĂ€idud ja saadab SMS-i kaalumuutustest 24 tunni jooksul ja alates kĂ€ivitamisest.
Lisaks edastatakse patarei pinge vÀÀrtus, ning kui see langeb alla 3.5V, saadetakse meeldetuletus laadimise vajadusest, kuna alla 3.4V ei kĂ€ivitu side modulis ja kaalunĂ€itajad ‘ujuvad’ juba.

„Sa mĂ€letad, kuidas kĂ”ik algas. KĂ”ik oli esmakordne ja taas.”
SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest
Jah, just selline ‘raudvara’ oli algselt, kuigi lĂ”ppvariandini jĂ”udsid ainult tensometri andurid ja juhtmed, aga kĂ”ik omal kohal.
Tegelikult ei ole kaabli rull vajalik, see oli lihtsalt sama hinnaga nagu 30m juba valmis lÔigatud.

Kui sind ei hirmuta 3 smd-ledide ja poole sada harilikku (vÀljastatavat) jootmist, siis mine teed!

Nii et, me vajame jÀrgmist seadmete/materjalide komplekti:

  1. Arduino Pro Mini 3V
    Tuleb mĂ€rkida, et lineaarse muunduri kiip peab olema just 3.3V — kiibil peab olema tĂ€histus KB 33/LB 33/DE A10 — mul juhtus, et Hiina tootjad eksisid ja kogu partii
    pultidest poes osutus 5-voldiste regulaatoritega ja 16MHz kristalliga.
  2. USB-Ttl kiip CH340 — vĂ”ib olla isegi 5-voldine, kuid siis tuleb mikrokontrolleri programmeerimise ajal Arduino GSM-modemist lahti ĂŒhendada, et viimane ei puruneks.
    PL2303 kiibiga plaadid ei tööta Windows 10 all.
  3. GSM side moodul Goouu Tech IOT GA-6-B vÔi AI-THINKER A-6 Mini.
    Miks ma selle peatusin? Neoway M590 on ehituskomplekt, mis nĂ”uab eraldi keerukust, GSM SIM800L — ei meeldinud mittestandardsed 2.8V loogiatase, mis vajab sobitamist isegi kolme voldise arduinaga.
    Lisaks sellele on AiThinkeri lahendusel minimaalne energiatarve (SMS-i saatmisel ei ole ma nĂ€inud voolu ĂŒle 100mA).
  4. GSM GPRS 3DBI antenn (ĂŒlemisel pildil — ristkĂŒlikukujuline plaadike 'saba'iga, kell 9)
  5. Operaatori algkomplekt, kellel on hea katvus kohtades, kus teie mesila asub.
    Jah, komplekt tuleb eelnevalt aktiveerida tavalises telefonis, KEELATA PIN-i nÔudmine sisenemisel ja tÀita konto.
    Praegu on palju vĂ”imalusi nimedega stiilis 'Andur', 'IoT' — neil on natuke madalam igakuine tasu.
  6. Dupont kaabel 20cm emane-emane — 3 tk. (Arduino ĂŒhendamiseks USB-TTL-ga)
  7. 3 tk. HX711 — A/C-d kaalude jaoks
  8. 6 tensoandurit kuni 50kg kaaluks
  9. 15 meetrit neljajuhtmelisest telefonikaablist — kiiruskaalu moodulite ĂŒhendamiseks ARDUINO-ga.
  10. Fotodetektor GL5528 (tÀhtis, et just selline, tumeda vastupanu 1MΩ ja valguse 10-20kΩ) ja kaks tavalist vastupanu 20k
  11. TĂŒkk kahepoolsest 'paksust' teipi 18x18mm — Arduino kinnitamiseks side moodulile.
  12. 18650 patareihoidja ja ise patarei ~2600mAh.
  13. Natuke vahakooki vĂ”i parafiini (aroma lampi kĂŒĂŒnal) — HX711 veekindluse tagamiseks.
  14. TĂŒkk puidust palki 25x50x300mm tensoandurite alusena.
  15. KĂŒmmekond kruvi rĂ”ngasmutriga 4,2x19 mmandurite alusele kinnitamiseks.

Patarei vĂ”ib vĂ”tta sĂŒlearvuti remontidest — see on mitmeid kordi odavam kui uus, ja maht on palju suurem kui Hiina UltraFire'il — mul tuli 1500 vastandina 450-le (see on juhul, kui Fire'i puhul 6800 😉

Lisaks on vaja ka sirgeid kĂ€si, elektrolĂŒĂŒt-25 jootepĂŒstolit, kolofoniumi ja POS-60 jootet.

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Viis aastat tagasi kasutasin ma nendes nĂ”ukogude rauast solderdistrit (ma ei suutnud endale kunagi solderimisjaamu meeldida — proovisin ja lĂ”petasin skeemide EPN-iga).
Kuid pĂ€rast selle riknemist ja mitmete hiina Ă”udsete kopeerimiste, mille viimane oli nimega Sparta — asi sama karm kui nimi, peatusin
tootele, millel on temperatuuri regulaator.

Nii et hakkame pihta!

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Esmalt eemaldame GSM-moduuli kahest LED-ist (koht, kus nad asusid, on tĂ€histatud oranĆŸi ovaaliga)
Sisestame SIM-kaardi kontaktpindadega trĂŒkkplaadi poole, foto kaldus nurga suunaga on tĂ€histatud noolega.

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

SeejÀrel teeme sarnase protseduuri LED-iga Arduino plaadil (ovaal vasakul ruudu kiibi kohal),
Solderdame nelja kontaktiga kÀrme (1),
VĂ”tame kaks 20k takistit, keerame vĂ€ljundid ĂŒhte kĂŒlge, solderdame keerdumise A5 kontakti auku, ĂŒlejÀÀnud vĂ€ljundid RAW ja GND Arduino (2),
LĂŒhendame fotoresistori jalad 10 mm-ni ja solderdame selle GND ja D2 vĂ€ljundite kĂŒlge plaadil (3).

NĂŒĂŒd on aeg kahepoolse teipi sinise isoleerlindi jaoks — kleepime selle sidemoduli SIM-kaardi hoidikule ja selle peale — Arduino — punane (hĂ”bedane) nupp on meile suunatud ja asub SIM-kaardi kohal.

Solderdame toite: pluss sidemoduli kondensaatorist (4) Arduino RAW kontaktile.
Asi on selles, et sidemodul ise vajab oma toiteks 3.4-4.2V ja tema kontakt PWR on suunatud vÀhendava step-down muunduri poole, seega, et töötada li-ion akuga, tuleb vool edasi anda mööda seda osa ahelast.

Arduino puhul suuname aga toite lĂ€bi lineaarse muunduri — vĂ€ikeste voolutarbetega on pingekadu drop-out 0.1V.
Sellegipoolest, andes stabiliseeritud pinget HX711 moodulitele, vabaneme vajadusest neid tĂ€iustada madalama pingega (ja samuti kĂ”rgemast mĂŒrast seoses selle operatsiooniga).

SeejĂ€rel solderdame jumpereid (5) PWR-A1, URX-D4 ja UTX-D5 kontaktide vahele, 'maapind' GND-G (6) ning lĂ”puks toite akuhoidjast 18650 (7), ĂŒhendame antenni (8).
NĂŒĂŒd vĂ”tame USB-TTL muunduri ja ĂŒhendame juhtmed Dupontiga ARDUINO (kĂ€rme 1) RXD-TXD ja TXD-RXD, GND-GND:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Ülaltoodud pildil on veel esimene versioon (kolmest) sĂŒsteemist, mida kasutati hÀÀlestamiseks.

NĂŒĂŒd tĂ”mbume natuke eemale solderist ja liigume tarkvaralise osa juurde.
Kirjeldan Windowsi jaoks toimingute jÀrjestust:
Esiteks tuleb programm alla laadida ja installida/ĂŒles pakkida Arduino IDE — praegune versioon — 1.8.9, kuid mina kasutan 1.6.4

Kerguse huvides ĂŒles pakime arhiivi kausta C:arduino-«teie_versiooni_numbriga», sees on meil kaustad /dist, drivers, examples, hardware, java, lib, libraries, reference, tools, samuti tĂ€idetav fail arduino (kĂ”rval mitmed teised).

NĂŒĂŒd vajame A/D muunduri tööks raamatukogu HX711 — roheline nupp «clone or download» — laadige ZIP alla.
Sisu (kaust HX711-master) asetatakse kataloogi C:arduino-«teie_versiooni_numbriga»libraries

Ja muidugi draiver USB-TTL samuti github’ist — ĂŒles pakitud arhiivist kĂ€ivitame installiprogrammi faili SETUP.

Noh, kÀivitame ja seadistame programmi C:arduino-«teie_versiooni_numbriga»arduino

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Liigume menĂŒĂŒsse «Tööriistad» - valime plaadi «Arduino Pro or Pro Mini», protsessori Atmega 328 3.3V 8 MHz, port — number vĂ€lja arvatud sĂŒsteemne COM1 (see ilmub CH340 draiveri installimise jĂ€rel, kui USB-TTL adapter on ĂŒhendatud)

Noh, kopeerime allpool oleva skeem (programmi) ja jagame selle Arduino IDE aknasse

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

  }

}

Esimeses reaas, jutumĂ€rkides char phone_no[]=»+123456789012″; — asenda 123456789012 oma telefoninumbri ja riigi koodiga, kuhu SMS-id tulevad.

NĂŒĂŒd vajutame nuppu kontrollimiseks (ĂŒle numbri ĂŒks ĂŒlaltoodud ekraanil) — kui all (kolmiku all ekraanil) on «Kogu protsess on lĂ”pule viidud» — saame mikrokontrolleri ĂŒles laadida.

Nii, USB-TTL on ĂŒhendatud ARDUINO ja arvutiga, asetame laetud aku hoidikusse (uus arduino juures hakkab LED vilkuma sagedusega ĂŒks kord sekundis).

NĂŒĂŒd kiipimise ajal — harjutame punase (hĂ”beda) nuppu mikrokontrolleril — seda tuleb teha tĂ€pselt kindlal hetkel!!!
Kas on? Vajutame nuppu «Lae alla» (ĂŒle kahe ekraanil) ja jĂ€lgime tĂ€helepanelikult all oleva rea (kolme all skaalal).
Niipea, kui tekst «kogeprotsess» vahetub «alla laadimise» vastu — vajutame punast nuppu (reset) — kui kĂ”ik on korras — USB-TTL adapteril vilguvad tuled rÔÔmsalt, ja all ekraanil tekst «Laaditi alla»

NĂŒĂŒd, kuni me ootame testi SMS-i saabumist telefonile, rÀÀgin, kuidas programm töötab:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Pildil — teine versioon testimise seadmest.

Esimese sisselĂŒlitamise korral kontrollib sĂŒsteem baite number 500 ja 501 EEPROM, kui need on vĂ”rdsed, tĂ€hendab, et kalibreerimisandmed pole salvestatud ja algoritm liigub seadistamise sektsiooni.
Sama asi juhtub, kui fotoresistor on sisse lĂŒlitamisel varjatud (pastapliiatsi korkiga) - aktiveeritakse parameetrite lĂ€htestamise reĆŸiim.

Tansodaatikud peavad olema juba asetatud tarude alla, kuna me lihtsalt fikseerime algse nulltaseme ja edaspidi mÔÔdame kaalu muutust (praegu tulevad lihtsalt nullid, kuna me pole veel midagi ĂŒhendanud).
Arduino puhul hakkab see samal ajal vilkuma pin 13 sisse ehitatud LED.
Kui lĂ€htestamine ei toimu, sĂŒttib LED 12 sekundiks.
PÀrast seda saadetakse test-SMS sÔnumiga 'INITIAL BOOT OK' ja aku pinge.
Sidemodul lĂŒlitub vĂ€lja ja kolme minuti pĂ€rast viib Arduino plaat HX711 ADC plaadid unereĆŸiimi ja jÀÀb ise unne.
See viivitus on tehtud, et vĂ€ltida hĂ€ireid töötava GSM-moduuli poolt (pĂ€rast vĂ€ljalĂŒlitamist 'mĂŒrab' see mĂ”nda aega).

Edasi toimib meil fotodetektori katkestus teisel pinnal (kasta tÔmbamine on aktiveeritud pullup funktsiooniga).
Sellega pÀrast aktiveerimist kontrollitakse veel 3 minutit fotoresistori seisundit - vale positiivsete / valehÀirete vÀltimiseks.
Mida iseloomustab, et ilma igasuguse seadistuseta aktiveerub sĂŒsteem 10 minutit pĂ€rast astronoomilist pĂ€ikeseloojangut pilves ilmaga ja 20 selge ilmaga.
Jah, et sĂŒsteem iga sisse lĂŒlitamise ajal ei lĂ€htestuks, peab olema ĂŒhendatud vĂ€hemalt esimene HX711 moodul (pinid DT-D10, SCK-A0).

Siis loetakse tansodaatikute lugemised, arvutatakse kaalumuutus eelmise aktiveerimisega (esimene arv Hive'i kohal) ja esimesest sisse lĂŒlitamisest, kontrollitakse aku pinget ning see teave saadetakse SMS-ina:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Muide, kas said SMS-i? Palju Ônne! Oleme poolel teel! Aku vÔib hetkel hoidjast eemaldada, arvutit ei ole enam vaja.

Muide, lendude juhtimiskeskus osutus nii kompaktseks, et selle saab mahutada majoneesipurki, minu puhul sobis suurepÀraselt poollÀbipaistev karp mÔÔtudega 30x60x100 mm (visiitkaartide jaoks).

Jah, unereĆŸiimis tarbib sĂŒsteem umbes 2.3mA - 90% ulatuses sidemoduli tĂ”ttu - see ei lĂŒlitu tĂ€ielikult vĂ€lja, vaid lĂ€heb oote-reĆŸiimi.

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Alustame andurite valmistamisega, esmalt vaatame andurite paigutuse skeemi:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

See on taru plaan - ĂŒlevaade ĂŒlalt.

Klassikaline paigutus on 4 anduri seadmine nurkadesse (1, 2, 3, 4).

Me mÔÔdame teisiti. TÀpsemalt öeldes kolmandal viisil. Kuna teisiti teevad poisid BroodMinderist:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Selles konstruktsioonis on andurid paigutatud kohtadesse 1 ja 2, punktid 3, 4 toetuvad liistule.
Sel juhul jÀÀb anduritele vaid pool kaalust.
Jah, sellisel meetodil on madalam tÀpsus, kuid siiski on raske ette kujutada, et mesilased ehitaksid kÔik raamid

Niisiis, ma pakun, et viime andurid punktis 5 kokku — siis kaob sĂŒsteemi varjestamise vajadus, ja kergemate mesitarude kasutamisel saame hakkama ĂŒhe anduriga.

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

KokkuvĂ”ttes testiti kahte tĂŒĂŒpi mooduleid HX711-l, kahte tĂŒĂŒpi andureid ja kaht varianti nende ĂŒhendamiseks - tĂ€ieliku Wheatstone'i sildiga (2 andurit) ja poolikult, kui teine osa tĂ€iendatakse 1k takistitega tolerantsiga 0,1%.
Aga viimane meetod on soovitatav vÀltida ja seda ei soovita isegi anduri tootjad, seega kirjeldan ainult esimest.

Nii et ĂŒhele mesitarule paigaldatakse kaks tensioonandurit ja ĂŒks HX711 moodul, ĂŒhendusskeem on jĂ€rgmine:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

ADC-lt Arduino-le lĂ€heb 5 meetrit 4-taktilisest telefonikaablist — me ju mĂ€letame, kuidas mesilased ei meeldi GSM-seadmed mesitarus.

KokkuvĂ”ttes jĂ€tame anduritele „otsi“ 8 cm, eemaldame keeratud paari ja kĂ”ik ĂŒhendame nagu ĂŒlaltoodud pildil.

Enne puidutööstuse osa alustamist, pange vahk/parafiin sobivasse mahutisse sulama veevanni.

NĂŒĂŒd vĂ”tame meie liistu ja jagame selle kolmeks 100 mm lĂ”iguks

Edasi tĂ€histame pikisuunalise soonte laius 25 mm, sĂŒgavus 7-8 mm, eemaldame ĂŒleliigse sae ja peitel — peaks tulema U-kujuline profiil.

Kas vahk on sulanud? — kastame sinna meie ADC-plaatidesse — see kaitseb neid niiskuse/udu eest:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Paigutame selle kÔik puidust alusele (peab olema töödeldud seentest kaitsvate vahenditega):

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Ja lÔpuks kinnitame andurid kruvidega.

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

Oli veel variant sinise isolatsiooniteibiga, kuid inimlikkuse kaalutlustel seda ei too 😉

Arduino poolel teeme jÀrgmist:

Eemaldame meie telefonikaablitest, vÀrvilised juhtmed keerame omavahel, tinname.

PĂ€rast seda, jootame kontaktidele nagu pildil:

SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

KĂ”ik, nĂŒĂŒd viimase kontrolli jaoks paigaldame andurid ringi sektoritesse, peal - tĂŒkk vineeri, lĂ€htestame kontrolleri (paigaldame aku fotodioodi peale peal olnud pastapitsi korkiga).

Sellega peaks Arduino LED vilkuma ja test-sÔnum peaks tulema.

KĂŒljest eemaldame fotoreleenilt kaane ja lĂ€heme tĂ€itma 1,5-liitrilist plastpudelit veega.
Asetame pudeli vineerile ja kui on möödunud mitu minutit pĂ€rast sisselĂŒlitamist, paneme kaane tagasi fotoreleenile (imiteerides pĂ€ikeseloojangut).

Kolme minuti pĂ€rast sĂŒttib LED Arduino peal ja peaksite saama SMS-i, kus kaalud on umbes 1 kg kĂ”igis kategooriates.

Palju Ônne! Sistem on edukalt kokku pandud!

Kui nĂŒĂŒd sundida sĂŒsteemi uuesti tööle, siis esimese veergu kaalud saavad nullid.

Jah, reaalses olukorras on soovitatav suunata fotoreleen vertikaalselt ĂŒles.

NĂŒĂŒd toon vĂ€lja lĂŒhikese juhendi kasutamiseks:

  1. Paigaldage tensominejad mesilaste kastide tagaseintele (esitusele paigutage puit/palk, mille paksus on ~30 mm)
  2. Varju fotoreleeni ja pange akku — LED peaks vilkuma ja test-SMS peaks tulema tekstiga "INITIAL BOOT OK".
  3. Asetage keskne plokk mesilaste kastidest maksimaalselt kaugele, nii et kaablid ei segaks mesilastega töötamist.
    Igal Ôhtul pÀrast pÀikeseloojangut tuleb SMS kaalumuudatustega 24 tunni jooksul ja alates kÀivitamisest.
    Kui aku pingetase saavutab 3,5 V, lÔpetatakse SMS sÔnumiga "!!! LAADI AKUT !!!".
    Ühe 2600 mAh aku tööaeg on umbes kuu.
    Aku vahetamise korral ei salvestata pÀevaseid kaalumuudatusi.

UPD HOIATUS!

NÕRKADES SIGNAALIDES KUIDAS GSM-moodul tĂ”stab vĂ”imsust, mis pĂ”hjustab SÜSTEEMI ÜMBERLAUDIMIST.

See selgus "vÀlitestide" kÀigus (pole selge, miks GSM-sillade kasutajad sellistest probleemidest ei teata).

Praegu valmistan uut skeemi:
SMS-kollide kaalu jÀlgimine kolme mesitaru puhul 30$ eest

PĂ€rast edukat kontrollimist uuendatakse seda publikatsiooni.

Elektromeditsiinitöötaja Andrei.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster