Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Không, đây không phải là ưu đãi thương mại, đây là giá thành của các thành phần hệ thống mà bạn có thể lắp ráp sau khi đọc bài viết.

Một chút thông tin cơ bản:

Cách đây một thời gian, tôi quyết định nuôi ong, và chúng đã xuất hiện... suốt mùa giải, nhưng không rời khỏi túp lều mùa đông.
Và điều này mặc dù thực tế là anh ấy dường như đang làm mọi thứ một cách chính xác - cho ăn bổ sung vào mùa thu, cách nhiệt trước thời tiết lạnh giá.
Tổ ong là một hệ thống “Dadan” bằng gỗ cổ điển với 10 khung làm bằng ván 40 mm.
Nhưng mùa đông năm đó, do nhiệt độ thay đổi thất thường, ngay cả những người nuôi ong có kinh nghiệm cũng mất nhiều hơn bình thường.

Đây là cách mà ý tưởng về một hệ thống theo dõi tình trạng của tổ ong ra đời.
Sau khi xuất bản một số bài viết trên Habr và giao lưu trên diễn đàn người nuôi ong, tôi quyết định đi từ đơn giản đến phức tạp.
Trọng lượng là thông số duy nhất không thể chối cãi, nhưng theo quy định, các hệ thống hiện tại chỉ giám sát một tổ ong “tham chiếu”.
Nếu có điều gì đó không ổn xảy ra với nó (ví dụ: sự ra đi của một đàn ong, bệnh ong), thì các chỉ số sẽ trở nên không liên quan.

Do đó, người ta đã quyết định theo dõi sự thay đổi trọng lượng của ba tổ ong cùng một lúc bằng cách sử dụng một bộ vi điều khiển và bổ sung thêm các “vật phẩm” khác sau đó.
Kết quả là một hệ thống tự động có thời gian hoạt động khoảng một tháng cho một lần sạc pin 18650 và gửi số liệu thống kê mỗi ngày một lần.
Tôi đã cố gắng đơn giản hóa thiết kế nhiều nhất có thể để nó có thể được lặp lại ngay cả khi không có sơ đồ, chỉ từ những bức ảnh.

Logic hoạt động như sau: trong lần khởi động/đặt lại đầu tiên, số đọc của các cảm biến được lắp đặt dưới tổ ong được lưu trữ trong EEPROM.
Sau đó, hàng ngày, sau khi mặt trời lặn, hệ thống “thức dậy”, đọc kết quả và gửi SMS thông báo sự thay đổi trọng lượng trong ngày và kể từ thời điểm nó được bật.
Ngoài ra, giá trị điện áp của pin được truyền đi và khi nó giảm xuống 3.5V, cảnh báo cần phải sạc sẽ được đưa ra vì dưới 3.4V, mô-đun giao tiếp không bật và các chỉ số trọng lượng đã “trôi đi”.

"Bạn có nhớ mọi chuyện đã bắt đầu như thế nào không? Mọi thứ đều như vậy lần đầu tiên và lần nữa.”
Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la
Vâng, đây chính xác là bộ phần cứng ban đầu, mặc dù chỉ có máy đo độ căng và dây còn tồn tại cho đến phiên bản cuối cùng, nhưng điều đầu tiên phải làm trước tiên.
Trên thực tế, bạn không cần cuộn cáp, hóa ra nó chỉ có giá tương đương với một cuộn cáp dài 30m.

Nếu bạn không ngại tháo dỡ 3 đèn LED SMD và nửa trăm điểm hàn (đầu ra) thông thường thì hãy bắt đầu!

Vì vậy, chúng ta sẽ cần bộ thiết bị/vật liệu sau:

  1. Arduino Pro Mini 3V
    Bạn nên chú ý đến vi mạch chuyển đổi tuyến tính - nó phải chính xác là 3.3V - trên chip đánh dấu KB 33/LB 33/DE A10 - tiếng Trung của tôi đã xảy ra lỗi và cả lô
    Các bo mạch trong cửa hàng hóa ra có bộ điều chỉnh điện áp 5 volt và tinh thể 16 MHz.
  2. USB-Ttl trên chip CH340 - bạn thậm chí có thể sử dụng nguồn 5 volt, nhưng sau đó trong khi flash bộ vi điều khiển, Arduino sẽ cần phải ngắt kết nối khỏi mô-đun GSM để không làm cháy mô-đun sau.
    Các bo mạch dựa trên chip PL2303 không hoạt động trong Windows 10.
  3. Mô-đun giao tiếp GSM Goouu Tech IOT GA-6-B hoặc AI-THINKER A-6 Mini.
    Tại sao bạn dừng lại ở đó? Neoway M590 - một nhà thiết kế yêu cầu các điệu nhảy riêng biệt với tambourines, GSM SIM800L - không thích mức logic 2.8V không chuẩn, đòi hỏi sự phối hợp ngay cả với Arduino ba volt.
    Ngoài ra, giải pháp từ AiThinker có mức tiêu thụ năng lượng tối thiểu (tôi không thấy dòng điện cao hơn 100mA khi gửi SMS).
  4. Ăng-ten GSM GPRS 3DBI (trong ảnh trên - một chiếc khăn hình chữ nhật có “đuôi”, hướng 9 giờ)
  5. Gói khởi đầu của một nhà điều hành có phạm vi phủ sóng tốt tại địa điểm nuôi ong của bạn.
    Có, gói trước tiên phải được kích hoạt trên điện thoại thông thường, TẮT YÊU CẦU PIN khi nhập và nạp tiền vào tài khoản của bạn.
    Hiện nay có nhiều tùy chọn có tên theo kiểu “Cảm biến”, “IoT” - chúng có phí đăng ký thấp hơn một chút.
  6. dây dupont 20cm nữ-nữ - 3 chiếc. (để kết nối Arduino với USB-TTL)
  7. 3 chiếc. HX711 - ADC cho cân
  8. 6 cảm biến tải trọng cho trọng lượng lên tới 50kg
  9. 15 mét cáp điện thoại 4 lõi - để kết nối các mô-đun trọng lượng với ARDUINO.
  10. Điện trở quang GL5528 (đây là loại quan trọng, có điện trở tối 1 MΩ và điện trở sáng 10-20 kΩ) và hai điện trở 20 kΩ thông thường
  11. Một miếng băng keo “dày” hai mặt 18x18mm - để gắn Arduino vào mô-đun giao tiếp.
  12. Giá đỡ pin 18650 và trên thực tế, bản thân pin có dung lượng ~ 2600mAh.
  13. Một ít sáp hoặc parafin (đèn thơm dạng viên nến) - để chống ẩm HX711
  14. Một miếng dầm gỗ 25x50x300mm làm đế của máy đo biến dạng.
  15. Hàng chục vít tự khai thác có vòng đệm ép 4,2x19 mm để gắn các cảm biến vào đế.

Pin có thể được lấy từ việc tháo rời máy tính xách tay - nó rẻ hơn nhiều lần so với pin mới và dung lượng sẽ lớn hơn nhiều so với UltraFire của Trung Quốc - Tôi nhận được 1500 so với 450 (đây là 6800 cho lửa 😉

Ngoài ra, bạn sẽ cần có đôi tay vững chắc, bàn ủi hàn EPSN-25, nhựa thông và vật hàn POS-60.

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Thậm chí 5 năm trước, tôi đã sử dụng bàn ủi hàn của Liên Xô có đầu bằng đồng (trạm hàn không hoạt động đối với tôi - tôi đã lái thử và hoàn thành mạch điện với EPSN).
Nhưng sau thất bại và một số hàng nhái quái dị của Trung Quốc, Sparta được gọi là Sparta - một thứ nghiêm trọng như tên gọi của nó, đã dừng lại
trên một sản phẩm có bộ điều chỉnh nhiệt.

Vì vậy, hãy đi!

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Để bắt đầu, chúng tôi hàn hai đèn LED khỏi mô-đun GSM (nơi đặt chúng được khoanh tròn trong hình bầu dục màu cam)
Chúng ta lắp thẻ SIM có miếng tiếp xúc vào bảng mạch in, góc vát trong ảnh được biểu thị bằng mũi tên.

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Sau đó, chúng tôi thực hiện quy trình tương tự với đèn LED trên bo mạch Arduino (hình bầu dục ở bên trái của chip vuông),
Hàn lược vào bốn điểm tiếp xúc (1),
Chúng ta lấy hai điện trở 20k, xoắn các dây dẫn sang một bên, hàn dây xoắn vào lỗ chân A5, các dây dẫn còn lại ở dạng RAW và GND của arduino (2),
Chúng tôi rút ngắn các chân của điện trở quang xuống còn 10 mm và hàn nó vào chân GND và D2 ​​của bo mạch (3).

Bây giờ là lúc dành cho băng keo hai mặt màu xanh lam - chúng tôi dán nó vào ngăn chứa thẻ SIM của mô-đun giao tiếp và trên cùng - Arduino - nút màu đỏ (bạc) hướng về phía chúng tôi và nằm phía trên thẻ SIM.

Chúng tôi hàn nguồn điện: cộng với tụ điện của mô-đun giao tiếp (4) vào chân arduino RAW.
Thực tế là bản thân mô-đun giao tiếp cần 3.4-4.2V để cấp nguồn và tiếp điểm PWR của nó được kết nối với bộ chuyển đổi bước xuống, do đó, để hoạt động từ li-ion, điện áp phải được cung cấp bỏ qua phần này của mạch.

Ngược lại, trong Arduino, chúng tôi cung cấp năng lượng thông qua bộ chuyển đổi tuyến tính - ở mức tiêu thụ dòng điện thấp, điện áp rơi là 0.1V.
Nhưng bằng cách cung cấp điện áp ổn định cho các mô-đun HX711, chúng tôi loại bỏ nhu cầu sửa đổi chúng thành điện áp thấp hơn (đồng thời không làm tăng tiếng ồn do hoạt động này).

Tiếp theo, chúng tôi hàn các chân nhảy (5) giữa các chân PWR-A1, URX-D4 và UTX-D5, nối đất GND-G (6) và cuối cùng cấp nguồn từ giá đỡ pin 18650 (7), kết nối ăng-ten (8).
Bây giờ chúng ta lấy bộ chuyển đổi USB-TTL và kết nối các tiếp điểm RXD-TXD và TXD-RXD, GND-GND bằng dây Dupont với ARDUINO (lược 1):

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Ảnh trên hiển thị phiên bản đầu tiên (trong số ba) của hệ thống, được sử dụng để gỡ lỗi.

Nhưng bây giờ chúng ta sẽ tạm dừng việc hàn mỏ hàn một thời gian và chuyển sang phần phần mềm.
Tôi sẽ mô tả chuỗi hành động dành cho Windows:
Đầu tiên bạn cần tải và cài đặt/giải nén chương trình IDE Arduino — phiên bản hiện tại là 1.8.9, nhưng tôi sử dụng 1.6.4

Để đơn giản, chúng ta giải nén kho lưu trữ vào thư mục C:arduino - “your_version_number”, bên trong chúng ta sẽ có các thư mục /dist, driver, ví dụ, phần cứng, java, lib, thư viện, tài liệu tham khảo, công cụ, cũng như tệp thực thi arduino (trong số những người khác).

Bây giờ chúng ta cần một thư viện để làm việc với ADC HX711 — nút màu xanh lá cây “sao chép hoặc tải xuống” — tải xuống ZIP.
Nội dung (thư mục HX711-master) được đặt trong thư mục C:arduino-“your_version_number”libraries

Và tất nhiên là trình điều khiển cho USB-TTL từ cùng một github - từ kho lưu trữ đã giải nén, quá trình cài đặt chỉ được khởi chạy bằng tệp SETUP.

Ok, hãy khởi chạy và cấu hình chương trình C:arduino-“your_version_number”arduino

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Đi tới mục “Công cụ” - chọn bo mạch “Arduino Pro hoặc Pro Mini”, bộ xử lý Atmega 328 3.3V 8 MHz, cổng - một số không phải hệ thống COM1 (nó xuất hiện sau khi cài đặt trình điều khiển CH340 với bộ chuyển đổi USB-TTL đã kết nối)

Ok, sao chép bản phác thảo (chương trình) sau đây và dán nó vào cửa sổ 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);

  }

}

Ở dòng đầu tiên, trong dấu ngoặc kép, char phone_no[]=”+123456789012″; — thay vì 123456789012, hãy nhập số điện thoại của bạn cùng với mã quốc gia mà SMS sẽ được gửi tới.

Bây giờ chúng ta nhấn nút kiểm tra (phía trên số một trong ảnh chụp màn hình ở trên) - nếu ở dưới cùng (dưới số ba trên màn hình) “Quá trình biên dịch đã hoàn tất” - thì chúng ta có thể flash bộ vi điều khiển.

Vì vậy, USB-TTL được kết nối với ARDUINO và máy tính, đặt pin đã sạc vào ngăn chứa (thông thường đèn LED trên Arduino mới bắt đầu nhấp nháy mỗi giây một lần).

Bây giờ đối với phần sụn - chúng tôi đang đào tạo cách nhấn nút màu đỏ (bạc) của bộ vi điều khiển - việc này sẽ cần được thực hiện nghiêm ngặt tại một thời điểm nhất định!!!
Ăn? Nhấp vào nút “Tải” (phía trên hai dòng trong ảnh chụp màn hình) và xem kỹ dòng ở cuối giao diện (bên dưới dòng ba trong ảnh chụp màn hình).
Ngay sau khi dòng chữ “biên dịch” chuyển thành “đang tải xuống”, hãy nhấn nút màu đỏ (đặt lại) - nếu mọi thứ đều ổn, đèn trên bộ chuyển đổi USB-TTL sẽ nhấp nháy vui vẻ và ở cuối giao diện có dòng chữ “Đã tải lên ”

Bây giờ, trong khi chúng tôi chờ SMS kiểm tra đến điện thoại, tôi sẽ cho bạn biết chương trình hoạt động như thế nào:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Bức ảnh hiển thị phiên bản thứ hai của giá đỡ gỡ lỗi.

Khi bật lần đầu tiên, hệ thống sẽ kiểm tra byte số 500 và 501 của EEPROM, nếu chúng bằng nhau thì dữ liệu hiệu chuẩn sẽ không được ghi lại và thuật toán sẽ chuyển sang phần thiết lập.
Điều tương tự cũng xảy ra nếu khi bật, điện trở quang bị bóng (bằng nắp bút) - chế độ đặt lại được kích hoạt.

Các cảm biến tải trọng lẽ ra đã được lắp đặt dưới tổ ong, vì chúng tôi chỉ cần sửa mức XNUMX ban đầu và sau đó đo sự thay đổi về trọng lượng (bây giờ các số XNUMX sẽ xuất hiện vì chúng tôi chưa kết nối bất cứ thứ gì).
Đồng thời, đèn LED tích hợp của chân 13 sẽ bắt đầu nhấp nháy trên Arduino.
Nếu thiết lập lại không xảy ra, đèn LED sẽ sáng trong 12 giây.
Sau đó, một tin nhắn SMS kiểm tra sẽ được gửi với thông báo “KHỞI ​​ĐỘNG BAN ĐẦU OK” và điện áp pin.
Mô-đun giao tiếp sẽ tắt và sau 3 phút, bo mạch Arduino sẽ đặt bo mạch ADC HX711 vào chế độ ngủ và tự ngủ.
Độ trễ này được thực hiện để không gây nhiễu từ mô-đun GSM đang hoạt động (sau khi tắt, nó sẽ hoạt động một lúc).

Tiếp theo, chúng ta có một ngắt cảm biến ảnh ở chân thứ hai (chức năng cộng được bật).
Trong trường hợp này, sau khi kích hoạt, trạng thái của điện trở quang sẽ được kiểm tra thêm 3 phút nữa - để loại bỏ việc kích hoạt lặp lại/sai.
Điều điển hình là nếu không có bất kỳ sự điều chỉnh nào, hệ thống sẽ được kích hoạt 10 phút sau khi mặt trời lặn trong thời tiết nhiều mây và 20 phút khi thời tiết quang đãng.
Có, để hệ thống không bị reset mỗi lần bật, ít nhất phải kết nối module HX711 đầu tiên (chân DT-D10, SCK-A0)

Sau đó, số đọc của máy đo biến dạng được lấy, sự thay đổi trọng lượng so với thao tác trước đó được tính toán (số đầu tiên trong dòng sau Hive) và kể từ lần kích hoạt đầu tiên, điện áp pin sẽ được kiểm tra và thông tin này được gửi dưới dạng SMS:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Nhân tiện, bạn có nhận được tin nhắn SMS không? Chúc mừng! Chúng ta đã đi được nửa đường rồi! Bây giờ pin có thể được tháo ra khỏi ngăn chứa, chúng ta sẽ không cần đến máy tính nữa.

Nhân tiện, trung tâm điều khiển nhiệm vụ hóa ra lại nhỏ gọn đến mức có thể đặt trong lọ sốt mayonnaise, trong trường hợp của tôi, một hộp mờ có kích thước 30x60x100mm (từ danh thiếp) hoàn toàn phù hợp.

Có, hệ thống ngủ tiêu thụ ~2.3mA - 90% do mô-đun giao tiếp - nó không tắt hoàn toàn mà chuyển sang chế độ chờ.

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Hãy bắt đầu chế tạo các cảm biến, đầu tiên chúng ta hãy chạm vào cách bố trí các cảm biến:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Đây là sơ đồ của tổ ong - nhìn từ trên xuống.

Theo kiểu cổ điển, 4 cảm biến được lắp ở các góc (1,2,3,4)

Chúng tôi sẽ đo lường khác nhau. Hay đúng hơn, thậm chí theo cách thứ ba. Bởi vì những người từ BroodMinder làm điều đó khác đi:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Trong thiết kế này, các cảm biến được lắp đặt ở vị trí 1 và 2, điểm 3,4 và XNUMX tựa trên dầm.
Khi đó các cảm biến chỉ chiếm một nửa trọng lượng.
Đúng, phương pháp này có độ chính xác kém hơn, nhưng vẫn khó tưởng tượng rằng những con ong sẽ xây dựng tất cả các khung bằng “lưỡi” tổ ong dọc theo một bức tường của tổ.

Vì vậy, tôi đề xuất nói chung là giảm các cảm biến xuống điểm 5 - khi đó không cần phải che chắn hệ thống và khi sử dụng tổ ong nhẹ, việc sử dụng một cảm biến là hoàn toàn cần thiết.

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Nhìn chung, chúng tôi đã thử nghiệm hai loại mô-đun trên HX711, hai loại cảm biến và hai tùy chọn để kết nối chúng - với cầu Wheatstone đầy đủ (2 cảm biến) và một nửa, khi phần thứ hai được bổ sung điện trở 1k với một dung sai 0.1%.
Nhưng phương pháp thứ hai không được mong muốn và thậm chí không được các nhà sản xuất cảm biến khuyên dùng, vì vậy tôi sẽ chỉ mô tả phương pháp đầu tiên.

Vì vậy, đối với một tổ ong, chúng tôi sẽ lắp đặt hai máy đo biến dạng và một mô-đun HX711, sơ đồ nối dây như sau:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Có 5m cáp điện thoại 4 dây từ board ADC tới Arduino - chúng tôi nhớ những con ong không thích thiết bị GSM trong tổ như thế nào.

Nói chung, chúng tôi để lại những “đuôi” 8cm trên các cảm biến, tước cặp xoắn và hàn mọi thứ như trong ảnh trên.

Trước khi bắt đầu công việc mộc, hãy đặt sáp/parafin vào một hộp đựng thích hợp để đun chảy trong nồi cách thủy.

Bây giờ chúng tôi lấy gỗ của mình và chia nó thành ba phần, mỗi phần 100mm

Tiếp theo, chúng ta đánh dấu một rãnh dọc rộng 25 mm, sâu 7-8 mm, loại bỏ phần thừa bằng cưa sắt và đục - sẽ xuất hiện một mặt cắt hình chữ U.

Sáp có nóng lên không? - chúng tôi nhúng bảng ADC của mình vào đó - điều này sẽ bảo vệ chúng khỏi độ ẩm/sương mù:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Chúng tôi đặt tất cả trên đế gỗ (phải được xử lý bằng chất khử trùng để tránh thối rữa):

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Và cuối cùng, chúng tôi sửa chữa các cảm biến bằng vít tự khai thác:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Ngoài ra còn có một lựa chọn với băng dính điện màu xanh, nhưng vì lý do nhân đạo nên tôi không trình bày 😉

Từ phía Arduino, chúng tôi thực hiện như sau:

Chúng tôi tước dây cáp điện thoại, xoắn các dây màu lại với nhau và thiếc chúng.

Sau đó, hàn các điểm tiếp xúc vào bảng như trong ảnh:

Giám sát SMS về trọng lượng của ba tổ ong với giá 30 đô la

Vậy là xong, bây giờ để kiểm tra lần cuối, chúng tôi đặt các cảm biến vào các khu vực của hình tròn, một miếng ván ép lên trên, đặt lại bộ điều khiển (chúng tôi đặt một cục pin có nắp bút trên điốt quang).

Đồng thời, đèn LED trên Arduino sẽ nhấp nháy và sẽ có tin nhắn SMS kiểm tra.

Tiếp theo, tháo nắp ra khỏi tế bào quang điện và đổ nước vào chai nhựa 1.5 lít.
Chúng tôi đặt chai lên tấm ván ép và nếu đã vài phút trôi qua kể từ khi nó được bật, chúng tôi sẽ đậy nắp lại điện trở quang (mô phỏng cảnh hoàng hôn).

Sau ba phút, đèn LED trên Arduino sẽ sáng lên và bạn sẽ nhận được một tin nhắn SMS có giá trị trọng lượng khoảng 1 kg ở tất cả các vị trí.

Chúc mừng! Hệ thống đã được lắp ráp thành công!

Nếu bây giờ chúng ta buộc hệ thống hoạt động trở lại thì cột trọng số đầu tiên sẽ có số XNUMX.

Có, trong điều kiện thực tế, nên định hướng điện trở quang theo phương thẳng đứng hướng lên trên.

Bây giờ tôi sẽ đưa ra một hướng dẫn sử dụng ngắn gọn:

  1. Lắp đồng hồ đo sức căng dưới các bức tường phía sau của tổ ong (đặt một thanh xà/tấm dày ~30mm bên dưới các bức tường phía trước)
  2. Che điện trở quang và lắp pin - đèn LED sẽ nhấp nháy và bạn sẽ nhận được một SMS kiểm tra có nội dung “KHỞI ​​ĐỘNG BAN ĐẦU OK”
  3. Đặt thiết bị trung tâm ở khoảng cách tối đa với tổ ong để dây dẫn không gây cản trở khi làm việc với ong.
    Mỗi buổi tối, sau khi mặt trời lặn, bạn sẽ nhận được một tin nhắn SMS thông báo sự thay đổi cân nặng của bạn trong ngày và kể từ thời điểm ra mắt.
    Khi điện áp pin đạt 3.5V, tin nhắn SMS sẽ kết thúc bằng dòng “!!! SẠC PIN!!!"
    Thời gian hoạt động trên một viên pin 2600mAh là khoảng một tháng.
    Nếu thay pin, những thay đổi hàng ngày về trọng lượng của tổ ong sẽ không được ghi nhớ.

Cái gì tiếp theo?

  1. Tìm ra cách đưa tất cả những thứ này vào một dự án cho github
  2. Bắt đầu 3 họ ong trong các tổ ong của hệ thống Palivoda (hoặc những họ ong có sừng trong người)
  3. Thêm “bánh” - đo độ ẩm, nhiệt độ và quan trọng nhất - phân tích tiếng vo ve của ong.

Tạm thời thế thôi, chân thành của bạn, người nuôi ong điện Andrey

Nguồn: www.habr.com

Thêm một lời nhận xét