ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

නැත, මෙය වාණිජමය දීමනාවක් නොවේ, ලිපිය කියවීමෙන් පසු ඔබට එකලස් කළ හැකි පද්ධති සංරචකවල පිරිවැය මෙයයි.

කුඩා පසුබිමක්:

කලකට පෙර මම මී මැස්සන් ලබා ගැනීමට තීරණය කළ අතර, ඔවුන් පෙනී සිටියේය ... මුළු සමය සඳහාම, නමුත් ශීත ඍතුවේ පැල්පත හැර ගියේ නැත.
මෙය ඔහු සෑම දෙයක්ම නිවැරදිව කරන බවක් පෙනෙන්නට තිබුණද - සරත් සෘතුවේ අනුපූරක පෝෂණය, සීතල කාලගුණයට පෙර පරිවරණය.
මී වදය යනු මිලිමීටර් 10 පුවරු වලින් සාදන ලද රාමු 40 කින් යුත් සම්භාව්‍ය ලී "ඩඩාන්" පද්ධතියකි.
නමුත් එම ශීත ඍතුවේ උෂ්ණත්වය වෙනස් වීම නිසා පළපුරුදු මීමැසි පාලකයන්ට පවා වෙනදාට වඩා බොහෝ දේ අහිමි විය.

වද වල තත්ත්වය නිරීක්ෂණය කිරීමේ පද්ධතියක් පිළිබඳ අදහස ඇති වූයේ එලෙසිනි.
Habr පිළිබඳ ලිපි කිහිපයක් ප්‍රකාශයට පත් කිරීමෙන් සහ මීමැසි පාලකයන්ගේ සංසදයේ සන්නිවේදනය කිරීමෙන් පසුව, මම සරල සිට සංකීර්ණ වෙත යාමට තීරණය කළෙමි.
බර යනු එකම අවිවාදිත පරාමිතියයි, නමුත් රීතියක් ලෙස, පවතින පද්ධති නිරීක්ෂණය කරන්නේ එක් "යොමු" වදයක් පමණි.
එය සමඟ යම්කිසි වැරැද්දක් සිදුවුවහොත් (උදාහරණයක් ලෙස, රංචුවක් පිටවීම, මී මැසි රෝගය), එවිට දර්ශක අනදාල වේ.

එමනිසා, එක් ක්ෂුද්‍ර පාලකයක් භාවිතයෙන් එකවර වද තුනක බරෙහි වෙනස නිරීක්ෂණය කිරීමටත්, පසුව වෙනත් “ගුඩිස්” එකතු කිරීමටත් තීරණය විය.
එහි ප්‍රතිඵලය වූයේ 18650 බැටරියේ එක් ආරෝපණයක් මත මාසයක පමණ මෙහෙයුම් කාලයකින් සහ දිනකට වරක් සංඛ්‍යාලේඛන යැවීමේ ස්වයංක්‍රීය පද්ධතියකි.
ඡායාරූප වලින් පමණක් රූප සටහන් නොමැතිව වුවද එය නැවත නැවතත් කළ හැකි වන පරිදි නිර්මාණය හැකිතාක් සරල කිරීමට මම උත්සාහ කළෙමි.

මෙහෙයුමේ තර්කනය පහත පරිදි වේ: පළමු ආරම්භය / යළි පිහිටුවීමේදී, වද යටතේ ස්ථාපනය කර ඇති සංවේදකවල කියවීම් EEPROM හි ගබඩා කර ඇත.
ඉන්පසුව, සෑම දිනකම, හිරු බැස යෑමෙන් පසු, පද්ධතිය "අවදි", කියවීම් කියවා, දවසේ බර වෙනස් කිරීම සහ එය සක්රිය කළ මොහොතේ සිට කෙටි පණිවුඩයක් යවයි.
ඊට අමතරව, බැටරි වෝල්ටීයතා අගය සම්ප්‍රේෂණය වන අතර, එය 3.5V දක්වා පහත වැටෙන විට, ආරෝපණය කිරීමේ අවශ්‍යතාවය පිළිබඳව අනතුරු ඇඟවීමක් නිකුත් කරනු ලැබේ, මන්ද 3.4V ට අඩු සන්නිවේදන මොඩියුලය ක්‍රියාත්මක නොවන අතර බර කියවීම් දැනටමත් “පාවී යයි”.

"ඒ සියල්ල ආරම්භ වූ ආකාරය ඔබට මතකද. සෑම දෙයක්ම පළමු වතාවට නැවත නැවතත් විය. ”
ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය
ඔව්, මෙය හරියටම මුලින් තිබූ දෘඩාංග කට්ටලයයි, නමුත් අවසාන අනුවාදය දක්වා ඉතිරිව ඇත්තේ වික්‍රියා මාපක සහ වයර් පමණි, නමුත් පළමු දේ පළමුව.
ඇත්ත වශයෙන්ම, ඔබට කේබල් දඟරයක් අවශ්ය නොවේ, එය මීටර් 30 ක සෘජු මිලකට සමාන මිලක් බවට පත් විය.

SMD LED 3 ක් සහ සාම්ප්‍රදායික (ප්‍රතිදාන) පෑස්සුම් ලක්ෂ්‍ය භාගයක් විසුරුවා හැරීමට ඔබ බිය නොවන්නේ නම්, යන්න!

එබැවින්, අපට පහත සඳහන් උපකරණ / ද්රව්ය කට්ටලය අවශ්ය වනු ඇත:

  1. Arduino Pro Mini 3V
    ඔබ රේඛීය පරිවර්තක ක්ෂුද්‍ර පරිපථය කෙරෙහි අවධානය යොමු කළ යුතුය - එය හරියටම 3.3V විය යුතුය - KB 33/LB 33/DE A10 සලකුණු කරන චිපයේ - මගේ චීන ජාතිකයින්ට යම් වැරැද්දක් සිදුවී ඇත, සහ මුළු කණ්ඩායමම
    ගබඩාවේ ඇති පුවරු 5-වෝල්ට් නියාමකයින් සහ 16MHz ස්ඵටික බවට පත් විය.
  2. CH340 චිපයක් මත USB-Ttl - ඔබට 5-වෝල්ට් එකක් භාවිතා කළ හැකිය, නමුත් මයික්‍රොකොන්ට්‍රෝලර් දැල්වීමේදී, ආර්ඩුයිනෝ GSM මොඩියුලයෙන් විසන්ධි කිරීමට අවශ්‍ය වනු ඇත, එවිට දෙවැන්න පිළිස්සීම සිදු නොවේ.
    PL2303 චිපය මත පදනම් වූ පුවරු Windows 10 යටතේ ක්‍රියා නොකරයි.
  3. GSM සන්නිවේදන මොඩියුලය Goouu Tech IOT GA-6-B හෝ AI-THINKER A-6 Mini.
    ඇයි එතන නැවතුනේ? Neoway M590 - රබන් සමඟ වෙනම නැටුම් අවශ්‍ය නිර්මාණකරුවෙකු වන GSM SIM800L - වෝල්ට් තුනේ Arduino සමඟ පවා සම්බන්ධීකරණය අවශ්‍ය වන සම්මත නොවන 2.8V මට්ටමේ තර්කනයට කැමති නොවීය.
    මීට අමතරව, AiThinker වෙතින් විසඳුම අවම බලශක්ති පරිභෝජනයක් ඇත (SMS යැවීමේදී 100mA ට වඩා වැඩි ධාරාවක් මා දුටුවේ නැත).
  4. GSM GPRS 3DBI ඇන්ටනාව (ඉහත ඡායාරූපයෙහි - "වලිගය" සහිත සෘජුකෝණාස්රාකාර ස්කාෆ්, 9 ට)
  5. ඔබේ මී මැසි ගබඩාව ඇති ස්ථානයේ හොඳ ආවරණයක් සහිත ක්‍රියාකරුවෙකුගේ ආරම්භක පැකේජය.
    ඔව්, පැකේජය ප්‍රථමයෙන් සාමාන්‍ය දුරකථනයකින් සක්‍රිය කර, ඇතුළු වූ පසු PIN ඉල්ලීම අක්‍රිය කර, ඔබේ ගිණුම පුරවා ගත යුතුය.
    දැන් "සංවේදකය", "IoT" ශෛලිය තුල නම් සහිත බොහෝ විකල්ප තිබේ - ඒවාට තරමක් අඩු දායක ගාස්තුවක් ඇත.
  6. dupont වයර් 20cm ගැහැණු-ගැහැණු - 3 pcs. (Arduino USB-TTL වෙත සම්බන්ධ කිරීමට)
  7. 3 pcs. HX711 - පරිමාණයන් සඳහා ADC
  8. 6kg දක්වා බර සඳහා 50 පැටවුම් සෛල
  9. 15-core දුරකථන කේබලයේ මීටර් 4 - බර මොඩියුල ARDUINO වෙත සම්බන්ධ කිරීම සඳහා.
  10. Photoresistor GL5528 (මෙය වැදගත් එකකි, අඳුරු ප්‍රතිරෝධය 1 MΩ සහ සැහැල්ලු ප්‍රතිරෝධය 10-20 kΩ) සහ සාමාන්‍ය 20 kΩ ප්‍රතිරෝධක දෙකක්
  11. ද්විත්ව ඒක පාර්ශවීය “ඝන” ටේප් 18x18mm - සන්නිවේදන මොඩියුලයට Arduino ඇමිණීම සඳහා.
  12. 18650 බැටරි රඳවනය සහ, ඇත්ත වශයෙන්ම, බැටරියම ~ 2600mAh වේ.
  13. කුඩා ඉටි හෝ පැරෆින් (ඉටිපන්දම්-ටැබ්ලට් සුවඳ ලාම්පුව) - තෙතමනය ආරක්ෂාව සඳහා HX711
  14. වික්රියා මාපකවල පදනම සඳහා ලී කදම්බ 25x50x300mm කෑල්ලක්.
  15. පාදයට සංවේදක ඇමිණීම සඳහා 4,2x19 mm මුද්‍රණ රෙදි සෝදන යන්ත්‍රයක් සහිත ස්වයං-කිරි කැපීමේ ඉස්කුරුප්පු දුසිමක්.

ලැප්ටොප් පරිගණක විසුරුවා හැරීමෙන් බැටරිය ලබා ගත හැකිය - එය නව එකකට වඩා කිහිප ගුණයකින් ලාභදායී වන අතර, ධාරිතාව චීන අල්ට්‍රාෆයර් වලට වඩා බොහෝ වැඩි වනු ඇත - මට 1500 ට සාපේක්ෂව 450 ක් ලැබුණි (මෙය ගින්න සඳහා 6800 කි 😉

ඊට අමතරව, ඔබට ස්ථාවර අත්, EPSN-25 පෑස්සුම් යකඩ, රෝසින් සහ POS-60 පෑස්සුම් අවශ්ය වනු ඇත.

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

මීට වසර 5 කට පෙර පවා මම තඹ තුඩක් සහිත සෝවියට් පෑස්සුම් යකඩයක් භාවිතා කළෙමි (පෑස්සුම් ස්ථාන මට වැඩ කළේ නැත - මම එය පරීක්ෂණ ධාවකයක් සඳහා ගෙන EPSN සමඟ පරිපථය අවසන් කළෙමි).
නමුත් එහි අසාර්ථකත්වය සහ චීන බිහිසුණු ව්‍යාජ කිහිපයකින් පසුව, දෙවැන්න ස්පාටා ලෙස නම් කරන ලදී - එහි නම තරම් දරුණු දෙයක් නතර විය.
තාප ස්ථායයක් සහිත නිෂ්පාදනයක් මත.

ඉතින් අපි යමු!

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

ආරම්භ කිරීම සඳහා, අපි GSM මොඩියුලයෙන් LED දෙකක් විකුණමු (ඒවා තිබූ ස්ථානය තැඹිලි පැහැති ඕවලාකාරයකින් රවුම් කර ඇත)
අපි මුද්‍රිත පරිපථ පුවරුවට ස්පර්ශක පෑඩ් සමඟ SIM කාඩ්පත ඇතුල් කරන්නෙමු, ඡායාරූපයේ ඇති වටකුරු කෙළවර ඊතලයකින් දැක්වේ.

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

ඉන්පසු අපි Arduino පුවරුවේ LED සමඟ සමාන ක්‍රියා පටිපාටියක් කරන්නෙමු (වර්ග චිපයේ වමට ඕවලාකාර),
පනාව සම්බන්ධතා හතරකට පාස්සන්න (1),
අපි 20k ප්‍රතිරෝධක දෙකක් ගන්නෙමු, ඊයම් එක පැත්තකින් කරකවන්නෙමු, කරකැවීම A5 පින් සිදුරට පාස්සන්නෙමු, ඉතිරි ඊයම් arduino හි RAW සහ GND හි ඇත (2),
අපි ඡායාරූප ප්‍රතිරෝධකයේ කකුල් 10mm දක්වා කෙටි කර එය පුවරුවේ GND සහ D2 අල්ෙපෙනති වලට පෑස්සෙමු (3).

දැන් ද්විත්ව ඒක පාර්ශවීය ටේප් වල නිල් විදුලි ටේප් එක සඳහා කාලයයි - අපි එය සන්නිවේදන මොඩියුලයේ සිම් කාඩ් පතේ දරන්නාට ඇලවිය යුතු අතර ඉහළින් - ආර්ඩුයිනෝ - රතු (රිදී) බොත්තම අපට මුහුණ දෙන අතර සිම් කාඩ්පතට ඉහළින් පිහිටා ඇත.

අපි බල සැපයුම පාස්සන්නෙමු: ප්ලස් සන්නිවේදන මොඩියුලයේ ධාරිත්‍රකයේ (4) සිට RAW arduino පින් වෙත.
කාරණය නම් සන්නිවේදන මොඩියුලයටම එහි බල සැපයුම සඳහා 3.4-4.2V අවශ්‍ය වන අතර එහි PWR ස්පර්ශය පියවර-පහළ පරිවර්තකයකට සම්බන්ධ කර ඇති බැවින් li-ion වලින් ක්‍රියා කිරීමට නම්, පරිපථයේ මෙම කොටස මඟ හැර වෝල්ටීයතාවයක් සැපයිය යුතුය.

Arduino හි, ඊට ප්‍රතිවිරුද්ධව, අපි රේඛීය පරිවර්තකයක් හරහා විදුලිය සපයන්නෙමු - අඩු ධාරා පරිභෝජනයකදී, පහත වැටීමේ වෝල්ටීයතා පහත වැටීම 0.1V වේ.
නමුත් HX711 මොඩියුල සඳහා ස්ථායී වෝල්ටීයතාවයක් සැපයීමෙන්, අපි ඒවා අඩු වෝල්ටීයතාවයකට වෙනස් කිරීමේ අවශ්‍යතාවයෙන් මිදෙන්නෙමු (සහ ඒ සමඟම මෙම මෙහෙයුමේ ප්‍රති result ලයක් ලෙස වැඩිවන ශබ්දයෙන්).

ඊළඟට අපි PWR-A5, URX-D1 සහ UTX-D4, බිම් GND-G (5) අතර ජම්පර් (6) පාස්සන අතර අවසානයේ 18650 බැටරි රඳවනයෙන් (7), ඇන්ටෙනාව සම්බන්ධ කරන්න (8).
දැන් අපි USB-TTL පරිවර්තකයක් ගෙන ඩුපොන්ට් වයර් සමඟ RXD-TXD සහ TXD-RXD, GND-GND සම්බන්ධතා ARDUINO වෙත සම්බන්ධ කරමු (පනාව 1):

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

ඉහත ඡායාරූපයෙහි දෝශ නිරාකරණය සඳහා භාවිතා කරන ලද පද්ධතියේ පළමු අනුවාදය (තුනක) පෙන්වයි.

නමුත් දැන් අපි පෑස්සුම් යකඩයෙන් ටික වේලාවක් විවේකයක් ගෙන මෘදුකාංග කොටස වෙත යන්නෙමු.
මම වින්ඩෝස් සඳහා ක්‍රියා අනුපිළිවෙල විස්තර කරමි:
පළමුව, ඔබ වැඩසටහන බාගත කර ස්ථාපනය / ඉවත් කළ යුතුය Arduino IDE - වත්මන් අනුවාදය 1.8.9, නමුත් මම 1.6.4 භාවිතා කරමි

සරල බව සඳහා, අපි සංරක්ෂිතය C: arduino - “your_version_number” ෆෝල්ඩරයට අසුරන්නෙමු, ඇතුළත අපට ෆෝල්ඩර / දිස්ත්‍රික්කය, ධාවක, උදාහරණ, දෘඩාංග, java, lib, පුස්තකාල, යොමු, මෙවලම් මෙන්ම arduino ක්‍රියාත්මක කළ හැකි ගොනුව ඇත. (අනෙකුත් අතර).

දැන් අපට ADC සමඟ වැඩ කිරීමට පුස්තකාලයක් අවශ්‍ය වේ HX711 — හරිත බොත්තම “ක්ලෝන හෝ බාගැනීම” — ZIP බාගන්න.
අන්තර්ගතය (ෆෝල්ඩරය HX711-master) C:arduino-“your_version_number”libraries නාමාවලියෙහි තබා ඇත.

සහ ඇත්ත වශයෙන්ම සඳහා රියදුරු USB-TTL එකම github වෙතින් - ඇසුරුම් නොකළ ලේඛනාගාරයෙන්, ස්ථාපනය සරලව SETUP ගොනුව සමඟ දියත් කෙරේ.

හරි, අපි C:arduino-“your_version_number”arduino වැඩසටහන දියත් කර වින්‍යාස කරමු

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

“මෙවලම්” අයිතමයට යන්න - “Arduino Pro හෝ Pro Mini” පුවරුව, Atmega 328 3.3V 8 MHz ප්‍රොසෙසරය, වරාය - පද්ධතිය COM1 හැර වෙනත් අංකයක් තෝරන්න (එය USB-TTL ඇඩැප්ටරය සමඟ CH340 ධාවකය ස්ථාපනය කිරීමෙන් පසුව දිස්වේ. සම්බන්ධිත)

හරි, පහත සටහන (වැඩසටහන) පිටපත් කර එය 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);

  }

}

පළමු පේළියේ, උද්ධෘතවල, char phone_no[]=”+123456789012″; — 123456789012 වෙනුවට, SMS යවනු ලබන රටේ කේතය සමඟ ඔබේ දුරකථන අංකය යොදන්න.

දැන් අපි චෙක් බොත්තම ඔබන්න (ඉහත තිර පිටුවේ අංක එකට ඉහළින්) - පතුලේ නම් (තිරයේ අංක තුන යටතේ) "සංග්‍රහය සම්පූර්ණයි" - එවිට අපට ක්ෂුද්‍ර පාලකය ෆ්ලෑෂ් කළ හැකිය.

ඉතින්, USB-TTL ARDUINO සහ පරිගණකයට සම්බන්ධ කර, ආරෝපණය කළ බැටරිය රඳවනය තුළට දමන්න (සාමාන්‍යයෙන් නව Arduino හි LED තත්පරයකට වරක් දැල්වීමට පටන් ගනී).

දැන් ස්ථිරාංග සඳහා - අපි මයික්‍රොකොන්ට්‍රෝලරයේ රතු (රිදී) බොත්තම එබීම සඳහා පුහුණු වෙමින් සිටිමු - මෙය නිශ්චිත මොහොතක දැඩි ලෙස සිදු කිරීමට අවශ්‍ය වනු ඇත !!!
කන්නද? "පූරණය" බොත්තම ක්ලික් කරන්න (තිර රුවෙහි ඇති දෙකට ඉහළින්), සහ අතුරු මුහුණතේ පතුලේ ඇති රේඛාව දෙස හොඳින් බලන්න (තිර පිටුවේ තුන යටතේ).
“සම්පාදනය” සෙල්ලිපිය “බාගැනීම” ලෙස වෙනස් වූ වහාම, රතු බොත්තම ඔබන්න (නැවත පිහිටුවන්න) - සියල්ල හරි නම්, USB-TTL ඇඩැප්ටරයේ විදුලි පහන් ප්‍රීතියෙන් බැබළෙනු ඇත, සහ අතුරු මුහුණතේ පතුලේ “උඩුගත කරන ලද සෙල්ලිපිය ”

දැන්, අපි පරීක්ෂණ SMS දුරකථනයට පැමිණෙන තෙක් බලා සිටින අතරතුර, වැඩසටහන ක්‍රියා කරන ආකාරය මම ඔබට කියමි:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

ඡායාරූපය නිදොස් කිරීමේ ස්ථාවරයේ දෙවන අනුවාදය පෙන්වයි.

පළමු වරට සක්‍රිය කළ විට, පද්ධතිය EEPROM හි බයිට් අංක 500 සහ 501 පරීක්ෂා කරයි; ඒවා සමාන නම්, ක්‍රමාංකන දත්ත සටහන් නොවන අතර ඇල්ගොරිතම සැකසුම් අංශයට යයි.
සක්‍රිය කළ විට, ෆොටෝ රෙසිස්ටරය සෙවන ලද (පෑන තොප්පියකින්) නම් එකම දේ සිදු වේ - යළි පිහිටුවීමේ මාදිලිය සක්‍රිය කර ඇත.

අපි ආරම්භක ශුන්‍ය මට්ටම සවි කර පසුව බරෙහි වෙනස මැනීම (දැන් අපි කිසිවක් සම්බන්ධ කර නොමැති බැවින් දැන් බිංදු පැමිණේ) බැවින් පැටවුම් සෛල දැනටමත් වද යට ස්ථාපනය කර තිබිය යුතුය.
ඒ සමගම, pin 13 හි බිල්ට් LED එක Arduino මත දැල්වීමට පටන් ගනී.
යළි පිහිටුවීමක් සිදු නොවන්නේ නම්, LED තත්පර 12 ක් දැල්වෙයි.
මෙයින් පසු, "INITIAL BOOT OK" සහ බැටරි වෝල්ටීයතාවය සමඟ පරීක්ෂණ කෙටි පණිවුඩයක් යවනු ලැබේ.
සන්නිවේදන මොඩියුලය ක්‍රියා විරහිත වන අතර මිනිත්තු 3 කට පසු Arduino පුවරුව HX711 ADC පුවරු නින්ද ප්‍රකාරයට දමා නිදා ගනී.
වැඩ කරන GSM මොඩියුලයකින් බාධා නොකිරීමට මෙම ප්‍රමාදය සිදු කරන ලදී (නිවා දැමීමෙන් පසු, එය යම් කාලයක් සඳහා "බෝංචි" වේ).

මීලඟට, අපට දෙවන පින් එකෙහි ඡායාරූප සංවේදක බාධාවක් ඇත (ප්ලස් කාර්යය සක්රිය කර ඇත).
මෙම අවස්ථාවෙහිදී, ප්‍රේරකයෙන් පසුව, ෆොටෝ රෙසිස්ටරයේ තත්වය තවත් මිනිත්තු 3 ක් සඳහා පරීක්ෂා කරනු ලැබේ - නැවත නැවත / ව්‍යාජ ප්‍රේරක ඉවත් කිරීම සඳහා.
සාමාන්‍ය දෙය නම්, වලාකුළු සහිත කාලගුණය තුළ තාරකා විද්‍යාත්මක හිරු බැස යෑමෙන් මිනිත්තු 10 කට පසුව සහ පැහැදිලි කාලගුණය තුළ 20 කින් පද්ධතිය කිසිදු ගැලපීමක් නොමැතිව ක්‍රියාත්මක වීමයි.
ඔව්, පද්ධතිය සක්‍රිය කරන සෑම අවස්ථාවකම එය යළි පිහිටුවීම සිදු නොවන පරිදි, අවම වශයෙන් පළමු HX711 මොඩියුලය (pins DT-D10, SCK-A0) සම්බන්ධ කළ යුතුය.

එවිට වික්‍රියා මාපකවල කියවීම් ගනු ලැබේ, පෙර මෙහෙයුමෙන් බර වෙනස් වීම ගණනය කරනු ලැබේ (Hive පසු රේඛාවේ පළමු අංකය) සහ පළමු සක්‍රිය කිරීමේ සිට බැටරි වෝල්ටීයතාව පරීක්ෂා කර මෙම තොරතුරු කෙටි පණිවුඩයක් ලෙස යවනු ලැබේ:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

මාර්ගය වන විට, ඔබට SMS ලැබුණිද? සුභ පැතුම්! අපි එහි අඩක්! දැනට බැටරිය රඳවනයෙන් ඉවත් කළ හැක; අපට තවදුරටත් පරිගණකය අවශ්‍ය නොවනු ඇත.

මාර්ගය වන විට, මෙහෙයුම් පාලන මධ්‍යස්ථානය මෙයොනීස් භාජනයක තැබිය හැකි තරම් සංයුක්ත විය; මගේ නඩුවේදී, 30x60x100mm (ව්‍යාපාරික කාඩ්පත් වලින්) මනින පාරභාසක පෙට්ටියක් හොඳින් ගැලපේ.

ඔව්, සන්නිවේදන මොඩියුලය හේතුවෙන් නිදි පද්ධතිය ~ 2.3mA - 90% ක් පරිභෝජනය කරයි - එය සම්පූර්ණයෙන්ම අක්‍රිය නොවේ, නමුත් පොරොත්තු මාදිලියට යයි.

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

අපි සංවේදක සෑදීම ආරම්භ කරමු; පළමුව, අපි සංවේදකවල පිරිසැලසුම ස්පර්ශ කරමු:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

මෙය වඩාත් කාර්යබහුල දර්ශනයේ සැලැස්මකි.

සම්භාව්‍ය වශයෙන්, සංවේදක 4 ක් කොන් වල ස්ථාපනය කර ඇත (1,2,3,4)

අපි වෙනස් ආකාරයකින් මැන බලමු. එසේත් නැතිනම්, තුන්වන ආකාරයෙන් පවා. මොකද BroodMinder වල අය ඒක කරන්නේ වෙනස් විදියට.

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

මෙම සැලසුමේ දී, සංවේදක 1 සහ 2 ස්ථානවල ස්ථාපනය කර ඇත, ලකුණු 3,4 සහ XNUMX කදම්බය මත රැඳී ඇත.
එවිට සංවේදකවල බරෙන් අඩක් පමණි.
ඔව්, මෙම ක්‍රමයට අඩු නිරවද්‍යතාවයක් ඇත, නමුත් මී මැස්සන් මී වදයේ එක් බිත්තියක් දිගේ පැණි වද “දිව” සමඟ සියලු රාමු ගොඩනඟනු ඇතැයි සිතීම තවමත් දුෂ්කර ය.

එබැවින්, සාමාන්යයෙන් 5 වන ලක්ෂ්යයට සංවේදක අඩු කිරීමට මම යෝජනා කරමි - එවිට පද්ධතිය ආරක්ෂා කිරීම අවශ්ය නොවේ, සැහැල්ලු වද භාවිතා කරන විට, එය එක් සංවේදකයක් සමඟ සිදු කිරීම සම්පූර්ණයෙන්ම අවශ්ය වේ.

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

සාමාන්‍යයෙන්, අපි HX711 හි මොඩියුල වර්ග දෙකක්, සංවේදක වර්ග දෙකක් සහ ඒවා සම්බන්ධ කිරීම සඳහා විකල්ප දෙකක් පරීක්ෂා කළෙමු - සම්පූර්ණ Wheatstone පාලමක් (2 සංවේදක) සහ අඩක් සමඟ, දෙවන කොටස 1k ප්‍රතිරෝධක සමඟ අතිරේක වූ විට 0.1% ඉවසීම.
නමුත් අවසාන ක්‍රමය නුසුදුසු වන අතර සංවේදක නිෂ්පාදකයින් විසින් පවා නිර්දේශ නොකරයි, එබැවින් මම පළමුවැන්න පමණක් විස්තර කරමි.

එබැවින්, එක් වදයක් සඳහා අපි වික්‍රියා මාපක දෙකක් සහ එක් HX711 මොඩියුලයක් ස්ථාපනය කරන්නෙමු, රැහැන් සටහන පහත පරිදි වේ:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

ADC පුවරුවේ සිට Arduino දක්වා වයර් 5 දුරකථන කේබල් මීටර් 4 ක් ඇත - මී මැස්සන් මී වදයේ ඇති GSM උපාංගවලට අකමැති ආකාරය අපට මතකයි.

පොදුවේ ගත් කල, අපි සංවේදක මත සෙන්ටිමීටර 8 ක “වලිග” තබමු, ඇඹරුණු යුගලය ඉවත් කර ඉහත ඡායාරූපයේ මෙන් සියල්ල පෑස්සෙමු.

ඔබ වඩු වැඩ කොටස ආරම්භ කිරීමට පෙර, ජල ස්නානයක උණු කිරීම සඳහා සුදුසු භාජනයක ඉටි / පැරෆින් තබන්න.

දැන් අපි අපේ දැව රැගෙන මිලිමීටර් 100 බැගින් කොටස් තුනකට බෙදන්නෙමු

ඊළඟට, අපි 25 mm පළල, 7-8 mm ගැඹුරට කල්පවත්නා වලක් සලකුණු කරමු, හැක්සෝ සහ චිසල් භාවිතයෙන් අතිරික්තය ඉවත් කරන්න - U- හැඩැති පැතිකඩක් මතු විය යුතුය.

ඉටි රත් වෙලාද? - අපි අපේ ADC පුවරු එහි ගිල්වන්නෙමු - මෙය තෙතමනය / මීදුමෙන් ආරක්ෂා කරයි:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

අපි ඒ සියල්ල ලී පදනමක් මත තබමු (එය කුණුවීම වැළැක්වීම සඳහා විෂබීජ නාශකයක් සමඟ ප්රතිකාර කළ යුතුය):

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

අවසාන වශයෙන්, අපි ස්වයං-කිරි කැපීමේ ඉස්කුරුප්පු වලින් සංවේදක සවි කරමු:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

නිල් විදුලි පටි සහිත විකල්පයක් ද තිබුණි, නමුත් මනුෂ්‍යත්වයේ හේතූන් මත මම එය ඉදිරිපත් නොකරමි 😉

Arduino පැත්තෙන් අපි පහත දේ කරන්නෙමු:

අපි අපේ දුරකථන කේබල් ගලවා, පාට වයර් එකට කරකවා, ඒවා ටින් කරන්නෙමු.

ඊට පසු, ඡායාරූපයේ ඇති පරිදි පුවරු සම්බන්ධතා වලට පෑස්සුම් කරන්න:

ඩොලර් 30 කට මී වද තුනක බර SMS-අධීක්ෂණය

එපමණයි, දැන් අවසාන පරීක්ෂාව සඳහා, අපි රවුමේ අංශවල සංවේදක තබමු, ඉහළින් ප්ලයිවුඩ් කැබැල්ලක්, පාලකය නැවත සකසන්න (අපි ෆොටෝඩියෝඩය මත පෑන තොප්පියක් සහිත බැටරියක් තබමු).

ඒ සමඟම, Arduino මත LED දැල්විය යුතු අතර පරීක්ෂණ SMS එකක් පැමිණිය යුතුය.

ඊළඟට, ෆොටෝසෙල් එකෙන් තොප්පිය ඉවත් කර ලීටර් 1.5 ප්ලාස්ටික් බෝතලයකට වතුර පුරවන්න.
අපි බෝතලය ප්ලයිවුඩ් මත තබා එය සක්‍රිය කර මිනිත්තු කිහිපයක් ගත වී ඇත්නම්, අපි තොප්පිය නැවත ෆොටෝ රෙසිස්ටරය මත තබමු (හිරු බැස යෑමක් අනුකරණය කරමින්).

මිනිත්තු තුනකට පසු, Arduino හි LED දැල්වෙන අතර, ඔබට සියලුම ස්ථානවල බර කිලෝග්‍රෑම් 1 ක පමණ බර අගයක් සහිත කෙටි පණිවුඩයක් ලැබිය යුතුය.

සුභ පැතුම්! පද්ධතිය සාර්ථකව එකලස් කර ඇත!

අපි දැන් පද්ධතිය නැවත වැඩ කිරීමට බල කළහොත්, පළමු බර තීරුවේ බිංදු ඇත.

ඔව්, සැබෑ තත්ත්‍වයේ දී ෆොටෝ රෙසිස්ටරය සිරස් අතට ඉහළට දිශානත කිරීම යෝග්‍ය වේ.

දැන් මම කෙටි පරිශීලක අත්පොතක් දෙන්නම්:

  1. වද වල පසුපස බිත්ති යටින් වික්‍රියා මාපක සවි කරන්න (ඉදිරිපසට යටින් මිලිමීටර් 30ක් ඝන කදම්භයක්/පුවරුවක් තබන්න)
  2. ෆොටෝ රෙසිස්ටරය සෙවණ කර බැටරිය ස්ථාපනය කරන්න - LED එක දැල්විය යුතු අතර ඔබට “මුල් බූට් හරි” යන පාඨය සහිත පරීක්ෂණ කෙටි පණිවුඩයක් ලැබෙනු ඇත.
  3. මී මැස්සන් සමඟ වැඩ කිරීමේදී වයර්වලට බාධා නොවන පරිදි වද වලින් උපරිම දුරින් මධ්යම ඒකකය තබන්න.
    සෑම සන්ධ්‍යාවකම, හිරු බැස යෑමෙන් පසු, දවස සහ දියත් කළ මොහොතේ සිට ඔබේ බර වෙනස් කිරීම් සමඟ කෙටි පණිවුඩයක් යවනු ලැබේ.
    බැටරි වෝල්ටීයතාව 3.5V දක්වා ළඟා වූ විට, කෙටි පණිවුඩය "!!!" රේඛාවෙන් අවසන් වේ. බැටරිය ආරෝපණය කරන්න!!!"
    එක් 2600mAh බැටරියක මෙහෙයුම් කාලය මාසයක් පමණ වේ.
    බැටරිය ප්රතිස්ථාපනය කළහොත්, වද වල බරෙහි දෛනික වෙනස්කම් මතක නැත.

ඊළඟට කුමක්ද?

  1. මේ සියල්ල github සඳහා ව්‍යාපෘතියකට ඇතුළත් කරන්නේ කෙසේදැයි සොයා බලන්න
  2. පලිවෝද ක්‍රමයේ මී මැසි පවුල් 3ක් ආරම්භ කරන්න (හෝ මිනිසුන් තුළ අං ඇති අය)
  3. “බනිස්” එකතු කරන්න - ආර්ද්‍රතාවය, උෂ්ණත්වය මැනීම සහ වඩාත්ම වැදගත් - මී මැස්සන්ගේ ශබ්දය විශ්ලේෂණය කිරීම.

දැනට එපමණයි, අවංකවම ඔබේ, විදුලි මීමැසි පාලක ඇන්ඩ්‍රේ

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න