30 доллараар гурван үүрний жинг SMS-ээр хянадаг

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Үгүй ээ, энэ бол арилжааны санал биш, энэ бол нийтлэлийг уншсаны дараа угсарч болох системийн бүрэлдэхүүн хэсгүүдийн өртөг юм.

Бага зэрэг дэвсгэр:

Хэсэг хугацааны өмнө би зөгий авахаар шийдсэн бөгөөд тэд бүх улирлын турш гарч ирсэн боловч өвлийн овоохойноос гараагүй.
Энэ нь тэр бүх зүйлийг зөв хийж байгаа мэт санагдаж байсан ч намрын нэмэлт тэжээл, хүйтэн цаг агаараас өмнө дулаалга хийх.
Энэ үүр нь 10 мм-ийн хавтангаар хийсэн 40 хүрээ бүхий сонгодог модон "Дадан" систем байв.
Гэвч тэр өвөл температурын хэлбэлзлээс болж туршлагатай зөгийчид ч гэсэн ердийнхөөс хамаагүй их хэмжээгээр алдсан.

Зөгийн үүрний нөхцөл байдлыг хянах системийн санаа ингэж гарч ирэв.
Хабрын талаар хэд хэдэн нийтлэл нийтэлж, зөгийчдийн форумд хандсаны дараа би энгийнээс нарийн төвөгтэй рүү шилжихээр шийдсэн.
Жин бол цорын ганц маргаангүй параметр боловч дүрмээр бол одоо байгаа системүүд зөвхөн нэг "лавлагаа" үүрийг хянадаг.
Хэрэв ямар нэг зүйл буруу болвол (жишээлбэл, сүрэг, зөгий өвчин гарах гэх мэт) үзүүлэлтүүд нь хамааралгүй болно.

Тиймээс гурван үүрний жингийн өөрчлөлтийг нэг микроконтроллер ашиглан нэг дор хянаж, дараа нь бусад "сайн зүйл" нэмэхээр шийдсэн.
Үүний үр дүнд 18650 батерейны нэг цэнэглэлтээр нэг сар орчим ажиллах хугацаатай, өдөрт нэг удаа статистик мэдээлэл илгээдэг бие даасан систем болов.
Би дизайныг аль болох хялбарчлахыг хичээсэн бөгөөд ингэснээр диаграммгүйгээр, зөвхөн гэрэл зургаас давтаж болно.

Үйлдлийн логик нь дараах байдалтай байна: эхний эхлүүлэх/дахин тохируулах үед үүрний доор суурилуулсан мэдрэгчийн заалтыг EEPROM-д хадгалдаг.
Дараа нь өдөр бүр нар жаргасны дараа систем "сэрдэг", уншилтыг уншиж, тухайн өдрийн жингийн өөрчлөлт, асаалттай үеэс эхлэн SMS илгээдэг.
Нэмж дурдахад батерейны хүчдэлийн утгыг дамжуулж, 3.5 В хүртэл буурах үед цэнэглэх шаардлагатай байгаа тухай анхааруулга өгдөг, учир нь 3.4 В-оос доош харилцаа холбооны модуль асахгүй, жингийн заалт аль хэдийн "хөвдөг".

"Энэ бүхэн хэрхэн эхэлснийг санаж байна уу. Бүх зүйл анх удаагаа байсан."
30 доллараар гурван үүрний жинг SMS-ээр хянадаг
Тийм ээ, энэ нь зөвхөн хүчдэл хэмжигч ба утаснууд л эцсийн хувилбар хүртэл амьд үлдсэн боловч хамгийн түрүүнд хийгдсэн тоног төхөөрөмжийн багц юм.
Үнэн хэрэгтээ танд кабелийн ороомог хэрэггүй, энэ нь 30 м шулуун кабельтай ижил үнэтэй болсон.

Хэрэв та 3 SMD LED болон ердийн (гаралтын) гагнуурын хагас зуун цэгийг задлахаас айхгүй бол яваарай!

Тиймээс бидэнд дараах тоног төхөөрөмж/материал хэрэгтэй болно.

  1. Arduino Pro Mini 3V
    Та шугаман хөрвүүлэгчийн микро схемд анхаарлаа хандуулах хэрэгтэй - энэ нь яг 3.3V байх ёстой - чип дээр KB 33/LB 33/DE A10 тэмдэглэгээ - миний хятадууд ямар нэг зүйл буруу болсон бөгөөд бүхэл бүтэн багц
    Дэлгүүрт байгаа хавтангууд нь 5 вольтын тогтворжуулагч, 16 МГц-ийн талстуудтай болсон.
  2. CH340 чип дээрх USB-Ttl - та 5 вольтын ч гэсэн ашиглаж болно, гэхдээ дараа нь микроконтроллерыг асааж байх үед Arduino-г 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 илгээх үед 100 мА-аас их гүйдэл олж хараагүй).
  4. GSM GPRS 3DBI антен (дээрх зураг дээр - "сүүлтэй" тэгш өнцөгт ороолт, 9 цагт)
  5. Таны зөгийн үүрний байршилд сайн хамрах хүрээтэй операторын гарааны багц.
    Тиймээ, багцыг эхлээд энгийн утсанд идэвхжүүлж, нэвтрэх үед PIN ХҮСЭЛТИЙГ ИДЭВХГҮЙ БОЛГОЖ, дансаа цэнэглэнэ үү.
    Одоо "Мэдрэгч", "IoT" гэсэн хэв маягтай олон сонголтууд байдаг - захиалгын төлбөр арай бага байна.
  6. dupont утас 20см эмэгтэй-эмэгтэй - 3 ширхэг. (Arduino-г USB-TTL руу холбох)
  7. 3 ширхэг. HX711 - Жинлүүрийн ADC
  8. 6 кг хүртэл жинтэй ачааны 50 үүр
  9. 15 метрийн 4 цөмт утасны кабель - жингийн модулиудыг ARDUINO-д холбоход зориулагдсан.
  10. Фоторезистор GL5528 (энэ нь 1 МОм-ийн харанхуй эсэргүүцэлтэй, 10-20 кОм-ийн гэрлийн эсэргүүцэлтэй хамгийн чухал зүйл) ба хоёр энгийн 20 кОм эсэргүүцэлтэй.
  11. 18х18 мм хэмжээтэй хоёр талт "зузаан" соронзон хальс - Arduino-г холбооны модульд холбоход зориулагдсан.
  12. 18650 батерей эзэмшигч ба үнэндээ зай нь өөрөө ~ 2600 мАч байна.
  13. Бага зэрэг лав эсвэл парафин (лааны шахмал үнэрт чийдэн) - чийгээс хамгаалах зориулалттай HX711
  14. Модон дам нурууны 25x50x300 мм-ийн хэсэг нь омог хэмжүүрийн суурь.
  15. Мэдрэгчийг сууринд бэхлэх зориулалттай 4,2х19 мм хэмжээтэй пресс угаагч бүхий хэдэн арван өөрөө түншдэг эрэг.

Батерейг зөөврийн компьютерийг задлахаас авч болно - энэ нь шинийг бодвол хэд дахин хямд бөгөөд хүчин чадал нь Хятадын UltraFire-ээс хамаагүй их байх болно - би 1500-ийн эсрэг 450 авсан (энэ нь галын хувьд 6800 юм 😉)

Үүнээс гадна танд тогтвортой гар, EPSN-25 гагнуурын төмөр, жилий, POS-60 гагнуур хэрэгтэй болно.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

5 жилийн өмнө би Зөвлөлтийн гагнуурын төмрийг зэс үзүүртэй ашиглаж байсан (гагнуурын станцууд надад тохирохгүй байсан - би үүнийг туршилтын жолоодлого хийж, хэлхээг EPSN-ээр дуусгасан).
Гэвч бүтэлгүйтэл болон хэд хэдэн хятадын аймшигт хуурамч зүйлсийн дараа сүүлчийнх нь Спарта гэж нэрлэгддэг байсан - энэ нь түүний нэр шиг ноцтой зүйл байсан ч зогссон.
термостат бүхий бүтээгдэхүүн дээр.

За явцгаая!

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Эхлэхийн тулд бид GSM модулиас хоёр LED-ийг задалдаг (тэдгээрийн байрласан газрыг улбар шар зууван хэлбэрээр дугуйлсан)
Бид SIM картыг контактын дэвсгэр бүхий хэвлэмэл хэлхээний самбарт оруулдаг, зураг дээрх налуу буланг сумаар зааж өгсөн болно.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Дараа нь бид Arduino самбар дээрх LED-тэй ижил төстэй процедурыг гүйцэтгэдэг (дөрвөлжин чипний зүүн талд зууван),
Самыг дөрвөн контакт руу гагнах (1),
Бид хоёр 20к резистор авч, утсыг нэг талдаа мушгиж, мушгиа A5 зүүний нүхэнд гагнаж, үлдсэн утаснууд нь arduino-ийн RAW ба GND-д байна (2),
Бид фоторезисторын хөлийг 10 мм хүртэл богиносгож, хавтангийн GND ба D2 зүү (3) дээр гагнах болно.

Одоо хоёр талт соронзон хальсны цэнхэр цахилгаан соронзон хальсны цаг болжээ - бид үүнийг холбооны модулийн SIM карт эзэмшигч дээр нааж, дээр нь - Arduino - улаан (мөнгө) товчлуур нь бидний нүүрэн дээр байрладаг бөгөөд SIM картны дээр байрладаг.

Бид цахилгаан хангамжийг гагнаж байна: холболтын модулийн конденсатораас (4) RAW arduino зүү хүртэл.
Баримт нь харилцаа холбооны модуль нь өөрөө тэжээлийн хангамжийн хувьд 3.4-4.2V шаарддаг бөгөөд түүний PWR контакт нь доош буулгагч хөрвүүлэгчтэй холбогдсон тул ли-ионоос ажиллахын тулд хэлхээний энэ хэсгийг тойрч хүчдэлийг хангах ёстой.

Arduino-д эсрэгээр бид шугаман хөрвүүлэгчээр дамжуулан эрчим хүчийг нийлүүлдэг - гүйдэл багатай үед уналтын хүчдэл 0.1V байна.
Гэхдээ HX711 модулиудад тогтворжсон хүчдэлийг нийлүүлснээр бид тэдгээрийг бага хүчдэл болгон өөрчлөх шаардлагаас (мөн энэ үйл ажиллагааны үр дүнд дуу чимээ ихсэхээс) ангижрах болно.

Дараа нь бид PWR-A5, URX-D1 ба UTX-D4 зүү хооронд холбогчийг (5) гагнаж, GND-G (6) газардуулж, эцэст нь 18650 батерей эзэмшигчээс (7) тэжээл өгч, антеныг (8) холбоно.
Одоо бид USB-TTL хөрвүүлэгч авч, RXD-TXD ба TXD-RXD, GND-GND контактуудыг Dupont утсаар ARDUINO (сам 1) руу холбоно.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Дээрх зураг нь дибаг хийхэд ашигласан системийн эхний хувилбарыг (гурваас) харуулж байна.

Гэхдээ одоо бид гагнуурын төмрөөс хэсэг хугацаанд завсарлага аваад програм хангамжийн хэсэг рүү шилжих болно.
Би Windows-д зориулсан үйлдлийн дарааллыг тайлбарлах болно:
Эхлээд та програмыг татаж аваад суулгаж/ задлах хэрэгтэй Arduino IDE - Одоогийн хувилбар нь 1.8.9, гэхдээ би 1.6.4 ашигладаг

Хялбар болгохын тулд бид архивыг C: arduino - "таны_хувилбарын_тоо" хавтас руу задална, дотор нь бид хавтас /dist, драйверууд, жишээнүүд, техник хангамж, java, lib, номын сан, лавлагаа, хэрэгслүүд, мөн arduino-н гүйцэтгэх файлтай байх болно. (бусдын дунд).

Одоо бидэнд ADC-тай ажиллах номын сан хэрэгтэй байна HX711 - "клон эсвэл татаж авах" ногоон товчлуур - ZIP татаж авах.
Агуулга (HX711-master хавтас) нь C: arduino-“таны_хувилбарын_тоо” номын сангуудын санд байрлана.

Мэдээжийн хэрэг жолооч USB-TTL ижил github-аас - задалсан архиваас суулгацыг зүгээр л SETUP файлаар эхлүүлдэг.

За, C:arduino-“таны_хувилбарын_тоо” arduino программыг ажиллуулж, тохируулцгаая.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

"Хэрэгслүүд" хэсэгт очно уу - "Arduino Pro эсвэл Pro Mini" самбар, Atmega 328 3.3V 8 МГц процессор, порт - системийн COM1-ээс өөр дугаарыг сонгоно уу (энэ нь CH340 драйверийг USB-TTL адаптераар суулгасны дараа гарч ирнэ. холбогдсон)

За, дараах ноорог (програм) хуулж аваад 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 дугаарын оронд утасны дугаараа мессеж илгээх улсын кодыг оруулна уу.

Одоо бид шалгах товчийг дарна (дээрх дэлгэцийн зурган дээрх нэг тооноос дээш) - хэрэв доод талд (дэлгэц дээрх гурван дугаарын доор) "Эмхтгэл дууссан" бол бид микроконтроллерыг асааж болно.

Тиймээс USB-TTL нь ARDUINO болон компьютерт холбогдсон бөгөөд цэнэглэгдсэн зайгаа үүрэнд хийнэ (ихэвчлэн шинэ Arduino дээрх LED секундэд нэг удаа анивчдаг).

Одоо програм хангамжийн хувьд - бид микроконтроллерийн улаан (мөнгө) товчлуурыг дарж сургаж байна - үүнийг тодорхой цагт хатуу хийх шаардлагатай болно !!!
идэх үү? "Ачаалах" товчийг дарна уу (дэлгэцийн агшин дээрх хоёрын дээр), интерфэйсийн доод талд байгаа мөрийг анхааралтай харна уу (дэлгэцийн зураг дээрх гурвын доор).
"Эмхтгэл" гэсэн бичээс нь "татаж авах" болж өөрчлөгдөхөд улаан товчлуурыг дарна уу (дахин тохируулах) - хэрэв бүх зүйл хэвийн байвал USB-TTL адаптер дээрх гэрэл баяр хөөртэй анивчих ба интерфейсийн доод талд "Татаж авсан" гэсэн бичээс гарч ирнэ. ”

Одоо бид утсан дээр тестийн SMS ирэхийг хүлээж байх хооронд би програм хэрхэн ажилладагийг танд хэлэх болно.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Зураг дээр дибаг хийх тавиурын хоёр дахь хувилбарыг харуулав.

Анх удаа асаалттай үед систем нь EEPROM-ийн 500 ба 501-р байтуудыг шалгадаг бөгөөд хэрэв тэдгээр нь тэнцүү бол шалгалт тохируулгын өгөгдөл бичигдээгүй бөгөөд алгоритм нь тохиргооны хэсэг рүү шилждэг.
Хэрэв асаалттай үед фоторезистор сүүдэрлэж байвал (үзэгний малгайгаар) ижил зүйл тохиолддог - дахин тохируулах горим идэвхжсэн.

Ачааллын эсүүдийг үүрний доор аль хэдийн суулгасан байх ёстой, учир нь бид зүгээр л анхны тэг түвшинг засч, дараа нь жингийн өөрчлөлтийг хэмждэг (одоо тэгүүд гарч ирэх болно, учир нь бид юу ч холбогдоогүй байна).
Үүний зэрэгцээ 13-р зүү дээр суурилуулсан LED нь Arduino дээр анивчих болно.
Хэрэв дахин тохируулахгүй бол LED 12 секундын турш асна.
Үүний дараа "ЭХНИЙ АЧААЛАЛТ OK" гэсэн мессеж болон батерейны хүчдэлийн тестийн мессежийг илгээнэ.
Харилцаа холбооны модуль унтарч, 3 минутын дараа Arduino самбар HX711 ADC хавтанг унтах горимд оруулж, өөрөө унтдаг.
Энэ саатал нь ажиллаж байгаа GSM модулийн хөндлөнгийн оролцоог авахгүйн тулд хийгдсэн (унтрасны дараа хэсэг хугацаанд "буурдаг").

Дараа нь бид хоёр дахь зүү дээр фото мэдрэгчийн тасалдалтай (нэмэх функц идэвхжсэн).
Энэ тохиолдолд өдөөлт хийсний дараа фоторезисторын төлөвийг дахин 3 минутын турш шалгана - давтан / худал гохыг арилгах.
Ердийн зүйл бол үүлэрхэг цаг агаарт одон орны нар жаргаснаас хойш 10 минутын дараа, цэлмэг цаг агаарт 20 минутын дараа ямар ч тохируулгагүйгээр систем идэвхждэг.
Тийм ээ, системийг асаах болгонд дахин тохируулахгүйн тулд дор хаяж эхний HX711 модулийг (DT-D10, SCK-A0 зүү) холбосон байх ёстой.

Дараа нь омог хэмжигчүүдийн уншилтыг авч, өмнөх үйлдлээс жингийн өөрчлөлтийг тооцоолно (Hive-ийн дараах мөрөнд байгаа эхний тоо), эхний идэвхжүүлэлтээс эхлэн батерейны хүчдэлийг шалгаж, энэ мэдээллийг SMS хэлбэрээр илгээнэ.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Дашрамд хэлэхэд, та SMS хүлээн авсан уу? Баяр хүргэе! Бид хагас тийшээ ирлээ! Батерейг одоохондоо эзэмшигчээс салгаж болно, бидэнд компьютер хэрэггүй болно.

Дашрамд хэлэхэд, номлолын хяналтын төв нь майонезаас саванд хийж болохуйц авсаархан болсон бөгөөд миний хувьд 30x60x100 мм хэмжээтэй тунгалаг хайрцаг (нэрийн хуудаснаас) төгс тохирно.

Тиймээ, унтах систем нь ~2.3мА зарцуулдаг - холбооны модулийн улмаас 90% - энэ нь бүрэн унтардаггүй, харин зогсолтын горимд ордог.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Мэдрэгч хийж эхэлцгээе, эхлээд мэдрэгчийн зохион байгуулалтыг харцгаая.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Энэ бол үүрний төлөвлөгөө - дээд талаас нь харах.

Сонгодог байдлаар буланд 4 мэдрэгч суурилуулсан (1,2,3,4)

Бид өөрөөр хэмжих болно. Эсвэл бүр гурав дахь аргаар. Учир нь BroodMinder-ийн залуус үүнийг өөрөөр хийдэг.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Энэ загварт мэдрэгчийг 1 ба 2-р байрлалд суурилуулсан бөгөөд 3,4, XNUMX-р цэгүүд нь цацраг дээр байрладаг.
Дараа нь мэдрэгч нь зөвхөн хагас жинг эзэлдэг.
Тийм ээ, энэ арга нь нарийвчлал багатай боловч зөгий үүрний нэг хананы дагуу зөгийн сархинагаас "хэл" бүхий бүх хүрээг барина гэж төсөөлөхөд хэцүү хэвээр байна.

Тиймээс, би мэдрэгчийг 5-р цэгт нэгтгэхийг санал болгож байна - тэгвэл системийг хамгаалах шаардлагагүй бөгөөд хөнгөн үүрийг ашиглахдаа нэг мэдрэгчтэй ажиллах шаардлагатай болно.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Ерөнхийдөө бид HX711 дээр хоёр төрлийн модуль, хоёр төрлийн мэдрэгч, тэдгээрийг холбох хоёр сонголтыг туршиж үзсэн - бүрэн Wheatstone гүүр (2 мэдрэгч), хоёр дахь хэсэг нь 1к резистороор тоноглогдсон үед хагас. хүлцэл 0.1%.
Гэхдээ сүүлийн арга нь хүсээгүй бөгөөд мэдрэгч үйлдвэрлэгчид ч зөвлөдөггүй тул би зөвхөн эхнийхийг л тайлбарлах болно.

Тиймээс, нэг үүрэнд бид хоёр хүчдэл хэмжигч, нэг HX711 модулийг суурилуулна, холболтын диаграмм нь дараах байдалтай байна.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

ADC самбараас Arduino хүртэл 5 метр 4 утастай утасны кабель байна - Зөгий үүрэнд байгаа GSM төхөөрөмжид дургүй байдгийг бид санаж байна.

Ерөнхийдөө бид мэдрэгч дээр 8 см-ийн "сүүл" үлдээж, эрчилсэн хосыг хуулж, дээрх зурган дээрх бүх зүйлийг гагнах болно.

Мужааны хэсгийг эхлүүлэхийн өмнө лав/парафиныг усан ваннд хайлуулах тохиромжтой саванд хийнэ.

Одоо бид модоо аваад 100 мм-ийн гурван хэсэгт хуваана

Дараа нь бид 25 мм өргөн, 7-8 мм гүнтэй уртааш ховилыг тэмдэглэж, илүүдлийг хөрөө, цүүц ашиглан арилгана - U хэлбэрийн профиль гарч ирнэ.

Лав дулаарсан уу? - бид ADC хавтангуудыг тэнд дүрдэг - энэ нь чийг/манангаас хамгаална:

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Бид бүгдийг нь модон суурь дээр тавьдаг (ялзрахаас сэргийлэхийн тулд антисептикээр эмчлэх шаардлагатай):

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Эцэст нь бид мэдрэгчийг өөрөө түншдэг эрэг ашиглан засдаг.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Цэнхэр цахилгаан соронзон хальсны сонголт бас байсан, гэхдээ би үүнийг хүн төрөлхтний шалтгаанаар танилцуулахгүй байна 😉

Arduino талаас бид дараахь зүйлийг хийдэг.

Бид утасныхаа кабелийг хуулж, өнгөт утсыг хооронд нь мушгиж, цагаан тугалга болгодог.

Үүний дараа зураг дээрх шиг хавтангийн контактуудыг гагнах хэрэгтэй.

30 доллараар гурван үүрний жинг SMS-ээр хянадаг

Ингээд л эцсийн шалгалтын хувьд бид мэдрэгчийг тойргийн хэсгүүдэд байрлуулж, дээд талд нь фанер байрлуулж, хянагчийг дахин тохируулав (бид фотодиод дээр үзэгний тагтай зайг байрлуулсан).

Үүний зэрэгцээ Arduino дээрх LED анивчих ба туршилтын SMS ирэх ёстой.

Дараа нь тагийг фотоселээс аваад усыг 1.5 литрийн хуванцар саванд хийнэ.
Бид лонхыг фанер дээр тавиад, асаалтаас хойш хэдэн минут өнгөрсөн бол тагийг нь фоторезистор дээр (нар жаргахыг дуурайлган) буцааж хийнэ.

Гурван минутын дараа Arduino дээрх LED гэрэл асах бөгөөд та бүх байрлалд ойролцоогоор 1 кг жинтэй SMS хүлээн авах ёстой.

Баяр хүргэе! Системийг амжилттай угсарлаа!

Хэрэв бид одоо системийг дахин ажиллуулахыг албадвал эхний жингийн баганад тэг байх болно.

Тиймээ, бодит нөхцөлд фоторезисторыг босоо байдлаар дээш чиглүүлэхийг зөвлөж байна.

Одоо би богино хэрэглэгчийн гарын авлагыг өгөх болно:

  1. Зөгий үүрний арын ханан дор тенз хэмжигч суурилуулах (урд талынх нь доор ~30мм зузаантай дам нуруу/хавтан байрлуулах)
  2. Фоторезисторыг сүүдэрлэж, батарейг суулгана уу - LED нь анивчих ба та "ЭХНИЙ АЧААЛАЛТ OK" гэсэн бичвэртэй туршилтын SMS хүлээн авах болно.
  3. Зөгийтэй ажиллахад утаснууд саад болохгүй байхын тулд төв нэгжийг үүрнээс хамгийн их зайд байрлуулна.
    Орой бүр нар жаргасны дараа таны жингийн өөрчлөлтийг тухайн өдрийн болон хөөргөх мөчөөс эхлэн SMS хүлээн авах болно.
    Батерейны хүчдэл 3.5V хүрэхэд SMS "!!!" гэсэн шугамаар дуусна. Батарейгаа цэнэглэ!!!"
    Нэг 2600 мАч батерейны ажиллах хугацаа нэг сар орчим байна.
    Хэрэв зайг сольсон бол үүрний жингийн өдөр тутмын өөрчлөлтийг санахгүй байна.

Дараа нь юу юм бэ?

  1. Энэ бүгдийг github-д зориулсан төсөлд хэрхэн оруулахаа олж мэдээрэй
  2. Паливода системийн үүрэнд (эсвэл хүмүүсийн эвэрт) 3 зөгийн бүлийг бий болго.
  3. Агаарын чийгшил, температурыг хэмжих, хамгийн чухал нь зөгий шуугианыг шинжлэх "банк" нэмнэ.

Энэ бол одоохондоо, чин сэтгэлээсээ, цахилгаан зөгийчин Андрей

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх