30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Xeyr, bu kommersiya təklifi deyil, məqaləni oxuduqdan sonra yığa biləcəyiniz sistem komponentlərinin qiymətidir.

Bir az fon:

Bir müddət əvvəl mən arılar almağa qərar verdim və onlar bütün mövsüm üçün göründülər, lakin qışı tərk etmədilər.
Və bu, hər şeyi düzgün etdiyinə baxmayaraq - payızda əlavə qidalar, soyuqdan əvvəl istiləşmə.
Pətək 10 mm-lik lövhədən 40 çərçivə üçün klassik taxta sistem "Dadan" idi.
Lakin həmin qış temperaturun dəyişməsi səbəbindən hətta təcrübəli arıçılar da adi haldan çox itki veriblər.

Pətək sağlamlığının monitorinqi sistemi ideyası belə yarandı.
Habr haqqında bir neçə məqalə dərc etdikdən və arıçılar forumunda danışdıqdan sonra sadədən mürəkkəbə keçməyə qərar verdim.
Çəki yeganə mübahisəsiz parametrdir, lakin bir qayda olaraq, mövcud sistemlər yalnız bir "istinad" kovanını izləyir.
Əgər onunla bir şey səhv olarsa (məsələn, sürü getməsi, arı xəstəliyi), onda göstəricilər əhəmiyyətsiz olur.

Buna görə də, bir mikrokontroller ilə bir anda üç pətəyin çəkisinin dəyişməsini izləmək və sonra digər "yaxşılıqları" əlavə etmək qərara alındı.
Nəticədə, bir 18650 batareya doldurulması ilə təxminən bir ay işləmə müddəti olan və gündə bir dəfə statistika göndərən muxtar sistem əldə etdik.
Dizaynı mümkün qədər sadələşdirməyə çalışdım ki, hətta diaqramlar olmadan, bir fotoşəkildən təkrarlana bilsin.

Əməliyyat məntiqi belədir: ilk başlanğıc / sıfırlamada, kovanların altında quraşdırılmış sensorların oxunuşları EEPROM-da saxlanılır.
Bundan əlavə, hər gün gün batdıqdan sonra sistem "oyanır", oxunuşları oxuyur və gündə çəki dəyişikliyi ilə və işə salındığı andan SMS göndərir.
Bundan əlavə, batareya gərginliyinin dəyəri ötürülür və 3.5V-ə düşəndə, şarj ehtiyacı barədə xəbərdarlıq verilir, çünki 3.4V-dən aşağı rabitə modulu açılmır və çəki oxunuşları artıq “üzən” uzaq”.

"Hər şeyin necə başladığını xatırlayırsanmı? Hər şey ilk dəfə idi və təkrarlanırdı.
30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti
Bəli, bu, əvvəlcə belə bir "dəmir" dəsti idi, baxmayaraq ki, son versiyaya yalnız gərginlikölçənlər və məftillər sağ qaldı, lakin ilk növbədə.
Əslində kabel yuvası lazım deyil, sadəcə olaraq 30m düz eyni qiymətə çıxdı.

3 smd-LED və yarım yüz adi (çıxış) lehimləmə nöqtələrini sökməkdən qorxmursunuzsa, gedin!

Beləliklə, bizə aşağıdakı avadanlıq / materiallar dəsti lazımdır:

  1. Arduino Pro Mini 3V
    Xətti çevirici çipinə diqqət yetirməlisiniz - tam olaraq 3.3V olmalıdır - çipdə KB 33 / LB 33 / DE A10 işarəsi - Çinlilər mənimlə və bütün partiya ilə bir şey qarışdırdılar.
    mağazadakı lövhələr 5 voltluq tənzimləyicilər və 16 MHz-də kvars olduğu ortaya çıxdı.
  2. CH340 çipindəki USB-Ttl - hətta 5 volt da mümkündür, lakin sonra mikrokontrolörün proqram təminatı zamanı Arduino, sonuncunu yandırmamaq üçün GSM modulundan ayrılmalıdır.
    PL2303 çipinə əsaslanan lövhələr Windows 10-da işləmir.
  3. GSM rabitə modulu Goouu Tech IOT GA-6-B və ya AI-THINKER A-6 Mini.
    Niyə orada dayandın? Neoway M590 - qavallarla ayrı rəqslər tələb edən konstruktor, GSM SIM800L - hətta üç voltluq arduino ilə koordinasiya tələb edən qeyri-standart 2.8V məntiq səviyyəsini bəyənmədi.
    Bundan əlavə, AiThinker-in həlli minimal enerji istehlakına malikdir (SMS göndərərkən 100mA-dan yuxarı bir cərəyan görmədim).
  4. Antenna GSM GPRS 3DBI (yuxarıdakı fotoşəkildə - "quyruq" ilə düzbucaqlı bir eşarp, saat 9-da)
  5. Arıxana yerinizdə yaxşı əhatə dairəsi olan operator üçün başlanğıc paketi.
    Bəli, paket əvvəlcə adi telefonda aktivləşdirilməli, girişdə PİN TƏLƏBİ QƏDİL EDİLməli və hesabı doldurmalıdır.
    İndi "Sensor", "IoT" kimi adları olan bir çox variant var - onların aylıq ödənişi bir qədər aşağıdır.
  6. tel dupont 20sm qadın-qadın — 3 ədəd. (Arduino-nu USB-TTL-yə qoşmaq üçün)
  7. 3 ədəd. HX711 - tərəzi üçün ADC
  8. 6 kq-a qədər çəki üçün 50 yük hüceyrəsi
  9. 15 metr 4 telli telefon kabeli - çəki modullarını ARDUINO ilə birləşdirmək üçün.
  10. Fotorezistor GL5528 (məhz bu vacibdir, 1MΩ qaranlıq müqavimət və 10-20kΩ işıq müqaviməti ilə) və iki şərti 20k rezistor
  11. 18x18 mm ölçülü ikitərəfli "qalın" lent parçası - arduino-nu rabitə moduluna qoşmaq üçün.
  12. 18650 batareya sahibi və əslində batareyanın özü ~ 2600 mAh.
  13. Bir az mum və ya parafin (aroma lampası şam-tablet) - nəmdən qorunmaq üçün HX711
  14. Gərginlikölçənlərin əsası üçün 25x50x300 mm ölçülü taxta şüa parçası.
  15. Sensorları bazaya bağlamaq üçün 4,2x19 mm pres yuyucusu olan bir çox özünü vurma vintləri.

Batareyanı noutbukların sökülməsindən götürmək olar - yenisindən dəfələrlə ucuzdur və tutumu Çin UltraFire-dan daha böyük olacaq - 1500-yə qarşı 450 aldım (bu yanğın üçün 6800 😉

Bundan əlavə, əyri olmayan əllər, EPSN-25 lehimləmə dəmiri, rozin və POS-60 lehiminə ehtiyacınız olacaq.

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

5 il əvvəl mən mis sancaqlı sovet lehimləmə dəmirindən istifadə etdim (lehimləmə stansiyaları mənim üçün işləmədi - mən onu sınaq sürücüsünə apardım və dövrəni EPSN ilə bitirdim).
Lakin uğursuzluğundan və bir neçə Çin dəhşətli saxta (d) ağacından sonra sonuncunun adı Sparta idi - adı kimi sərt bir şey dayandı.
termostatlı məhsulda.

Beləliklə, gedək!

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Başlamaq üçün GSM modulundan iki LED-i açırıq (narıncı ovalda dairəvi yer)
SİM kartı kontakt yastıqları ilə çap dövrə lövhəsinə daxil edirik, fotoşəkildə əyilmiş künc bir ox ilə göstərilir.

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Sonra Arduino lövhəsindəki LED ilə oxşar proseduru həyata keçiririk (kvadrat çipin solunda oval),
Tarağı dörd kontakta lehimləyirik (1),
İki 20k rezistoru götürürük, bir tərəfdən kabelləri bükürük, bükümü A5 kontaktının dəliyinə lehimləyirik, qalanları arduino-nun RAW və GND-də (2),
Fotorezistorun ayaqlarını 10 mm-ə qədər qısaldırıq və lövhənin GND və D2 pinlərinə lehimləyirik (3).

İndi ikitərəfli lentin mavi elektrik lentinin vaxtı gəldi - biz onu rabitə modulunun SİM kart sahibinə yapışdırırıq, yuxarıda - arduino - qırmızı (gümüş) düymə bizə baxır və SİM kartın üstündədir.

Gücü lehimləyirik: üstəgəl rabitə modulunun (4) kondansatöründən RAW arduino pininə qədər.
Fakt budur ki, rabitə modulunun özü enerji təchizatı üçün 3.4-4.2V tələb edir və onun PWR kontaktı aşağı endirici çeviriciyə qoşulur, buna görə də li-iondan işləmək üçün dövrənin bu hissəsini keçərək gərginlik verilməlidir.

Arduino-da, əksinə, xətti bir çevirici vasitəsilə enerji veririk - aşağı cərəyan istehlakında, düşmə geriliminin düşməsi 0.1V-dir.
Ancaq HX711 modullarına stabilləşdirilmiş bir gərginlik tətbiq etməklə, biz onları daha aşağı gərginlik üçün dəyişdirmək ehtiyacından (və eyni zamanda bu əməliyyat nəticəsində artan səs-küydən) xilas oluruq.

Sonra PWR-A5, URX-D1 və UTX-D4 kontaktları, GND-G torpaq (5) və nəhayət, 6 batareya tutucusundan (18650) enerji təchizatı arasında keçidləri (7) lehimləyirik, antenanı birləşdirin (8). ).
İndi bir USB-TTL çeviricisini götürürük və RXD-TXD və TXD-RXD, GND-GND kontaktlarını Dupont naqilləri ilə ARDUINO-ya qoşuruq (taraq 1):

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Yuxarıdakı fotoşəkildə sazlama üçün istifadə edilən sistemin ilk versiyası (üçdən) göstərilir.

İndi biz bir müddət lehimləmə dəmirindən ayrılacağıq və proqram hissəsinə keçəcəyik.
Windows üçün hərəkətlərin ardıcıllığını təsvir edəcəyəm:
Əvvəlcə proqramı yükləməli və quraşdırmalı/paketdən çıxarmalısınız Arduino IDE - cari versiya 1.8.9-dur, amma mən 1.6.4-dən istifadə edirəm

Sadəlik üçün arxivi C: arduino-"your_version number" qovluğuna açırıq, içərisində /dist, driverlər, nümunələr, hardware, java, lib, kitabxanalar, istinad, alətlər qovluqları, həmçinin arduino icra edilə bilən faylı olacaq. (başqaları arasında).

İndi ADC ilə işləmək üçün bizə kitabxana lazımdır HX711 - yaşıl düymə "klon və ya yüklə" - ZIP-i yükləyin.
Məzmun (HX711-master qovluğu) C: arduino-"your_version_number"kitabxanalar kataloqunda yerləşdirilir.

Və əlbəttə ki, sürücü üçün USB-TTL eyni github-dan - açılmamış arxivdən quraşdırma sadəcə SETUP faylı tərəfindən işə salınır.

Tamam, C proqramını işlədin və konfiqurasiya edin: arduino-"your_version number" arduino

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

"Alətlər" maddəsinə keçirik - "Arduino Pro və ya Pro Mini" lövhəsini, Atmega 328 3.3V 8 MHz prosessorunu, portu - COM1 sistemindən başqa bir nömrəni seçin (USB-TTL ilə CH340 sürücüsünü quraşdırdıqdan sonra görünür. adapter qoşulmuşdur)

Yaxşı, aşağıdakı eskizi (proqramı) kopyalayın və Arduino IDE pəncərəsinə yapışdırın

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

  }

}

Birinci sətirdə dırnaq içərisində char phone_no[]="+123456789012"; - 123456789012 əvəzinə SMS göndəriləcəyi ölkə kodu ilə telefon nömrəmizi qoyuruq.

İndi yoxlama düyməsini sıxırıq (yuxarıdakı ekran görüntüsündə bir nömrənin üstündə) - aşağıda (ekrandakı üçünün altında) "Tərtibat tamamlandı" - onda mikrokontrolleri yandıra bilərik.

Beləliklə, USB-TTL ARDUINO və kompüterə qoşulmuşdur, biz tutucuya doldurulmuş batareya qoyuruq (adətən yeni arduinoda LED saniyədə bir dəfə yanıb-sönməyə başlayır).

İndi proqram təminatı - mikrokontrolörün qırmızı (gümüş) düyməsini basmağı öyrədirik - bunu müəyyən bir anda ciddi şəkildə etmək lazımdır !!!
Yemək? "Yüklə" düyməsini basın (ekran görüntüsündə ikisinin üstündə) və interfeysin altındakı xəttə (ekranın üçünün altında) diqqətlə baxın.
"Tərtib" yazısı "yükləmə" ilə əvəz olunan kimi - qırmızı düyməni basın (sıfırlayın) - hər şey qaydasındadırsa - USB-TTL adapterindəki işıqlar sevinclə yanıb-sönür və interfeysin altındakı "Yüklənmişdir" yazısı "

İndi test SMS-in telefona gəlməsini gözləyərkən sizə proqramın necə işlədiyini söyləyəcəyəm:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Fotoda - ayıklama stendinin ikinci versiyası.

İlk dəfə işə salındıqda sistem EEPROM-un 500 və 501 nömrəli baytlarını yoxlayır, əgər onlar bərabərdirsə, onda kalibrləmə məlumatları yazılmır və alqoritm quraşdırma bölməsinə keçir.
Eyni şey, yandırıldıqda, fotorezistor kölgələnərsə (qələm qapağı ilə) baş verir - sıfırlama rejimi aktivləşdirilir.

Yük hüceyrələri artıq pətəklərin altına quraşdırılmalıdır, çünki biz sadəcə sıfırın ilkin səviyyəsini düzəldirik və sonra çəki dəyişikliyini ölçürük (indi sadəcə sıfırlar gələcək, çünki biz hələ heç nə bağlamamışıq).
Eyni zamanda, pin 13-ün daxili LEDi Arduino-da yanıb-sönəcək.
Əgər sıfırlama baş vermirsə, LED 12 saniyə yanır.
Bundan sonra, "İLK BOOT OK" mesajı və batareyanın gərginliyi ilə bir test SMS göndərilir.
Rabitə modulu sönür və 3 dəqiqədən sonra Arduino lövhəsi HX711 ADC lövhələrini yuxu rejiminə keçirir və öz-özünə yuxuya gedir.
Belə bir gecikmə işləyən GSM modulundan pikapları tutmamaq üçün edilir (onu söndürdükdən sonra bir müddət "fonitləşir").

Sonra, ikinci pində bir fotoşəkil sensoru kəsilməsi var (müsbət pullup pullup funksiyası ilə aktivləşdirilir).
Eyni zamanda, daha 3 dəqiqə işə salındıqdan sonra fotorezistorun vəziyyəti yoxlanılır - təkrarlanan / yanlış müsbətləri istisna etmək üçün.
Məlumat üçün bildirək ki, heç bir tənzimləmə olmadan sistem buludlu havada astronomik gün batdıqdan 10 dəqiqə sonra, aydın havada isə 20 dəqiqə sonra işləyir.
Bəli, sistem hər dəfə işə salındıqda sıfırlanmaması üçün ən azı ilk HX711 modulu qoşulmalıdır (pinlər DT-D10, SCK-A0)

Sonra yük hüceyrələrinin oxunuşları götürülür, əvvəlki əməliyyatdan çəki dəyişikliyi hesablanır (Hive-dən sonra sətirdəki ilk rəqəm) və ilk daxiletmədən batareyanın gərginliyi yoxlanılır və bu məlumat şəklində göndərilir. SMS:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Yeri gəlmişkən, mətn mesajı almısınız? Təbrik edirik! Biz yolun ortasındayıq! Batareyanı hələ də tutucudan çıxarmaq olar, kompüterə daha çox ehtiyacımız olmayacaq.

Yeri gəlmişkən, missiya idarəetmə mərkəzi o qədər yığcam oldu ki, mayonez qabına sığa bilər, mənim vəziyyətimdə 30x60x100 mm ölçülü şəffaf qutu (vizit kartlarından) mükəmməl uyğun gəlir.

Bəli, yuxu sistemi ~2.3mA istehlak edir - rabitə modulu sayəsində 90% - tamamilə sönmür, ancaq gözləmə rejiminə keçir.

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Sensorların istehsalına davam edirik, başlanğıc üçün sensorların tərtibatına toxunaq:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Pətək planı budur - yuxarıdan görünüş.

Klassik olaraq künclərdə 4 sensor quraşdırılmışdır (1,2,3,4)

Fərqli ölçü götürəcəyik. Daha doğrusu, hətta üçüncü yolla. Çünki BroodMinder-dən olan uşaqlar bunu fərqli edirlər:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Bu dizaynda sensorlar 1 və 2-ci mövqelərdə quraşdırılır, 3,4 və XNUMX-cü nöqtələr şüa üzərində dayanır.
Sonra sensorlar çəkinin yalnız yarısını təşkil edir.
Bəli, bu üsul daha az dəqiqliyə malikdir, lakin arıların pətəklərin bir divarı boyunca bütün çərçivələri pətəklərin "dilləri" ilə qurduğunu təsəvvür etmək hələ də çətindir.

Beləliklə, mən ümumiyyətlə sensorları 5-ci nöqtəyə endirməyi təklif edirəm - onda sistemi qorumağa ehtiyac yoxdur və yüngül pətəklərdən istifadə edərkən ümumiyyətlə bir sensorla edə bilərsiniz.

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Ümumiyyətlə, HX711-də iki növ modul, iki növ sensor və onların qoşulması üçün iki variant sınaqdan keçirildi - tam Wheatstone körpüsü ilə (2 sensor) və ikinci hissə 1k rezistor ilə tamamlandıqda yarım ilə. tolerantlıq 0.1%.
Ancaq sonuncu üsul arzuolunmazdır və hətta sensor istehsalçıları tərəfindən tövsiyə edilmir, buna görə də yalnız birincisini təsvir edəcəyəm.

Beləliklə, bir pətəkdə iki yük hüceyrəsi və bir HX711 modulu quraşdıracağıq, məftil diaqramı aşağıdakı kimidir:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

ADC lövhəsindən arduinoya qədər 5 metr 4 nüvəli telefon kabeli var - arıların pətəkdəki GSM cihazlarını necə sevmədiyini xatırlayırıq.

Ümumiyyətlə, biz sensorlarda 8 sm "quyruqları" buraxırıq, bükülmüş cütü təmizləyirik və yuxarıdakı fotoşəkildə olduğu kimi hər şeyi açırıq.

Dülgərliyə başlamazdan əvvəl, mumu/parafini su banyosunda əritmək üçün uyğun bir qaba qoyun.

İndi taxtamızı götürürük və hər biri 100 mm olan üç seqmentə bölürük

Bundan sonra, 25 mm genişlikdə, 7-8 mm dərinlikdə uzununa bir yiv qeyd edirik, artıqlığı çıxarmaq üçün bir mişar və bir kəsik istifadə edin - U şəklində bir profil çıxmalıdır.

Mum istiləşib? - ADC lövhələrimizi oraya batırırıq - bu onları nəmdən / dumandan qoruyacaq:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Hamısını taxta bir bazaya qoyuruq (çürümədən antiseptiklə müalicə etmək lazımdır):

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Və nəhayət, sensorları özünü vurma vintləri ilə düzəldirik:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Mavi elektrik lenti ilə başqa bir seçim var idi, amma insanlıq səbəbi ilə bunu gündəmə gətirmirəm 😉

Arduino tərəfdən aşağıdakıları edin:

Telefon kabellərimizi təmizləyirik, rəngli naqilləri bir-birinə bükürük, oyun oynayırıq.

Bundan sonra, fotoşəkildə olduğu kimi lövhənin kontaktlarına lehimləyin:

30 dollara üç arı pətəyinin çəkisinin SMS-nəzarəti

Budur, indi son yoxlama üçün sensorları dairənin sektorlarına, üstünə - bir kontrplak parçası qoyduq, nəzarətçini sıfırladıq (batareyanı fotodiodda qələm qapağı ilə qoyduq).

Eyni zamanda, arduino üzərindəki LED yanıb-sönməli və sınaq SMS-i gəlməlidir.

Sonra qapağı fotoseldən çıxarırıq və 1.5 litrlik plastik şüşəyə su yığmağa gedirik.
Şüşəni kontrplak üzərinə qoyduq və işə başlamasından bir neçə dəqiqə keçibsə, qapağı yenidən fotorezistora qoyuruq (qürubun qürubunu təqlid edirik).

Üç dəqiqədən sonra arduino-dakı LED yanacaq və bütün mövqelərdə təxminən 1 kq çəki dəyərləri olan bir SMS almalısınız.

Təbrik edirik! sistem uğurla yığıldı!

İndi sistemi yenidən işləməyə məcbur etsək, çəkinin birinci sütununda sıfırlar alınacaq.

Bəli, real şəraitdə fotorezistoru şaquli olaraq yuxarıya yönəltmək arzu edilir.

İndi istifadə üçün qısa bir təlimat verəcəyəm:

  1. Pətəklərin arxa divarlarının altına yük hüceyrələrini quraşdırın (ön hissələrin altına ~ 30 mm qalınlığında bir şüa / lövhə ilə əvəz edin)
  2. Fotorezistoru kölgələyin və batareyanı qoyun - LED yanıb-sönməlidir və "İLKİN BOOT OK" mətni ilə bir test SMS gələcək.
  3. Mərkəzi bloku pətəklərdən maksimum məsafədə yerləşdirin və arılarla işləyərkən naqillər mane olmasın.
    Hər axşam, gün batdıqdan sonra SMS gündə və işə salındıqdan sonra çəki dəyişikliyi ilə gələcək.
    Akkumulyatorun gərginliyi 3.5V-ə çatdıqda SMS “!!!” xətti ilə bitəcək. BATARYAYA DOLDURUN!!!"
    2600 mAh tutumlu bir akkumulyatorun işləmə müddəti təxminən bir aydır.
    Batareyanın dəyişdirilməsi halında, pətəklərin gündəlik çəki dəyişiklikləri yadda saxlanmır.

Növbəti nədir?

  1. Bütün bunları github üçün bir layihədə necə təşkil edəcəyinizi anlayın
  2. Palivoda sisteminin pətəklərində (və ya insanlarda buynuzlu) 3 arı koloniyası var.
  3. "Çörəklər" əlavə edin - rütubətin, temperaturun ölçülməsi və ən əsası - arıların vızıltısının təhlili.

Hələlik bu qədər, səmimi qəlbdən, elektrik arıçısı Andrey

Mənbə: www.habr.com

Добавить комментарий