SMS-маніторынг вагі трох вулляў за 30$

SMS-маніторынг вагі трох вулляў за 30$

Не, гэта не камерцыйная прапанова, такі кошт камплектуючых сістэмы, якую Вы зможаце сабраць пасля прачытання артыкула.

Трохі перадгісторыі:

Некаторы час таму я вырашыў завесці пчол, і яны ж з'явіліся… на цэлы сезон, але не выйшлі з зімоўкі.
І гэта нягледзячы на ​​тое, што накшталт усё рабіў правільна восеньскі прыкорм, уцяпленне перад халадамі.
Вулей быў класічны драўляны сістэмы "Дадан" на 10 рамак з 40-мм дошкі.
Але ў тую зіму з-за тэмпературных «арэляў» нават дасведчаныя пчаляры страцілі куды больш, чым звычайна.

Так прыйшла ідэя сістэмы маніторынгу стану вулля.
Пасля публікацыі некалькіх артыкулаў на Хабр-е і зносін на форуме пчаляроў, вырашыў ісці ад простага да складанага.
Вага – адзіны бясспрэчны параметр, але як правіла, існуючыя сістэмы маніторыць толькі адзін "эталонны" вулей.
Калі з ім нешта ідзе не так (да прыкладу вылет роя, хвароба пчол), то паказчыкі становяцца неактуальныя.

Таму вырашана было сачыць за зменай вагі адразу трох вулляў адным мікракантролерам, а іншыя "плюшкі" дадаць пасля.
У выніку атрымалася аўтаномная сістэма з часам працы каля месяца на адным зарадзе батарэі 18650 і адпраўкай статыстыкі раз у суткі.
Канструкцыю імкнуўся максімальна спрасціць, каб яе можна было паўтарыць нават без схем, па адных фатаграфіях.

Логіка працы наступная: пры першым запуску/скідзе запамінаюцца ў EEPROM паказанні датчыкаў, усталяваных пад вуллі.
Далей, кожны дзень, пасля заходу сонца сістэма «прачынаецца», счытвае паказанні і адпраўляе СМС са зменай вагі за суткі і ад моманту ўключэння.
Акрамя таго перадаецца значэнне напругі батарэі, а пры зніжэнні да 3.5В выдаецца папярэджанне аб неабходнасці зарадкі, бо ніжэй 3.4В модуль сувязі не ўключаецца, ды і паказанні вагі ўжо «сплываюць».

«Ты памятаеш, як усё пачыналася. Усё было ўпершыню і зноў.
SMS-маніторынг вагі трох вулляў за 30$
Так, менавіта такі набор "жалеза" быў першапачаткова, праўда да канчатковага варыянту дажылі толькі тэнзадатчыкі і правады, але пра ўсё па парадку.
Насамрэч, бухта кабеля не спатрэбіцца, проста яна апынулася ў тую ж цану, што і 30м наадрэз.

Калі Ваc не страшыць дэмантаж 3 smd-святлодыёдаў і паўсотні кропак звычайнага (вываднага) паяння - то ў шлях!

Такім чынам, нам спатрэбіцца наступны набор абсталявання/матэрыялаў:

  1. Arduino Pro Mini 3V
    Варта звярнуць увагу на мікрасхему лінейнага пераўтваральніка - яна павінна быць менавіта на 3.3В - на чыпе маркіроўкі KB 33/LB 33/DE A10 - у мяне кітайцы нешта наблыталі, і ўся партыя
    плат у краме апынулася з 5-вольтавымі рэгулятарамі і кварцамі на 16MHz.
  2. USB-Ttl на чыпе CH340 можна нават 5-вольтавы, але тады падчас прашыўкі мікракантролера, Arduino трэба будзе адключаць ад GSM-модуля, каб не спаліць апошні.
    Поплаткі на чыпе PL2303 не працуюць пад Windows 10.
  3. Модуль сувязі GSM Goouu Tech IOT GA-6-B ці AI-THINKER A-6 Mini.
    Чаму спыніўся на ім? Neoway M590 – канструктар, які патрабуе асобных танцаў з бубнамі, GSM SIM800L – не спадабаўся нестандартны 2.8V узровень логікі, які патрабуе ўзгаднення нават з трохвольтавай ардуінкай.
    Да таго ж, у рашэння ад AiThinker мінімальнае спажыванне энергіі (пры адпраўцы СМС не бачыў току вышэй за 100мА).
  4. Антэна GSM GPRS 3DBI (на фота вышэй - прастакутная хустка з «хвосцікам», на 9 гадзін)
  5. Стартавы пакет аператара, які мае добрае пакрыццё ў месцы размяшчэння Вашага пчальніка.
    Так, пакет трэба папярэдне актываваць у звычайным тэлефоне, АДКЛЮЧЫЦЬ Запыт PIN пры ўваходзе, і папоўніць рахунак.
    Цяпер ёсць шмат варыянтаў з назвамі ў стылі "Датчык", "IoT" - у іх некалькі менш абанплата.
  6. провад dupont 20см мама-мама - 3 шт. (для падлучэння Arduino да USB-TTL)
  7. 3шт. HX711 - АЛП для вагаў
  8. 6 тэнзадатчыкаў на вагу да 50кг
  9. 15 метраў 4-жыльнага тэлефоннага кабеля – для злучэння модуляў вагі з ARDUINO.
  10. Фотарэзістар GL5528 (важна менавіта такі, з темновым супрацівам 1МОм і светлавым 10-20кОм) і два звычайных рэзістара на 20к
  11. Кавалачак двухбаковага "тоўстага" скотчу 18х18мм - для мацавання ардуіна да модуля сувязі.
  12. Трымальнік батарэй 18650 і, уласна, сама батарэя ~2600мАч.
  13. Трохі воску або парафіна (свечка-таблетка аромалампы) - для влагозащиты HX711
  14. Адрэзак драўлянага бруса 25х50х300мм для падставы тэнзадатчыкаў.
  15. Тузін саморезов з прессшайбой 4,2х19 мм для мацавання датчыкаў да падставы.

Батарэю можна ўзяць з разборкі наўтбукаў - у разы танней новай, а ёмістасць атрымаецца куды больш, чым у кітайскай UltraFire - у мяне атрымалася 1500 супраць 450 (гэта ў фаера 6800 😉

Акрамя гэтага, спатрэбяцца някрывыя рукі, паяльнік ЭПСН-25, каніфоль і прыпой пас-60.

SMS-маніторынг вагі трох вулляў за 30$

Яшчэ 5 гадоў таму я карыстаўся савецкім паяльнікам з медным джалам (вось не зайшлі мне паяльныя станцыі — браў на тэст-драйв, і заканчваў схему ЭПСН-ам).
Але пасля выхаду яго са строю і некалькіх кітайскіх жахлівых пад(елак), апошняя мела назву Sparta — рэч гэтак жа суровая, як і назва, спыніўся.
на вырабе з тэрмарэгулятарам.

Дык вось, паехалі!

SMS-маніторынг вагі трох вулляў за 30$

Для пачатку, выпойваем з GSM-модуля два святлодыёда (месца, дзе яны знаходзіліся абведзена аранжавым авалам)
Сім-карту ўстаўляемы кантактнымі пляцоўкамі да друкаванай платы, скошаны куток на фота пазначаны стрэлкай.

SMS-маніторынг вагі трох вулляў за 30$

Далей аналагічную працэдуру праводзім са святлодыёдам на плаце Arduino (авал злева ад квадратнага чыпа),
Паяем грабянец на чатыры кантакты (1),
Бярэм два рэзістара на 20k, скручваем высновы з аднаго боку, паяем скрутку ў адтуліну кантакту A5, пакінутыя высновы ў RAW і GND ардуінкі (2),
Фотарэзістары кароцім ногі да 10мм і паяем яго да высноў GND і D2 платы (3).

Зараз прыйшоў час сіняй ізаленты двухбаковага скотчу - клеім яго на трымальнік сім-карты модуля сувязі, а зверху - Ардуін - чырвоная (серабрыстая) кнопка звернутая да нас і знаходзіцца над сімкай.

Паяем харчаванне: плюс з кандэнсатара модуля сувязі (4) на кантакт RAW arduino.
Справа ў тым, што сам модуль сувязі патрабуе для свайго сілкавання 3.4-4.2В, а яго кантакт PWR заведзены на паніжальны пераўтваральнік step-down, таму для працы ад li-ion напруга трэба падаваць абыходзячы гэтую частку ланцуга.

У ардуіна-жа, наадварот мы заводзім харчаванне праз лінейны пераўтваральнік - пры малых токах спажывання, падзенне напругі drop-out складае 0.1В.
Затое падаўшы стабілізаваную напругу на модулі HX711, мы пазбаўляемся ад неабходнасці іх дапрацоўкі пад меншы вальтаж (і заадно ад падвышэння шумоў у выніку дадзенай аперацыі).

Далей паяем перамычкі (5) паміж кантактамі PWR-A1, URX-D4 і UTX-D5, "зямлю" GND-G (6) ну і нарэшце сілкаванне ад трымальніка батарэй 18650 (7), падлучальны антэну (8).
Цяпер бярэм USB-TTL пераўтваральнік і злучаем правадамі Dupont з ARDUINO (грабянец 1) кантакты RXD-TXD і TXD-RXD, GND-GND:

SMS-маніторынг вагі трох вулляў за 30$

На фота вышэй - яшчэ першая версія (з трох) сістэмы, якая выкарыстоўвалася для адладкі.

А вось зараз мы на некаторы час адцягнемся ад паяльніка, і пяройдзем да праграмнай часткі.
Буду апісваць паслядоўнасць дзеянняў для Windows:
Па-першае, неабходна спампаваць і ўсталяваць/распакаваць праграму Ардуіна IDE - бягучая версія - 1.8.9, але я карыстаюся 1.6.4

Для прастаты які распакоўваецца архіў у тэчку C:arduino-«нумар_Вашай_версіі», усярэдзіне ў нас будуць тэчкі /dist, drivers, examples, hardware, java, lib, libraries, reference, tools, а таксама выкананы файл arduino (акрамя іншых).

Цяпер нам спатрэбіцца бібліятэка для працы з АЛП HX711 - зялёная кнопка "clone or download" - download ZIP.
Змесціва (тэчка HX711-master) кладзецца ў каталог C:arduino-«нумар_Вашай_версіі»libraries

Ну і вядома-ж драйвер для USB-TTL з таго ж github - з распакаванага архіва проста запускаецца інсталях файлам SETUP.

Ок, запускаем і наладжваем праграму C:arduino-«нумар_Вашай_версіі»arduino

SMS-маніторынг вагі трох вулляў за 30$

Заходзім у пункт "Інструменты"-выбіраемы поплатак "Arduino Pro or Pro Mini", працэсар Atmega 328 3.3V 8 MHz, порт - нумар акрамя сістэмнага 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 і кампутара, ставім зараджаны акумулятар у трымальнік (звычайна на новай ардуінцы пачынае міргаць святлодыёд з частатой раз у секунду).

Зараз прашыўку - трэніруемся націскаць чырвоную (серабрыстую) кнопку мікракантролера - гэта трэба будзе зрабіць строга ў пэўны момант!!!
Ёсць? Ціснем кнопку «Угрузіць» (над двоечкай на скрыншоце), і ўважліва глядзім на радок унізе інтэрфейсу (пад тройкай скрына).
Як толькі надпіс "кампіляцыя" зменіцца "загрузкай" - ціснем чырвоную кнопку (расет) - калі ўсё ок - на USB-TTL адаптары радасна заміргаюць агеньчыкі, а ўнізе інтэрфейсу надпіс "Угрузілі"

Цяпер пакуль мы чакаем прыходу тэставай СМС на тэлефон, раскажу як працуе праграма:

SMS-маніторынг вагі трох вулляў за 30$

На фота - другая версія адладкавага стэнда.

Пры першым уключэнні сістэма звярае байты нумар 500 і 501 EEPROM калі яны роўныя, значыць калібровачнае дадзеныя не запісаныя, і алгарытм пераходзіць да часткі налады.
Тое ж самае адбываецца, калі пры ўключэнні фоторезистор заценены (каўпачком ад аўтаручкі) - актывуецца рэжым скіду параметраў.

Тэнзадатчыкі павінны ўжо быць усталяваныя пад вуллі, бо мы проста фіксуем пачатковы ўзровень нуля і далей вымяраем змену вагі (цяпер проста прыйдуць нулі, паколькі мы нічога яшчэ не падлучалі).
На ардуіна пры гэтым пачне міргаць убудаваны святлодыёд піна 13.
Калі скід не адбываецца, святлодыёд загараецца на 12 секунд.
Пасля гэтага адпраўляецца тэставая СМС з паведамленнем "INITIAL BOOT OK" і напругай батарэі.
Модуль сувязі выключаецца, і праз 3 хвіліны поплатак Ардуіна перакладае поплаткі АЛП HX711 у рэжым сну і засынае сама.
Такая затрымка зроблена каб не лавіць навядзенні ад працавальнага GSM-модуля (пасля выключэння ён некаторы час «фаніць»).

Далей, у нас працуе перапыненне па фотадатчыку на другім піне (уключана шлейка плюсу функцыяй pullup).
Пры гэтым пасля спрацоўвання яшчэ 3 хвіліны правяраецца стан фотарэзістара - для выключэння паўторных / ілжывых спрацоўванняў.
Што характэрна, без усякай налады сістэма спрацоўвае праз 10 хвілін пасля астранамічнага заходу ў пахмурнае надвор'е і праз 20 у яснае.
Так, каб пры кожным уключэнні сістэма не рабіла скід, павінен быць падлучаны прынамсі першы модуль HX711(піны DT-D10, SCK-А0)

Потым здымаюцца паказанні тэнзадатчыкаў, вылічаецца змена вагі з папярэдняга спрацоўвання (першы лік у радку пасля Hive) і ад першага ўключэння, правяраецца напруга батарэі і гэтая інфармацыя адпраўляецца ў выглядзе СМС:

SMS-маніторынг вагі трох вулляў за 30$

Дарэчы, ці атрымалі СМС? Віншую! Мы на сярэдзіне шляху! Батарэю пакуль можна выняць з трымальніка, кампутар нам далей не спатрэбіцца.

Дарэчы, цэнтр кіравання палётамі атрымаўся настолькі кампактным, што яго можна змясціць у маянэзную слоічак, у маім выпадку выдатна падышла напаўпразрыстая скрыначка памерам 30х60х100мм (ад візітовак).

Так, спячая сістэма спажывае ~2.3мА – на 90% за кошт модуля сувязі – ён не выключаецца цалкам, а пераходзіць у рэжым чакання.

SMS-маніторынг вагі трох вулляў за 30$

Прыступаем да выраба датчыкаў, для пачатку кранем схемы размяшчэння сэнсараў:

SMS-маніторынг вагі трох вулляў за 30$

Гэта план вулля - выгляд зверху.

Класічна, усталёўваюцца 4 сэнсара па кутах (1,2,3,4)

Мы-ж мераць будзем па-іншаму. А дакладней нават па-трэцяму. Паколькі па-іншаму робяць хлопцы з BroodMinder:

SMS-маніторынг вагі трох вулляў за 30$

У дадзенай канструкцыі датчыкі ўсталяваны на пазіцыях 1 і 2, кропкі 3,4 абапіраюцца на брус.
Тады на сэнсары прыпадае толькі палова вагі.
Так, такі метад мае меншую дакладнасць, але ўсё-ткі цяжка ўявіць, каб пчолы забудавалі ўсе рамкі «мовамі» з сот уздоўж адной сценкі вулля.

Дык вось, я прапаную наогул звесці датчыкі ў кропку 5 тады адпадае неабходнасць у экранаванні сістэмы, а пры выкарыстанні лёгкіх вулляў і зусім абыходзіцца адным сэнсарам.

SMS-маніторынг вагі трох вулляў за 30$

Увогуле, было праверана два выгляду модуляў на HX711, два выгляду датчыкаў, і два варыянты іх злучэння – з поўным мастом Уітстана (2 сэнсара) і з палоўкай, калі другая частка дапаўняецца 1к рэзістарамі з допускам 0.1%.
Але апошні спосаб непажаданы і не рэкамендаваны нават вытворцамі сэнсараў, таму апішу толькі першы.

Такім чынам, на адзін вулей у нас будзе ўсталёўвацца два тэнзадатчыкі і адзін модуль HX711.

SMS-маніторынг вагі трох вулляў за 30$

Ад платы АЛП да Ардуіна ідзе 5 метраў 4-жыльнага тэлефоннага кабеля мы-ж памятаем, як пчолы не кахаюць GSM-прылады ў вуллі.

Увогуле, на датчыках пакідаем «хвасты» па 8см, зачышчаем вітую пару і ўсё распайваем як на фота вышэй.

Перш, чым пачаць сталярную частку, пастаўце воск/парафін у патрэбнай ёмістасці плавіцца на вадзяную лазню.

Цяпер бярэм наш брус і дзелім на тры адрэзка па 100мм

Далей пазначаем падоўжную пазу шырынёй 25 мм, глыбінёй 7-8мм, з дапамогай ножовки і стамескі прыбіраем лішняе - павінен выйсці п-вобразны профіль.

Воск разагрэўся? - акунаем туды нашы платы АЛП - гэта абароніць іх ад вільгаці/смугі:

SMS-маніторынг вагі трох вулляў за 30$

Размяшчаем гэта ўсё на драўлянай падставе(неабходна апрацаваць антысептыкам ад гніення):

SMS-маніторынг вагі трох вулляў за 30$

Ну і нарэшце, які фіксуецца датчыкі саморезами:

SMS-маніторынг вагі трох вулляў за 30$

Быў яшчэ варыянт з сіняй ізастужкай, але з меркаванняў гуманнасці яго не прыводжу 😉

З боку Ардуіна робім наступнае:

Зачышчаем нашы тэлефонныя кабеля, каляровыя жылы скручваем паміж сабой, лудзім.

Пасля гэтага, паяем да кантактаў платы як на фота:

SMS-маніторынг вагі трох вулляў за 30$

Усё, зараз для канчатковай праверкі, ставім датчыкі па сектарах круга, зверху - кавалак фанеры, абнуляем кантролер (ставім батарэю з апранутым на фотадыёд каўпачком ад аўтаручкі).

Пры гэтым павінен заміргаць святлодыёд на ардуінцы і прыйсці тэставая СМС.

Далей здымаем з фотаэлемента каўпачак, і ідзем набіраць ваду ў 1.5 літровую пластыкавую бутэльку.
Ставім бутэльку на фанеру і калі ўжо прайшло некалькі хвілін ад уключэння, апранаем каўпачак назад на фотарэзістар (імітуючы заход).

Праз тры хвіліны святлодыёд на Ардуіна загарыцца, і Вам павінна прыйсці СМС са значэннямі вагі каля 1кг на ўсіх пазіцыях.

Віншую! сістэма паспяхова сабрана!

Калі зараз прымусіць сістэму спрацаваць паўторна, то ў першай калонцы вагі атрымаюцца нулі.

Так, у рэальных умовах фотарэзістар пажадана арыентаваць вертыкальна ўверх.

Цяпер прывяду кароценькі мануал па карыстанні:

  1. Усталяваць тэнзадатчыкі пад заднія сценкі вулляў (пад перадпакоі падставіць брус/дошку таўшчынёй ~30мм)
  2. Зацяніць фотарэзістар і паставіць акумулятар - павінен заміргаць святлодыёд і прыйсці тэставая СМС c тэкстам «INITIAL BOOT OK»
  3. Размясціць цэнтральны блок на максімальным выдаленні ад вулляў і так, каб правады не мяшалі пры працы з пчоламі.
    Кожны вечар, пасля заходу будзе прыходзіць СМС са змяненнем вагі за суткі і з моманту запуску.
    Пры дасягненні напругі батарэі значэння 3.5В, СМС будзе сканчацца радком «!!! CHARGE BATTERY !!!»
    Час працы ад адной батарэі ёмістасцю 2600мАч - каля месяца.
    У выпадку замены батарэі, сутачныя змены вагі вулляў не запамінаюцца.

Што далей?

  1. Прыдумаць як аформіць усё гэта ў праект для github
  2. Завесці 3 пчаліных сям'і ў вуллях сістэмы Паливоды(або рагатых у народзе)
  3. Дадаць «плюшак» - вымярэнне вільготнасці, тэмпературы, а галоўнае - аналіз гудзення пчол.

Пасля пакуль усё, шчыра Ваш, электрапчаляр Андрэй

Крыніца: habr.com

Дадаць каментар