Trīs stropu svara SMS uzraudzība par 30 USD

Trīs stropu svara SMS uzraudzība par 30 USD

Nē, tas nav komerciāls piedāvājums, tās ir sistēmas komponentu izmaksas, kuras varat salikt pēc raksta izlasÄ«Å”anas.

Nedaudz fona:

Pirms kāda laika izdomāju dabūt bites, un tās gan parādījās... uz visu sezonu, bet neizgāja no ziemas būdas.
Un tas neskatoties uz to, ka viņŔ it kā visu darÄ«ja pareizi - rudens papildbaroÅ”ana, siltināŔana pirms aukstā laika.
Strops bija klasiska koka ā€œDadanā€ sistēma ar 10 rāmjiem, kas izgatavoti no 40 mm dēļiem.
Taču tajā ziemā temperatÅ«ras svārstÄ«bu dēļ pat pieredzējuÅ”ie biÅ”kopji zaudēja daudz vairāk nekā parasti.

Tā radās ideja par stropa stāvokļa uzraudzības sistēmu.
Pēc vairāku rakstu publicÄ“Å”anas par Habr un sazināŔanās biÅ”kopju forumā es nolēmu pāriet no vienkārÅ”a uz sarežģītu.
Svars ir vienÄ«gais neapstrÄ«damais parametrs, taču parasti esoŔās sistēmas uzrauga tikai vienu ā€œatsaucesā€ stropu.
Ja ar to kaut kas noiet greizi (piemēram, spieta aizieÅ”ana, biÅ”u slimÄ«ba), tad rādÄ«tāji kļūst nenozÄ«mÄ«gi.

Tāpēc tika nolemts uzreiz trÄ«s stropu svara izmaiņas uzraudzÄ«t, izmantojot vienu mikrokontrolleri, un vēlāk pievienot citus ā€œlabumusā€.
Rezultātā tika izveidota autonoma sistēma, kuras darbÄ«bas laiks ir aptuveni mēnesis ar vienu 18650 akumulatora uzlādi un statistikas datu nosÅ«tÄ«Å”ana reizi dienā.
Es mēģināju maksimāli vienkārÅ”ot dizainu, lai to varētu atkārtot pat bez diagrammām, tikai no fotogrāfijām.

Darbības loģika ir Ŕāda: pirmās palaiŔanas/atiestatīŔanas laikā zem stropiem uzstādīto sensoru rādījumi tiek saglabāti EEPROM.
Tad katru dienu pēc saulrieta sistēma ā€œpamostasā€, nolasa rādÄ«jumus un nosÅ«ta SMS ar svara izmaiņām par dienu un no ieslēgÅ”anas brīža.
Turklāt tiek pārraidÄ«ta akumulatora sprieguma vērtÄ«ba, un, kad tā nokrÄ«tas lÄ«dz 3.5 V, tiek izdots brÄ«dinājums par uzlādes nepiecieÅ”amÄ«bu, jo zem 3.4 V sakaru modulis neieslēdzas, un svara rādÄ«jumi jau ā€œaizpeldā€.

"Vai jÅ«s atceraties, kā tas viss sākās. Viss bija pirmo reizi un atkal.ā€
Trīs stropu svara SMS uzraudzība par 30 USD
Jā, tas ir tieÅ”i tāds aparatÅ«ras komplekts, kāds bija sākotnēji, lai gan lÄ«dz galÄ«gajai versijai izdzÄ«voja tikai deformācijas mērÄ«tāji un vadi, bet vispirms vispirms.
Faktiski jums nav nepiecieÅ”ama kabeļa spole, tā vienkārÅ”i izrādÄ«jās tāda pati kā 30 m taisna.

Ja jÅ«s nebaidāties no 3 SMD LED demontāžas un pussimts parastās (izejas) lodÄ“Å”anas punktu, tad aiziet!

Tātad, mums būs nepiecieŔams Ŕāds aprīkojuma/materiālu komplekts:

  1. Arduino Pro Mini 3V
    JāpievērÅ” uzmanÄ«ba lineārā pārveidotāja mikroshēmai - tai jābÅ«t tieÅ”i 3.3V - uz mikroshēmas marķējuma KB 33/LB 33/DE A10 - manam Ä·Ä«nieÅ”iem kaut kas nav kārtÄ«bā, un visa partija
    Plāksnēm veikalā izrādījās 5 voltu regulatori un 16MHz kristāli.
  2. USB-Ttl uz CH340 mikroshēmas - var izmantot pat 5 voltu, bet tad, mirgojot mikrokontrolleri, Arduino būs jāatvieno no GSM moduļa, lai nesadedzinātu pēdējo.
    Plates, kuru pamatā ir PL2303 mikroshēma, nedarbojas operētājsistēmā Windows 10.
  3. GSM sakaru modulis Goouu Tech IOT GA-6-B vai AI-THINKER A-6 Mini.
    Kāpēc jÅ«s tur apstājāt? Neoway M590 - dizainers, kas prasa atseviŔķas dejas ar tamburÄ«nu, GSM SIM800L - nepatika nestandarta 2.8 V loÄ£ikas lÄ«menis, kas prasa koordināciju pat ar trÄ«s voltu Arduino.
    Turklāt risinājumam no AiThinker ir minimāls enerÄ£ijas patēriņŔ (sÅ«tot SMS neredzēju strāvu, kas bÅ«tu lielāka par 100mA).
  4. GSM GPRS 3DBI antena (augŔējā fotoattēlā - taisnstÅ«rveida Å”alle ar ā€œastiā€, pulksten 9)
  5. Operatora sākuma komplekts ar labu pārklājumu jūsu dravas atraŔanās vietā.
    Jā, pakete vispirms ir jāaktivizē parastajā tālrunÄ«, ATspējojiet PIN PIEPRASÄŖJUMU pēc ieejas un jāpapildina savs konts.
    Tagad ir daudz iespēju ar nosaukumiem ā€œSensorā€, ā€œIoTā€ stilā - tiem ir nedaudz zemāka abonÄ“Å”anas maksa.
  6. dupont vads 20cm sieviete-māte - 3 gab. (lai savienotu Arduino ar USB-TTL)
  7. 3 gab. HX711 - ADC svariem
  8. 6 slodzes elementi svaram līdz 50 kg
  9. 15 metri 4 dzīslu telefona kabelis - svara moduļu savienoŔanai ar ARDUINO.
  10. Fotorezistors GL5528 (Å”is ir vissvarÄ«gākais, ar tumÅ”o pretestÄ«bu 1 MĪ© un gaismas pretestÄ«bu 10-20 kĪ©) un divi parastie 20 kĪ© rezistori
  11. Divpusējas ā€œbiezasā€ lentes gabals 18x18mm - Arduino piestiprināŔanai pie sakaru moduļa.
  12. 18650 baterijas turētājs un patiesībā arī pats akumulators ir ~2600mAh.
  13. Nedaudz vaska vai parafīna (sveču-tabletes aromātiskā lampa) - mitruma aizsardzībai HX711
  14. Koka sijas gabals 25x50x300mm deformācijas mērītāju pamatnei.
  15. Ducis paÅ”vÄ«tņojoÅ”o skrÅ«vju ar 4,2x19 mm presējamo paplāksni sensoru piestiprināŔanai pie pamatnes.

Akumulatoru var paņemt no klēpjdatoru izjaukÅ”anas - tas ir vairākas reizes lētāks nekā jauns, un ietilpÄ«ba bÅ«s daudz lielāka nekā Ä·Ä«nieÅ”u UltraFire - man sanāca 1500 pret 450 (tas ir 6800 ugunsgrēkam šŸ˜‰

Turklāt jums būs nepiecieŔamas stabilas rokas, EPSN-25 lodāmurs, kolofonija un POS-60 lodmetāls.

Trīs stropu svara SMS uzraudzība par 30 USD

Pat pirms 5 gadiem es izmantoju padomju lodāmuru ar vara galu (lodÄ“Å”anas stacijas man nederēja - es to aizvedu uz testa braucienu un pabeidzu ķēdi ar EPSN).
Bet pēc neveiksmes un vairākiem Ä·Ä«nieÅ”u zvērÄ«gajiem viltojumiem pēdējo nosauca par Spartu - tik smaga lieta kā tās nosaukums apstājās.
uz izstrādājuma ar termostatu.

Tātad ejam!

Trīs stropu svara SMS uzraudzība par 30 USD

Sākumā mēs atlodām divas gaismas diodes no GSM moduļa (vieta, kur tie atradās, ir apvilkta oranžā ovālā)
Mēs ievietojam SIM karti ar kontaktu paliktņiem iespiedshēmas platē, fotoattēlā slīpais stūris ir norādīts ar bultiņu.

Trīs stropu svara SMS uzraudzība par 30 USD

Pēc tam mēs veicam līdzīgu procedūru ar LED uz Arduino plates (ovāls pa kreisi no kvadrātveida mikroshēmas),
Lodējiet ķemmi pie četriem kontaktiem (1),
Mēs ņemam divus 20k rezistorus, sagriežam vadus vienā pusē, pielodējam vÄ«tni tapas A5 caurumā, atlikuÅ”ie vadi ir arduino RAW un GND formātā (2),
Mēs saīsinām fotorezistora kājas līdz 10 mm un pielodējam pie plates GND un D2 tapām (3).

Tagad ir pienācis laiks zilajai abpusējas lentes elektriskajai lentei - mēs to pielÄ«mējam pie sakaru moduļa SIM kartes turētāja, bet augÅ”pusē - Arduino - sarkanā (sudraba) poga ir vērsta pret mums un atrodas virs SIM kartes.

Mēs pielodējam baroÅ”anas bloku: plus no sakaru moduļa kondensatora (4) uz RAW arduino tapu.
Fakts ir tāds, ka paÅ”am sakaru modulim ir nepiecieÅ”ami 3.4-4.2 V strāvas padevei, un tā PWR kontakts ir savienots ar pazeminātu pārveidotāju, tāpēc, lai darbotos no litija jonu, spriegums ir jāpiegādā, apejot Å”o ķēdes daļu.

Arduino, gluži pretēji, mēs piegādājam strāvu caur lineāro pārveidotāju - pie zema strāvas patēriņa sprieguma kritums ir 0.1 V.
Bet, piegādājot HX711 moduļiem stabilizētu spriegumu, mēs atbrÄ«vojamies no nepiecieÅ”amÄ«bas tos pārveidot uz zemāku spriegumu (un tajā paŔā laikā no Ŕīs darbÄ«bas rezultātā pieaugoÅ”a trokŔņa).

Tālāk mēs pielodējam džemperus (5) starp tapām PWR-A1, URX-D4 un UTX-D5, iezemējam GND-G (6) un visbeidzot barojam no 18650 akumulatora turētāja (7), pievienojam antenu (8).
Tagad mēs ņemam USB-TTL pārveidotāju un savienojam RXD-TXD un TXD-RXD, GND-GND kontaktus ar Dupont vadiem ar ARDUINO (ķemme 1):

Trīs stropu svara SMS uzraudzība par 30 USD

AugŔējā fotoattēlā ir parādÄ«ta sistēmas pirmā versija (no trim), kas tika izmantota atkļūdoÅ”anai.

Bet tagad mēs kādu laiku atpūtīsimies no lodāmura un pāriesim pie programmatūras daļas.
Es aprakstÄ«Å”u darbÄ«bu secÄ«bu operētājsistēmai Windows:
Pirmkārt, jums ir jālejupielādē un jāinstalē/izpako programma Arduino IDE ā€” paÅ”reizējā versija ir 1.8.9, bet es izmantoju 1.6.4

VienkārŔības labad mēs izsaiņojam arhÄ«vu mapē C: arduino - ā€œjÅ«su_versijas_numursā€, iekÅ”pusē mums bÅ«s mapes /dist, draiveri, piemēri, aparatÅ«ra, java, lib, bibliotēkas, atsauce, rÄ«ki, kā arÄ« arduino izpildāmais fails. (starp citiem).

Tagad mums ir nepiecieÅ”ama bibliotēka, lai strādātu ar ADC HX711 ā€” zaļā poga ā€œklonēt vai lejupielādētā€ ā€” lejupielādēt ZIP.
Saturs (mape HX711-master) tiek ievietots direktorijā C:arduino-ā€œjÅ«su_versijas_numursā€bibliotēkas

Un, protams, vadītājs par USB-TTL no tā paŔa github - no neizpakotā arhīva instalācija tiek vienkārŔi palaista ar SETUP failu.

Labi, palaidÄ«sim un konfigurēsim programmu C:arduino-ā€œjÅ«su_versijas_numursā€arduino

Trīs stropu svara SMS uzraudzība par 30 USD

Dodieties uz vienumu ā€œRÄ«kiā€ - atlasiet plati ā€œArduino Pro vai Pro Miniā€, Atmega 328 3.3 V 8 MHz procesors, ports - cits numurs, nevis sistēmas COM1 (tas parādās pēc CH340 draivera instalÄ“Å”anas ar USB-TTL adapteri savienots)

Labi, nokopējiet Å”o skici (programmu) un ielÄ«mējiet to Arduino IDE logā

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

  }

}

Pirmajā rindā pēdiņās char phone_no[]=ā€+123456789012ā€³; ā€” 123456789012 vietā ievietojiet savu tālruņa numuru ar valsts kodu, uz kuru tiks nosÅ«tÄ«ta SMS.

Tagad mēs nospiežam pārbaudes pogu (virs numura viena ekrānuzņēmumā) - ja apakŔā (zem skaitļa trÄ«s ekrānā) ā€œKompilācija ir pabeigtaā€, mēs varam mirgot mikrokontrolleri.

Tātad, USB-TTL tiek savienots ar ARDUINO un datoru, ielieciet uzlādēto akumulatoru turētājā (parasti jaunā Arduino LED sāk mirgot reizi sekundē).

Tagad par programmaparatūru - trenējamies nospiest mikrokontrollera sarkano (sudraba) pogu - tas būs jādara stingri noteiktā brīdī!!!
Ēst? NoklikŔķiniet uz pogas ā€œIelādētā€ (virs diviem ekrānuzņēmumā) un uzmanÄ«gi apskatiet lÄ«niju interfeisa apakŔā (zem trÄ«s ekrānuzņēmumā).
TiklÄ«dz uzraksts ā€œkompilācijaā€ mainās uz ā€œlejupielādeā€, nospiediet sarkano pogu (atiestatÄ«t) - ja viss ir kārtÄ«bā, USB-TTL adaptera gaismas mirgos priecÄ«gi, un saskarnes apakŔā bÅ«s uzraksts ā€œAugÅ”upielādēts. ā€

Tagad, kamēr mēs gaidām testa SMS, kas pienāk tālrunÄ«, es jums pastāstÄ«Å”u, kā programma darbojas:

Trīs stropu svara SMS uzraudzība par 30 USD

Fotoattēlā redzama atkļūdoÅ”anas statÄ«va otrā versija.

Pirmo reizi ieslēdzot, sistēma pārbauda EEPROM baitus numurus 500 un 501; ja tie ir vienādi, tad kalibrÄ“Å”anas dati netiek ierakstÄ«ti, un algoritms pāriet uz iestatÄ«Å”anas sadaļu.
Tas pats notiek, ja, ieslēdzot, fotorezistors ir aizēnots (ar pildspalvas vāciņu) - tiek aktivizēts atiestatÄ«Å”anas režīms.

Slodzes elementi jau ir jāuzstāda zem stropiem, jo ā€‹ā€‹mēs vienkārÅ”i nofiksējam sākotnējo nulles lÄ«meni un pēc tam izmērām svara izmaiņas (tagad nulles tikai nāks, jo mēs vēl neko neesam savienojuÅ”i).
Tajā paŔā laikā Arduino ierÄ«cē sāks mirgot 13. tapas iebÅ«vētā gaismas diode.
Ja atiestatīŔana nenotiek, gaismas diode iedegas 12 sekundes.
Pēc tam tiek nosÅ«tÄ«ta testa SMS ar ziņojumu ā€œINITIAL BOOT OKā€ un akumulatora spriegumu.
Sakaru modulis izslēdzas, un pēc 3 minūtēm Arduino plate ieslēdz HX711 ADC plates miega režīmā un pati aizmieg.
Å Ä« aizkave tika veikta, lai neuzņemtu traucējumus no strādājoÅ”a GSM moduļa (pēc izslēgÅ”anas tas kādu laiku "pupu").

Tālāk mums ir foto sensora pārtraukums otrajā tapā (ir iespējota plusa funkcija).
Å ajā gadÄ«jumā pēc palaiÅ”anas vēl 3 minÅ«tes tiek pārbaudÄ«ts fotorezistora stāvoklis - lai novērstu atkārtotu/viltus palaiÅ”anu.
RaksturÄ«gi ir tas, ka bez regulÄ“Å”anas sistēma tiek aktivizēta 10 minÅ«tes pēc astronomiskā saulrieta mākoņainā laikā un 20 minÅ«tes skaidrā laikā.
Jā, lai sistēma netiktu atiestatīta katru reizi, kad to ieslēdz, ir jāpievieno vismaz pirmais HX711 modulis (kontakti DT-D10, SCK-A0).

Pēc tam tiek ņemti tenzometru rādÄ«jumi, aprēķinātas svara izmaiņas no iepriekŔējās darbÄ«bas (pirmais cipars rindā pēc Hive) un no pirmās aktivizÄ“Å”anas tiek pārbaudÄ«ts akumulatora spriegums un Ŕī informācija tiek nosÅ«tÄ«ta kā SMS:

Trīs stropu svara SMS uzraudzība par 30 USD

Starp citu, vai saņēmāt SMS? Apsveicam! Esam pusceļā! Akumulatoru pagaidām var izņemt no turētāja, dators mums vairs nebūs vajadzīgs.

Starp citu, misijas vadības centrs izrādījās tik kompakts, ka to var ielikt majonēzes burciņā, manā gadījumā lieliski iederējās caurspīdīgā kastīte ar izmēriem 30x60x100mm (no vizītkartēm).

Jā, gulÄ“Å”anas sistēma patērē ~2.3mA - 90% pateicoties sakaru modulim - pilnÄ«bā neizslēdzas, bet pāriet gaidÄ«Å”anas režīmā.

Trīs stropu svara SMS uzraudzība par 30 USD

Sāksim ražot sensorus; vispirms pievērsīsimies sensoru izkārtojumam:

Trīs stropu svara SMS uzraudzība par 30 USD

Šis ir stropa plāns - skats no augŔas.

Klasiski stūros ir uzstādīti 4 sensori (1,2,3,4)

Mēs mērÄ«sim savādāk. Pareizāk sakot, pat treÅ”ajā veidā. Tā kā BroodMinder puiÅ”i to dara savādāk:

Trīs stropu svara SMS uzraudzība par 30 USD

Šajā konstrukcijā sensori ir uzstādīti 1. un 2. pozīcijā, 3,4. un XNUMX. punkts balstās uz staru kūli.
Tad sensori veido tikai pusi no svara.
Jā, Å”ai metodei ir mazāka precizitāte, taču tik un tā grÅ«ti iedomāties, ka bites visus karkasus ar Ŕūnveida ā€œmēlēmā€ bÅ«vētu gar vienu stropa sienu.

Tātad, es ierosinu vispārÄ«gi samazināt sensorus lÄ«dz 5. punktam - tad nav nepiecieÅ”ams ekranēt sistēmu, un, izmantojot gaismas stropus, ir pilnÄ«bā jāiztiek ar vienu sensoru.

Trīs stropu svara SMS uzraudzība par 30 USD

Kopumā uz HX711 mēs testējām divu veidu moduļus, divu veidu sensorus un divas to savienoÅ”anas iespējas - ar pilnu Vitstonas tiltu (2 sensori) un ar pusi, kad otro daļu papildina ar 1k rezistoriem ar a. pielaide 0.1%.
Bet pēdējā metode ir nevēlama un to neiesaka pat sensoru ražotāji, tāpēc aprakstÄ«Å”u tikai pirmo.

Tātad vienam stropam mēs uzstādÄ«sim divus deformācijas mērÄ«tājus un vienu HX711 moduli, elektroinstalācijas shēma ir Ŕāda:

Trīs stropu svara SMS uzraudzība par 30 USD

No ADC plates līdz Arduino ir 5 metri 4 vadu telefona kabeļa - atceramies, kā bitēm nepatīk GSM ierīces stropā.

Kopumā mēs atstājam sensoriem 8 cm ā€œastesā€, noņemam vÄ«tā pāra un lodējam visu, kā parādÄ«ts augstāk esoÅ”ajā fotoattēlā.

Pirms galdniecÄ«bas daļas uzsākÅ”anas ievietojiet vasku/parafÄ«nu piemērotā traukā, lai tas izkausētu Å«dens vannā.

Tagad mēs ņemam kokmateriālus un sadalām tos trīs daļās, katra pa 100 mm

Tālāk mēs atzīmējam garenisko rievu 25 mm platumā, 7-8 mm dziļumā, noņemiet lieko, izmantojot zāģi un kaltu - vajadzētu parādīties U veida profilam.

Vai vasks ir uzsildÄ«ts? ā€” tur iegremdējam ADC plates ā€” tas pasargās tās no mitruma/miglas:

Trīs stropu svara SMS uzraudzība par 30 USD

Mēs to visu novietojam uz koka pamatnes (tas jāapstrādā ar antiseptisku līdzekli, lai novērstu puves):

Trīs stropu svara SMS uzraudzība par 30 USD

Visbeidzot, mēs piestiprinām sensorus ar paÅ”vÄ«tņojoŔām skrÅ«vēm:

Trīs stropu svara SMS uzraudzība par 30 USD

Bija arÄ« variants ar zilu elektrisko lenti, bet cilvēcÄ«bas apsvērumu dēļ to neprezentēju šŸ˜‰

No Arduino puses mēs rÄ«kojamies Ŕādi:

Mēs noņemam savus telefona kabeļus, savijam kopā krāsainos vadus un skārda tos.

Pēc tam pielodējiet pie dēļa kontaktiem, kā parādīts fotoattēlā:

Trīs stropu svara SMS uzraudzība par 30 USD

Tas ir viss, tagad pēdējai pārbaudei ievietojam sensorus apļa sektoros, virsÅ« saplākŔņa gabalu, atiestatām kontrolieri (fotodiodei uzliekam akumulatoru ar pildspalvas vāciņu).

Tajā paŔā laikā Arduino LED indikatoram vajadzētu mirgot un saņemt testa SMS.

Pēc tam noņemiet fotoelementa vāciņu un iepildiet ūdeni 1.5 litru plastmasas pudelē.
Uzliekam pudeli uz saplākŔņa un, ja kopÅ” ieslēgÅ”anas jau ir pagājuÅ”as vairākas minÅ«tes, uzliekam atpakaļ fotorezistoram vāciņu (imitējot saulrietu).

Pēc trim minūtēm Arduino LED iedegsies, un jums vajadzētu saņemt SMS ar svara vērtībām aptuveni 1 kg visās pozīcijās.

Apsveicam! Sistēma ir veiksmīgi samontēta!

Ja tagad piespiedīsim sistēmu atkal strādāt, tad pirmajā svara kolonnā būs nulles.

Jā, reālos apstākļos fotorezistoru ieteicams orientēt vertikāli uz augÅ”u.

Tagad es sniegŔu īsu lietotāja rokasgrāmatu:

  1. Uzstādiet tenzometrus zem stropu aizmugurējām sienām (zem priekŔējām novietojiet ~30mm biezu siju/dēli)
  2. Noēnojiet fotorezistoru un ievietojiet akumulatoru - gaismas diodei vajadzētu mirgot, un jums jāsaņem testa SMS ar tekstu ā€œINITIAL BOOT OKā€
  3. Novietojiet centrālo bloku maksimāli tālu no stropiem un tā, lai vadi netraucētu darbam ar bitēm.
    Katru vakaru pēc saulrieta saņemsi SMS ar svara izmaiņām dienā un no palaiÅ”anas brīža.
    Kad akumulatora spriegums sasniegs 3.5V, SMS beigsies ar rindiņu ā€œ!!! UZLĀDĒT AKUMULATORU!!!"
    Viena 2600 mAh akumulatora darbības laiks ir aptuveni mēnesis.
    Ja nomaina akumulatoru, stropu svara ikdienas izmaiņas neatceras.

Ko tālāk?

  1. Izdomājiet, kā to visu ievietot github projektā
  2. Palivodas sistēmas stropos nodibināt 3 biÅ”u saimes (vai tautā ragainās)
  3. Pievienojiet "bulciņas" - mitruma, temperatÅ«ras mērÄ«Å”anu un vissvarÄ«gāk - biÅ”u dÅ«koņu analÄ«zi.

Pagaidām tas arÄ« viss, ar cieņu, elektriskais biÅ”kopi Andrej

Avots: www.habr.com

Pievieno komentāru