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.ā
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:
- 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. - 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. - 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). - GSM GPRS 3DBI antena (augÅ”ÄjÄ fotoattÄlÄ - taisnstÅ«rveida Å”alle ar āastiā, pulksten 9)
- 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. - dupont vads 20cm sieviete-mÄte - 3 gab. (lai savienotu Arduino ar USB-TTL)
- 3 gab. HX711 - ADC svariem
- 6 slodzes elementi svaram līdz 50 kg
- 15 metri 4 dzīslu telefona kabelis - svara moduļu savienoŔanai ar ARDUINO.
- 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
- DivpusÄjas ābiezasā lentes gabals 18x18mm - Arduino piestiprinÄÅ”anai pie sakaru moduļa.
- 18650 baterijas turÄtÄjs un patiesÄ«bÄ arÄ« pats akumulators ir ~2600mAh.
- Nedaudz vaska vai parafÄ«na (sveÄu-tabletes aromÄtiskÄ lampa) - mitruma aizsardzÄ«bai HX711
- Koka sijas gabals 25x50x300mm deformÄcijas mÄrÄ«tÄju pamatnei.
- 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.
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!
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.
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):
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
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
Saturs (mape HX711-master) tiek ievietots direktorijÄ C:arduino-ājÅ«su_versijas_numursābibliotÄkas
Un, protams, vadÄ«tÄjs par
Labi, palaidÄ«sim un konfigurÄsim programmu C:arduino-ājÅ«su_versijas_numursāarduino
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:
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:
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Ä.
SÄksim ražot sensorus; vispirms pievÄrsÄ«simies sensoru izkÄrtojumam:
Å 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:
Å 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.
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:
No ADC plates līdz Arduino ir 5 metri 4 vadu telefona kabeļa -
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:
MÄs to visu novietojam uz koka pamatnes (tas jÄapstrÄdÄ ar antiseptisku lÄ«dzekli, lai novÄrstu puves):
Visbeidzot, mÄs piestiprinÄm sensorus ar paÅ”vÄ«tÅojoÅ”Äm skrÅ«vÄm:
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Ä:
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:
- UzstÄdiet tenzometrus zem stropu aizmugurÄjÄm sienÄm (zem priekÅ”ÄjÄm novietojiet ~30mm biezu siju/dÄli)
- NoÄnojiet fotorezistoru un ievietojiet akumulatoru - gaismas diodei vajadzÄtu mirgot, un jums jÄsaÅem testa SMS ar tekstu āINITIAL BOOT OKā
- 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?
- IzdomÄjiet, kÄ to visu ievietot github projektÄ
- Palivodas sistÄmas stropos nodibinÄt 3 biÅ”u saimes (vai tautÄ ragainÄs)
- 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