Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Hayır, bu ticari bir teklif değildir, yazıyı okuduktan sonra monte edebileceğiniz sistem bileşenlerinin maliyetidir.

Küçük bir arka plan:

Bir süre önce arı almaya karar verdim ve arılar tüm sezon boyunca ortaya çıktılar ama kış kulübesinden ayrılmadılar.
Ve bu, her şeyi doğru yapıyor gibi görünmesine rağmen - sonbaharda tamamlayıcı beslenme, soğuk havalardan önce izolasyon.
Kovan, 10 mm'lik tahtalardan yapılmış 40 çerçeveli klasik bir ahşap "Dadan" sistemiydi.
Ancak o kış sıcaklık dalgalanmaları nedeniyle deneyimli arıcılar bile normalden çok daha fazlasını kaybetti.

Kovanın durumunu izlemeye yönelik bir sistem fikri bu şekilde ortaya çıktı.
Habr hakkında birkaç makale yayınladıktan ve arıcılar forumunda iletişim kurduktan sonra basitten karmaşığa doğru gitmeye karar verdim.
Ağırlık tartışılmaz tek parametredir, ancak kural olarak mevcut sistemler yalnızca bir "referans" kovanı izler.
Bir şeyler ters giderse (örneğin sürünün ayrılması, arı hastalığı), göstergeler geçersiz hale gelir.

Bu nedenle, üç kovanın ağırlığındaki değişimin tek bir mikrodenetleyici kullanılarak aynı anda izlenmesine ve daha sonra başka "güzellikler" eklenmesine karar verildi.
Sonuç, 18650 pilin tek şarjıyla yaklaşık bir ay çalışma süresine sahip ve günde bir kez istatistik gönderen otonom bir sistemdi.
Tasarımı, diyagramlar olmadan, sadece fotoğraflardan tekrarlanabilsin diye mümkün olduğunca basitleştirmeye çalıştım.

Çalışma mantığı şu şekildedir: İlk başlatma/sıfırlama sırasında kovanların altına yerleştirilen sensörlerin okumaları EEPROM'da saklanır.
Daha sonra her gün, gün batımından sonra sistem "uyanır", okumaları okur ve açıldığı andan itibaren o günkü ağırlık değişimini içeren bir SMS gönderir.
Ek olarak, akü voltaj değeri iletilir ve 3.5V'a düştüğünde, şarj edilmesi gerektiği konusunda bir uyarı verilir, çünkü 3.4V'nin altında iletişim modülü açılmaz ve ağırlık okumaları zaten "uçup gider".

"Her şeyin nasıl başladığını hatırlıyor musun? Her şey ilk kez ve tekrar oldu.”
Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi
Evet, bu tam olarak başlangıçtaki donanım setidir, ancak son versiyona kadar yalnızca gerinim ölçerler ve teller hayatta kalmıştır, ancak öncelikle ilk şeyler.
Aslında kablolu bobine ihtiyacınız yok, sadece 30 metrelik düz bobinle aynı fiyat olduğu ortaya çıktı.

3 SMD LED'i sökmekten ve yarım yüz geleneksel (çıkış) lehimlemeden korkmuyorsanız, o zaman gidin!

Bu nedenle aşağıdaki ekipman/malzemelere ihtiyacımız olacak:

  1. Arduino ProMini 3V
    Doğrusal dönüştürücü mikro devresine dikkat etmelisiniz - tam olarak 3.3V olmalıdır - çip üzerinde KB 33/LB 33/DE A10 işareti var - Çinlilerimde bir sorun var ve tüm parti
    Mağazadaki panoların 5 voltluk regülatörlere ve 16MHz kristallere sahip olduğu ortaya çıktı.
  2. CH340 yongasındaki USB-Ttl - 5 voltluk bir tane bile kullanabilirsiniz, ancak daha sonra mikro denetleyiciyi yanıp sönerken, ikincisini yakmamak için Arduino'nun GSM modülüyle bağlantısının kesilmesi gerekecektir.
    PL2303 yongasını temel alan kartlar Windows 10 altında çalışmaz.
  3. GSM iletişim modülü Goouu Tech IOT GA-6-B veya AI-THINKER A-6 Mini.
    Neden orada durdun? Teflerle ayrı danslar gerektiren bir tasarımcı olan Neoway M590, GSM SIM800L - üç voltluk bir Arduino ile bile koordinasyon gerektiren standart dışı 2.8V mantık seviyesinden hoşlanmadı.
    Ayrıca AiThinker'ın çözümü minimum enerji tüketimine sahip (SMS gönderirken 100mA'den yüksek bir akım görmedim).
  4. GSM GPRS 3DBI anteni (yukarıdaki fotoğrafta - saat 9 yönünde "kuyruklu" dikdörtgen bir eşarp)
  5. Arı kovanınızın bulunduğu yerde iyi kapsama alanına sahip bir operatörün başlangıç ​​paketi.
    Evet, paketin öncelikle normal bir telefonda etkinleştirilmesi, girişte PIN İSTEĞİNİN DEVRE DIŞI BIRAKILMASI ve hesabınıza yükleme yapılması gerekir.
    Artık "Sensör", "IoT" tarzında adlara sahip birçok seçenek var - bunların abonelik ücretleri biraz daha düşük.
  6. dupont tel 20cm dişi-dişi - 3 adet. (Arduino'yu USB-TTL'ye bağlamak için)
  7. 3 parça. HX711 - Teraziler için ADC
  8. 6 kg'a kadar ağırlıklar için 50 yük hücresi
  9. 15 metre 4 çekirdekli telefon kablosu - ağırlık modüllerini ARDUINO'ya bağlamak için.
  10. Fotodirenç GL5528 (bu, 1 MΩ karanlık direnci ve 10-20 kΩ ışık direnci ile önemli olanıdır) ve iki sıradan 20 kΩ direnç
  11. Arduino'yu iletişim modülüne takmak için bir parça çift taraflı "kalın" bant 18x18mm.
  12. 18650 pil tutucusu ve aslında pilin kendisi ~2600mAh'dir.
  13. Biraz balmumu veya parafin (mum-tablet aroma lambası) - neme karşı koruma için HX711
  14. Gerinim ölçerlerin tabanı için 25x50x300 mm'lik bir parça ahşap kiriş.
  15. Sensörleri tabana tutturmak için 4,2x19 mm'lik pres rondelalı bir düzine kendinden kılavuzlu vida.

Pil dizüstü bilgisayarların sökülmesinden alınabilir - yenisinden birkaç kat daha ucuzdur ve kapasite Çin UltraFire'ınkinden çok daha büyük olacaktır - 1500'e karşı 450 aldım (bu yangın için 6800 😉)

Ayrıca sabit ellere, EPSN-25 havyaya, reçineye ve POS-60 lehime ihtiyacınız olacak.

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

5 yıl önce bile bakır uçlu bir Sovyet havyası kullandım (lehimleme istasyonları benim için işe yaramadı - onu bir test sürüşüne çıkardım ve devreyi bir EPSN ile bitirdim).
Ancak başarısızlığından ve birkaç Çin canavarca sahtekarlığından sonra, ikincisine Sparta adı verildi; adı kadar sert bir şey durduruldu.
termostatlı bir üründe.

O zaman hadi gidelim!

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Başlamak için, GSM modülünden iki LED'i söküyoruz (bulundukları yer turuncu bir oval içinde daire içine alınmıştır)
SIM kartı temas yüzeyleriyle birlikte baskılı devre kartına takıyoruz, fotoğraftaki eğimli köşe bir okla gösteriliyor.

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Daha sonra Arduino kartındaki LED ile benzer bir işlem gerçekleştiriyoruz (kare çipin solundaki oval),
Tarağı dört kontağa (1) lehimleyin,
İki adet 20k direnç alıyoruz, uçları bir tarafa büküyoruz, bükümü A5 pininin deliğine lehimliyoruz, geri kalan uçlar arduino'nun RAW ve GND'sinde (2),
Fotorezistörün bacaklarını 10 mm'ye kısaltıp kartın GND ve D2 pinlerine (3) lehimliyoruz.

Şimdi çift taraflı banttan oluşan mavi elektrik bandının zamanı geldi - onu iletişim modülünün SIM kart tutucusuna yapıştırıyoruz ve üstte - Arduino - kırmızı (gümüş) düğme bize bakıyor ve SIM kartın üzerinde bulunuyor.

Güç kaynağını lehimliyoruz: artı iletişim modülü kapasitöründen (4) RAW arduino pinine.
Gerçek şu ki, iletişim modülünün kendisi güç kaynağı için 3.4-4.2V gerektirir ve PWR kontağı bir düşürücü dönüştürücüye bağlıdır, bu nedenle li-ion'dan çalışmak için devrenin bu kısmını atlayarak voltajın sağlanması gerekir.

Arduino'da ise tam tersine, doğrusal bir dönüştürücü aracılığıyla güç sağlıyoruz - düşük akım tüketiminde, voltaj düşüşü 0.1V'dur.
Ancak HX711 modüllerine stabilize bir voltaj sağlayarak, onları daha düşük bir voltaja değiştirme ihtiyacından (ve aynı zamanda bu işlemin sonucunda artan gürültüden) kurtuluyoruz.

Daha sonra PWR-A5, URX-D1 ve UTX-D4 pinleri arasına jumper'ları (5) lehimliyoruz, GND-G'yi (6) topraklıyoruz ve son olarak 18650 pil tutucusundan (7) güç alıyoruz, anteni (8) bağlıyoruz.
Şimdi bir USB-TTL dönüştürücü alıyoruz ve RXD-TXD ve TXD-RXD, GND-GND kontaklarını Dupont kablolarıyla ARDUINO'ya (tarak 1) bağlıyoruz:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Yukarıdaki fotoğraf, sistemin hata ayıklama için kullanılan ilk versiyonunu (üç versiyondan) göstermektedir.

Ancak şimdi havyaya bir süre ara verip yazılım kısmına geçeceğiz.
Windows için eylem sırasını açıklayacağım:
Öncelikle programı indirip yüklemeniz/paketini açmanız gerekir. Arduino IDE — mevcut sürüm 1.8.9, ancak ben 1.6.4 kullanıyorum

Kolaylık sağlamak için, arşivi C: arduino - “sürüm_numarası” klasörüne açıyoruz, içinde /dist, sürücüler, örnekler, donanım, java, lib, kütüphaneler, referans, araçlar ve ayrıca arduino çalıştırılabilir dosyası klasörlerine sahip olacağız. (diğerlerinin yanı sıra).

Artık ADC ile çalışacak bir kütüphaneye ihtiyacımız var HX711 - yeşil düğme "klonla veya indir" - ZIP'i indirin.
İçerikler (HX711-master klasörü) C:arduino-“your_version_number”libraries dizinine yerleştirilir.

Ve tabii ki sürücü USB-TTL aynı github'dan - paketlenmemiş arşivden kurulum, SETUP dosyasıyla kolayca başlatılır.

Tamam, C:arduino-“your_version_number”arduino programını başlatıp yapılandıralım

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

“Araçlar” öğesine gidin - “Arduino Pro veya Pro Mini” kartını, Atmega 328 3.3V 8 MHz işlemciyi, bağlantı noktasını seçin - COM1 sistemi dışında bir numara (CH340 sürücüsünü bir USB-TTL adaptörüyle yükledikten sonra görünür) bağlı)

Tamam, aşağıdaki taslağı (programı) kopyalayın ve Arduino IDE penceresine yapıştı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);

  }

}

İlk satırda, tırnak içinde charphone_no[]=”+123456789012″; — 123456789012 yerine SMS gönderilecek ülke kodunu içeren telefon numaranızı yazınız.

Şimdi kontrol düğmesine basıyoruz (yukarıdaki ekran görüntüsünde bir numaranın üstünde) - eğer alttaysa (ekrandaki üç numaranın altında) “Derleme tamamlandı” - o zaman mikrodenetleyiciyi flaşlayabiliriz.

Böylece, USB-TTL ARDUINO'ya ve bilgisayara bağlanır, şarj edilmiş pili tutucuya yerleştirin (genellikle yeni Arduino'daki LED saniyede bir yanıp sönmeye başlar).

Şimdi ürün yazılımına gelince - mikro denetleyicinin kırmızı (gümüş) düğmesine basmak için eğitim alıyoruz - bunun belirli bir anda kesinlikle yapılması gerekecek!!!
Yemek yemek? “Yükle” düğmesine tıklayın (ekran görüntüsünde ikisinin üstünde) ve arayüzün altındaki çizgiye (ekran görüntüsünde üçünün altında) dikkatlice bakın.
"Derleme" yazısı "indiriliyor" olarak değiştiğinde, kırmızı düğmeye basın (sıfırla) - her şey yolundaysa, USB-TTL adaptöründeki ışıklar sevinçle yanıp sönecek ve arayüzün altında "Yüklendi" yazısı belirecektir. ”

Şimdi telefona test SMS'inin gelmesini beklerken size programın nasıl çalıştığını anlatacağım:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Fotoğraf, hata ayıklama standının ikinci versiyonunu göstermektedir.

Sistem ilk açıldığında EEPROM'un 500 ve 501 numaralı baytlarını kontrol eder, eşitse kalibrasyon verileri kaydedilmez ve algoritma kurulum bölümüne geçer.
Aynı şey, açıldığında fotodirenç gölgelenirse (bir kalem kapağıyla) olur - sıfırlama modu etkinleştirilir.

Yük hücrelerinin zaten kovanların altına yerleştirilmiş olması gerekir, çünkü başlangıçtaki sıfır seviyesini sabitliyoruz ve ardından ağırlıktaki değişimi ölçüyoruz (henüz hiçbir şeyi bağlamadığımız için şimdi sıfırlar gelecek).
Aynı zamanda Arduino'da pin 13'ün yerleşik LED'i yanıp sönmeye başlayacaktır.
Sıfırlama gerçekleşmezse LED 12 saniye süreyle yanar.
Bundan sonra “İLK BAŞLATMA TAMAM” mesajını ve akü voltajını içeren bir test SMS'i gönderilir.
İletişim modülü kapanır ve 3 dakika sonra Arduino kartı HX711 ADC kartlarını uyku moduna geçirir ve kendi kendine uykuya dalar.
Bu gecikme, çalışan bir GSM modülünden gelen paraziti almamak için yapıldı (kapatıldıktan sonra bir süre "fasulye" olur).

Daha sonra, ikinci pinde bir fotoğraf sensörü kesintisi var (artı işlevi etkin).
Bu durumda, tetiklemeden sonra, tekrarlanan/yanlış tetiklemeyi ortadan kaldırmak için fotorezistörün durumu 3 dakika daha kontrol edilir.
Tipik olan, herhangi bir ayar yapılmadan, sistemin astronomik gün batımından bulutlu havalarda 10 dakika, açık havalarda ise 20 dakika sonra devreye girmesidir.
Evet, sistemin her açıldığında sıfırlanmaması için en azından ilk HX711 modülünün (DT-D10, SCK-A0 pinleri) bağlı olması gerekir

Daha sonra gerinim ölçerlerin okumaları alınır, önceki operasyona göre ağırlıktaki değişim hesaplanır (Hive'dan sonraki satırdaki ilk sayı) ve ilk aktivasyondan itibaren akü voltajı kontrol edilir ve bu bilgi SMS olarak gönderilir:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Bu arada SMS'i aldın mı? Tebrikler! Yolun yarısındayız! Pil şimdilik tutucudan çıkarılabilir; artık bilgisayara ihtiyacımız olmayacak.

Bu arada, görev kontrol merkezinin o kadar kompakt olduğu ortaya çıktı ki mayonez kavanozuna yerleştirilebiliyor, benim durumumda 30x60x100 mm ölçülerinde (kartvizitlerden) yarı saydam bir kutu mükemmel uyum sağlıyor.

Evet, uyku sistemi iletişim modülü nedeniyle ~2.3mA - %90 tüketir - tamamen kapanmaz, bekleme moduna geçer.

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Sensör yapımına başlayalım; önce sensörlerin yerleşimine değinelim:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Bu kovanın üstten görünüşüdür.

Klasik olarak köşelere 4 sensör takılır (1,2,3,4)

Farklı ölçüm yapacağız. Daha doğrusu üçüncü şekilde bile. Çünkü BroodMinder'daki adamlar bunu farklı şekilde yapıyor:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Bu tasarımda sensörler 1 ve 2 numaralı konumlara, 3,4 ve XNUMX numaralı noktalar ise kirişin üzerine yerleştirilir.
Bu durumda sensörler ağırlığın yalnızca yarısını oluşturur.
Evet, bu yöntemin doğruluğu daha azdır, ancak arıların kovanın bir duvarı boyunca tüm çerçeveleri bal peteği "dilleri" ile inşa edeceğini hayal etmek yine de zordur.

Bu nedenle, sensörlerin 5. noktaya kadar bir araya getirilmesini öneriyorum - bu durumda sistemi korumaya gerek kalmaz ve ışık kovanları kullanıldığında tamamen tek bir sensörle yetinmek gerekir.

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Genel olarak, HX711'de iki tip modülü, iki tip sensörü ve bunları bağlamak için iki seçeneği test ettik - tam bir Wheatstone köprüsü (2 sensör) ve ikinci kısım 1k dirençlerle desteklendiğinde yarım ile. %0.1 tolerans.
Ancak ikinci yöntem istenmeyen bir durumdur ve sensör üreticileri tarafından bile önerilmemektedir, bu nedenle yalnızca ilkini anlatacağım.

Yani bir kovana iki gerinim ölçer ve bir HX711 modülü kuracağız, bağlantı şeması aşağıdaki gibidir:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

ADC panosundan Arduino'ya 5 metre 4 telli telefon kablosu vardır - arıların kovandaki GSM cihazlarından hoşlanmadığını hatırlıyoruz.

Genel olarak sensörlerde 8 cm'lik "kuyruklar" bırakıyoruz, bükümlü çifti sıyırıyoruz ve her şeyi yukarıdaki fotoğraftaki gibi lehimliyoruz.

Marangozluk kısmına başlamadan önce balmumu/parafini uygun bir kaba koyarak su banyosunda eritin.

Şimdi kerestemizi alıp her biri 100 mm'lik üç bölüme ayırıyoruz.

Daha sonra, 25 mm genişliğinde, 7-8 mm derinliğinde uzunlamasına bir oluk işaretleriz, demir testeresi ve keski kullanarak fazlalığı gideririz - U şeklinde bir profil ortaya çıkmalıdır.

Balmumu ısındı mı? — ADC kartlarımızı oraya daldırıyoruz — bu onları nemden/sisten koruyacaktır:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Hepsini ahşap bir tabana yerleştiriyoruz (çürümeyi önlemek için antiseptik ile tedavi edilmelidir):

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Ve son olarak sensörleri kendinden kılavuzlu vidalarla sabitliyoruz:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

Mavi elektrik bantlı seçeneği de vardı ama insanlık adına sunmuyorum 😉

Arduino tarafında aşağıdakileri yapıyoruz:

Telefon kablolarımızı sıyırıyoruz, renkli kabloları birbirine büküyoruz ve kalaylıyoruz.

Bundan sonra, fotoğraftaki gibi kart kontaklarına lehimleyin:

Üç arı kovanının ağırlığının 30 $ karşılığında SMS ile izlenmesi

İşte bu, şimdi son kontrol için, sensörleri dairenin sektörlerine yerleştiriyoruz, üstüne bir parça kontrplak koyuyoruz, denetleyiciyi sıfırlıyoruz (fotodiyotun üzerine kalem kapaklı bir pil koyuyoruz).

Aynı zamanda Arduino üzerindeki LED yanıp sönmeli ve bir test SMS'i gelmelidir.

Daha sonra fotoselin kapağını çıkarın ve suyu 1.5 litrelik plastik şişeye doldurun.
Şişeyi kontrplak üzerine koyuyoruz ve açıldığından bu yana birkaç dakika geçmişse, kapağı tekrar fotorezistörün üzerine koyuyoruz (gün batımını simüle ediyor).

Üç dakika sonra Arduino üzerindeki LED yanacak ve tüm konumlarda yaklaşık 1 kg ağırlık değerlerini içeren bir SMS almalısınız.

Tebrikler! Sistem başarıyla kuruldu!

Şimdi sistemi tekrar çalışmaya zorlarsak ilk ağırlık sütununda sıfırlar olacaktır.

Evet, gerçek koşullarda fotorezistörün dikey olarak yukarı doğru yönlendirilmesi tavsiye edilir.

Şimdi kısa bir kullanım kılavuzu vereceğim:

  1. Kovanların arka duvarlarının altına gerinim ölçerler takın (ön duvarların altına ~30 mm kalınlığında bir kiriş/tahta yerleştirin)
  2. Fotorezistörü gölgeleyin ve pili takın - LED yanıp sönmeli ve "İLK ÖNYÜKLEME TAMAM" metnini içeren bir test SMS'i almalısınız.
  3. Merkezi üniteyi kovanlardan maksimum mesafeye yerleştirin ve arılarla çalışırken kabloların karışmamasını sağlayın.
    Her akşam, gün batımından sonra, o günkü ve lansman anından itibaren kilo değişikliklerinizi içeren bir SMS alacaksınız.
    Akü voltajı 3.5V'a ulaştığında SMS “!!!” satırıyla bitecektir. PİLİ ŞARJ EDİN!!!"
    Bir 2600mAh pilin çalışma süresi yaklaşık bir aydır.
    Pil değiştirilirse kovanların ağırlığındaki günlük değişiklikler hatırlanmaz.

Sırada ne var?

  1. Tüm bunları github için bir projeye nasıl yerleştireceğinizi öğrenin
  2. Palivoda sisteminin kovanlarında 3 arı ailesini (veya insanlarda boynuzlu olanları) başlatın
  3. Nemi, sıcaklığı ölçen ve en önemlisi arıların vızıltısını analiz eden "çörekler" ekleyin.

Şimdilik bu kadar, içtenlikle, elektrikli arıcı Andrey

Kaynak: habr.com

Yorum ekle