ããããããã¯åçšãªãã¡ãŒã§ã¯ãããŸãããèšäºãèªãã åŸã«çµã¿ç«ãŠãããšãã§ããã·ã¹ãã ã³ã³ããŒãã³ãã®ã³ã¹ãã§ãã
å°ãèæ¯ïŒ
ãã°ããåã«ç§ã¯ããããã飌ãããšã«æ±ºããŸããããããŠåœŒãã¯ç¢ºãã«çŸããŸãã...å£ç¯ãéããŠããããå¬ã®å°å±ããåºãŸããã§ããã
ãããŠãããã¯ãç§ã®è£å®çµŠé€ãå¯ã倩åã®åã®æç±ãªã©ã圌ããã¹ãŠãæ£ããè¡ã£ãŠããããã«èŠãããšããäºå®ã«ããããããã§ãã
巣箱ã¯ã10 mm ã®æ¿ã§äœããã 40 åã®ãã¬ãŒã ãåããå€å
žçãªæšè£œã®ãããã³ãã·ã¹ãã ã§ããã
ãããããã®å¬ã¯æ°æž©ã®å€åã«ãããçµéšè±å¯ãªé€è家ã§ãäŸå¹Žãããã¯ããã«å€ãã®é€èã倱ããŸããã
ããããŠãå·£ã®ç¶æ
ãç£èŠããã·ã¹ãã ã®ã¢ã€ãã¢ãçãŸããŸããã
Habr ã«é¢ããããã€ãã®èšäºãå
¬éããé€è家ãã©ãŒã©ã ã§ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãåŸãç§ã¯åçŽãªãã®ããè€éãªãã®ãžé²ãããšã«ããŸããã
ééã¯å¯äžã®è°è«ã®äœå°ã®ãªããã©ã¡ãŒã¿ã§ãããååãšããŠãæ¢åã®ã·ã¹ãã 㯠XNUMX ã€ã®ãåç
§ããã€ãã®ã¿ãç£èŠããŸãã
äœãåé¡ãçºçããå ŽåïŒããšãã°ã矀ãã®åºçºãããããã®ç
æ°ïŒãææšã¯ç¡é¢ä¿ã«ãªããŸãã
ããã§ãXNUMX ã€ã®ãã€ã¯ãã³ã³ãããŒã©ãŒã䜿çšã㊠XNUMX ã€ã®å·£ç®±ã®ééã®å€åãäžåºŠã«ç£èŠããåŸã§ä»ã®ãè¯ããã®ããè¿œå ããããšã«ããŸããã
ãã®çµæã18650 ããããªãŒã® XNUMX åã®å
é»ã§çŽ XNUMX ãæåäœããXNUMX æ¥ XNUMX åçµ±èšãéä¿¡ããèªåŸã·ã¹ãã ãå®æããŸããã
å³ããªããŠãåçã ãã§åçŸã§ããããããã¶ã€ã³ãã§ããã ãç°¡çŽ åããããã«åªããŸããã
åäœããžãã¯ã¯æ¬¡ã®ãšããã§ããæåã®èµ·å/ãªã»ããäžã«ã巣箱ã®äžã«åãä»ããããã»ã³ãµãŒã®èªã¿åãå€ã EEPROM ã«ä¿åãããŸãã
ãã®åŸãæ¯æ¥æ¥æ²¡åŸã«ã·ã¹ãã ããç®èŠããã枬å®å€ãèªã¿åãããã®æ¥ã®äœéã®å€åãšé»æºãå
¥ããç¬éããã®äœéã®å€åã SMS ã§éä¿¡ããŸãã
ããã«ãããããªãŒé»å§å€ãéä¿¡ãããããã 3.5V ã«äœäžãããšãå
é»ã®å¿
èŠæ§ã«ã€ããŠèŠåãçºããããŸããããã¯ã3.4V æªæºã§ã¯éä¿¡ã¢ãžã¥ãŒã«ããªã³ã«ãªãããéé枬å®å€ããã§ã«ãæµ®éãããŠããããã§ãã
ããã¹ãŠãã©ã®ããã«å§ãŸã£ããèŠããŠããŸããã ãã¹ãŠãåããŠã®ããšã®ç¹°ãè¿ãã§ãããã
ã¯ããããã¯ãŸãã«å
ã®ããŒããŠã§ã¢ã®ã»ããã§ããæçµããŒãžã§ã³ãŸã§æ®ã£ãã®ã¯ã²ãã¿ã²ãŒãžãšã¯ã€ã€ã ãã§ããããŸãæåã«ã
å®éãã±ãŒãã«ã³ã€ã«ã¯å¿
èŠãªãã30mã®ã¹ãã¬ãŒãã³ã€ã«ãšåãäŸ¡æ Œã§ããããšãããããŸããã
3 ã€ã® SMD LED ãš XNUMX ç®æã®åŸæ¥ã® (åºå) ã¯ãã ä»ããå解ããããšãæããªãå Žåã¯ãè¡ã£ãŠãã ããã
ãããã£ãŠã次ã®æ©åš/ææã®ã»ãããå¿ èŠã«ãªããŸãã
- Arduino ãããã 3V
ãªãã¢ã³ã³ããŒã¿ã®ãã€ã¯ãåè·¯ã«æ³šæãæãå¿ èŠããããŸã - æ£ç¢ºã«3.3Vã§ããå¿ èŠããããŸã - ãããäžã®KB 33/LB 33/DE A10ã®ããŒãã³ã° - ç§ã®äžåœèªã¯äœãééã£ãŠããŠããããå šäœ
åºå ã«ããããŒãã«ã¯ 5 ãã«ãã®ã¬ã®ã¥ã¬ãŒã¿ãš 16MHz ã®æ°Žæ¶æ¯ååãæèŒãããŠããããšãå€æããŸããã - CH340 ãããäžã® USB-Ttl - 5 ãã«ãã®ãã®ã䜿çšã§ããŸããããã€ã¯ãã³ã³ãããŒã©ãŒããã©ãã·ã¥ããŠããéãGSM ã¢ãžã¥ãŒã«ãçŒããªãããã« Arduino ã GSM ã¢ãžã¥ãŒã«ããåãé¢ãå¿
èŠããããŸãã
PL2303 ããããããŒã¹ã«ããããŒã㯠Windows 10 ã§ã¯åäœããŸããã - GSMéä¿¡ã¢ãžã¥ãŒã« Goouu Tech IOT GA-6-B ãŸã㯠AI-THINKER A-6 Miniã
ãªãããã§æ¢ãŸã£ãã®ã§ããïŒ Neoway M590 (ã¿ã³ããªã³ãGSM SIM800L ãšåå¥ã®ãã³ã¹ãå¿ èŠãšããèšèšè ) ã¯ã2.8 ãã«ãã® Arduino ãšãã調æŽããå¿ èŠãããéæšæºã® XNUMX V ã¬ãã«ã®ããžãã¯ã奜ã¿ãŸããã§ããã
ããã«ãAiThinker ã®ãœãªã¥ãŒã·ã§ã³ã¯ãšãã«ã®ãŒæ¶è²»ãæå°éã§ã (SMS ã®éä¿¡æã« 100mA ãè¶ ããé»æµã¯èŠãããŸããã§ãã)ã - GSM GPRS 3DBI ã¢ã³ãã (äžã®åç - 9 æã®äœçœ®ã«ãå°Ÿããä»ããé·æ¹åœ¢ã®ã¹ã«ãŒã)
- é€èå Žã®æåšå°ãååã«ã«ããŒãããªãã¬ãŒã¿ãŒã®ã¹ã¿ãŒã¿ãŒ ããã±ãŒãžã
ã¯ããããã±ãŒãžã¯ãŸãéåžžã®é»è©±ã§ã¢ã¯ãã£ããŒãããå ¥åæã« PIN èŠæ±ãç¡å¹ã«ããŠãã¢ã«ãŠã³ãã«ãã£ãŒãžããå¿ èŠããããŸãã
çŸåšããã»ã³ãµãŒãããIoTããªã©ã®ååã®ãªãã·ã§ã³ãå€æ°ããããµãã¹ã¯ãªãã·ã§ã³æéãè¥å¹²å®ããªããŸãã - ãã¥ãã³ã¯ã€ã€ãŒ 20cm ã¡ã¹-ã¡ã¹ - 3 æ¬(ArduinoãUSB-TTLã«æ¥ç¶ãããã)
- 3åHX711 - ã¹ã±ãŒã«çš ADC
- æ倧 6kg ã®ééã«å¯Ÿå¿ãã 50 ã€ã®ããŒãã»ã«
- 15 ã¡ãŒãã«ã® 4 è¯é»è©±ã±ãŒãã« - ééã¢ãžã¥ãŒã«ã ARDUINO ã«æ¥ç¶ããããã
- ãã©ãã¬ãžã¹ã¿ GL5528 (ãããéèŠã§ãææµæã 1 MΩãææµæã 10 ïœ 20 kΩ) ãš 20 ã€ã®éåžžã® XNUMX kΩ æµæ
- 18x18mmã®ãåããäž¡é¢ããŒã - Arduinoãéä¿¡ã¢ãžã¥ãŒã«ã«åãä»ããããã®ãã®ã
- 18650 ããããªãŒ ãã«ããŒãšå®éã«ã¯ããããªãŒèªäœã¯çŽ 2600mAh ã§ãã
- å°éã®ã¯ãã¯ã¹ãŸãã¯ãã©ãã£ã³ (ãã£ã³ãã«ã¿ãã¬ããåã¢ããã©ã³ã) - 湿æ°é²æ¢çš HX711
- ã²ãã¿ã²ãŒãžã®ããŒã¹çšã® 25x50x300mm ã®æšè£œã®æ¢ã
- ã»ã³ãµãŒãããŒã¹ã«åãä»ããããã® 4,2x19 mm ãã¬ã¹ã¯ãã·ã£ãŒä»ãã® XNUMX æ¬ã®ã¿ããã³ã°ããžã
ããããªãŒã¯ã©ãããããã®å解ããå ¥æã§ããŸã - æ°ãããã®ããæ°åå®ãã容éã¯äžåœã® UltraFire ãããã¯ããã«å€§ãããªããŸã - ç§ã¯ 1500 ã«å¯Ÿã㊠450 ãæã«å ¥ããŸãã (ç«çœã®å Žå㯠6800 ã§ã ð)
ããã«ãå®å®ããæãEPSN-25 ã¯ãã ããŠãæŸèãPOS-60 ã¯ãã ãå¿ èŠã§ãã
5幎åã§ãããç§ã¯é
ã®å
端ãä»ãããœããšãã®ã¯ãã ããŠã䜿çšããŠããŸããïŒã¯ãã ä»ãã¹ããŒã·ã§ã³ã¯ç§ã«ã¯æ©èœããŸããã§ããããã¹ããã©ã€ãã«æã£ãŠè¡ããEPSNã§åè·¯ãå®æãããŸããïŒã
ãããããã®å€±æãšããã€ãã®äžåœè£œã®å·šå€§ãªåœç©ã®åŸãåŸè
ã¯ã¹ãã«ã¿ãšåŒã°ããããã«ãªããŸãã - ãã®ååãšåããããå³ãããã®ã¯äžæ¢ãããŸãã
ãµãŒã¢ã¹ã¿ããä»ã補åã®å Žåã
ãããè¡ããïŒ
ãŸããGSM ã¢ãžã¥ãŒã«ãã XNUMX ã€ã® LED ã®ã¯ãã ãå€ããŸã (LED ãé
眮ãããŠããå Žæã¯ãªã¬ã³ãžè²ã®æ¥åã§å²ãŸããŠããŸã)ã
æ¥è§Šããããåãã SIM ã«ãŒããããªã³ãåºæ¿ã«æ¿å
¥ããŸããåçã®æãã®è§ã¯ç¢å°ã§ç€ºãããŠããŸãã
次ã«ãArduino ããŒãäžã® LED (æ£æ¹åœ¢ã®ãããã®å·ŠåŽã®æ¥å圢) ã§åæ§ã®æé ãå®è¡ããŸãã
ã³ãŒã ã 1 ã€ã®æ¥ç¹ã«ã¯ãã ä»ãããŸã (XNUMX)ã
20kã®æµæã5ã€çšæããçåŽã®ãªãŒãç·ããããããã®ãããéšåããã³A2ã®ç©Žã«ã¯ãã ä»ãããŸããæ®ãã®ãªãŒãç·ã¯Arduinoã®RAWãšGNDã«ãããŸã(XNUMX)ã
ãã©ãã¬ãžã¹ã¿ã®èã 10mm ã«çãããåºæ¿ã® GND ãã³ãš D2 ãã³ã«ã¯ãã ä»ãããŸã (3)ã
次ã«ãéãé»æ°ããŒãã®äž¡é¢ããŒããéä¿¡ã¢ãžã¥ãŒã«ã® SIM ã«ãŒã ãã«ããŒã«è²Œãä»ããŸãããã®äžã«ãArduino ã®èµ€ã (éè²) ãã¿ã³ããã¡ããåã㊠SIM ã«ãŒãã®äžã«ãããŸãã
é»æºãšéä¿¡ã¢ãžã¥ãŒã«ã®ã³ã³ãã³ãµ (4) ã RAW arduino ãã³ã«ã¯ãã ä»ãããŸãã
å®éã®ãšãããéä¿¡ã¢ãžã¥ãŒã«èªäœã¯é»æºã« 3.4 ïœ 4.2 V ãå¿
èŠãšãããã® 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 (comb 1) ã«æ¥ç¶ããŸãã
äžã®åçã¯ããããã°ã«äœ¿çšãããã·ã¹ãã ã®æåã®ããŒãžã§ã³ (XNUMX ã€ã®ãã¡) ã瀺ããŠããŸãã
ããã§ãã¯ãã ããŠããã°ããäŒãã§ããœãããŠã§ã¢ã®éšåã«ç§»ããŸãã
Windows ã®äžé£ã®ã¢ã¯ã·ã§ã³ã«ã€ããŠèª¬æããŸãã
ãŸããããã°ã©ã ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«/解åããå¿
èŠããããŸã
ç°¡åã«ããããã«ãã¢ãŒã«ã€ãããã©ã«ã㌠C: arduino - âyour_version_numberâ ã«è§£åããŸãããã®äžã«ã¯ããã©ã«ã㌠/distããã©ã€ããŒããµã³ãã«ãããŒããŠã§ã¢ãJavaãlibãã©ã€ãã©ãªããªãã¡ã¬ã³ã¹ãããŒã«ãããã³ arduino å®è¡å¯èœãã¡ã€ã«ãå«ãŸããŸãã ïŒãšãããïŒã
次ã«ãADC ãšé£æºããããã®ã©ã€ãã©ãªãå¿
èŠã§ãã
ã³ã³ãã³ã (ãã©ã«ã㌠HX711-master) ã¯ããã£ã¬ã¯ã㪠C:arduino-âyour_version_numberâlibraries ã«é
眮ãããŸãã
ãããŠãã¡ãããã©ã€ããŒã
OKãããã°ã©ã ãèµ·åããŠèšå®ããŸããã C:arduino-âyour_version_numberâarduino
ãããŒã«ãé ç®ã«ç§»åããŸã - ãArduino Pro ãŸã㯠Pro MiniãããŒããAtmega 328 3.3V 8 MHz ããã»ããµãŒãããŒã - ã·ã¹ãã COM1 以å€ã®çªå·ãéžæããŸã (USB-TTL ã¢ããã¿ãŒã䜿çšã㊠CH340 ãã©ã€ããŒãã€ã³ã¹ããŒã«ããåŸã«è¡šç€ºãããŸã)æ¥ç¶ãããŠããŸãïŒ
OKã次ã®ã¹ã±ãã (ããã°ã©ã ) ãã³ããŒãã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);
}
}
æåã®è¡ã§ã¯ãåŒçšç¬Šã§å²ãŸããcharphone_no[]=â+123456789012â³; ãšãªããŸãã â 123456789012 ã®ä»£ããã«ãSMS ã®éä¿¡å ãšãªãåœã³ãŒããä»ããé»è©±çªå·ãå ¥åããŸãã
次ã«ããã§ã㯠ãã¿ã³ (äžã®ã¹ã¯ãªãŒã³ã·ã§ããã® XNUMX çªã®äž) ãæŒããŸããäžçªäž (ç»é¢ã® XNUMX çªã®äž) ã«ãã³ã³ãã€ã«ãå®äºããŸããããšè¡šç€ºãããŠããã°ããã€ã¯ãã³ã³ãããŒã©ãŒããã©ãã·ã¥ã§ããŸãã
ããã§ãUSB-TTL ã ARDUINO ãšã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããå é»ããããããªãŒããã«ããŒã«çœ®ããŸã (éåžžãæ°ãã Arduino ã® LED 㯠XNUMX ç§ã« XNUMX åç¹æ» ãå§ããŸã)ã
次ã«ããã¡ãŒã ãŠã§ã¢ã«ã€ããŠã§ãããã€ã¯ãã³ã³ãããŒã©ãŒã®èµ€ïŒéïŒãã¿ã³ãæŒãããã«ãã¬ãŒãã³ã°ããŠããŸããããã¯ãç¹å®ã®ç¬éã«å³å¯ã«è¡ãå¿
èŠããããŸãã
é£ã¹ãïŒ ãããŒãããã¿ã³ (ã¹ã¯ãªãŒã³ã·ã§ããã® XNUMX ã€ã®äž) ãã¯ãªãã¯ããã€ã³ã¿ãŒãã§ã€ã¹ã®äžéšã«ããè¡ (ã¹ã¯ãªãŒã³ã·ã§ããã® XNUMX ã€ã®äž) ã泚ææ·±ãèŠãŠãã ããã
ãã³ã³ãã€ã«ãã®æåããããŠã³ããŒãäžãã«å€ãã£ããããã«ãèµ€ããã¿ã³ïŒãªã»ããïŒãæŒããŸãããã¹ãŠãæ£åžžã§ããã°ãUSB-TTL ã¢ããã¿ãŒã®ã©ã€ãã楜ããç¹æ»
ããã€ã³ã¿ãŒãã§ã€ã¹ã®äžéšã«ãã¢ããããŒããããŸããããšããæåã衚瀺ãããŸãã ã
ããŠããã¹ã SMS ãé»è©±ã«å±ãã®ãåŸ ã£ãŠããéã«ãããã°ã©ã ãã©ã®ããã«æ©èœãããã説æããŸãã
åçã¯ãããã° ã¹ã¿ã³ãã®ç¬¬ XNUMX ããŒãžã§ã³ã瀺ããŠããŸãã
åããŠé»æºãå
¥ãããšãã·ã¹ãã 㯠EEPROM ã®ãã€ãçªå· 500 ãš 501 ããã§ãã¯ããŸããããããçããå Žåãæ ¡æ£ããŒã¿ã¯èšé²ããããã¢ã«ãŽãªãºã ã¯ã»ããã¢ãã ã»ã¯ã·ã§ã³ã«é²ã¿ãŸãã
ãªã³ã«ãããšãã«ãã©ãã¬ãžã¹ã¿ã (ãã³ã®ãã£ããã«ãã£ãŠ) 圱ã«ãªã£ãå Žåã«ãåãããšãèµ·ãããŸãããªã»ãã ã¢ãŒããã¢ã¯ãã£ãã«ãªããŸãã
æåã®ãŒãã¬ãã«ãä¿®æ£ããŠééã®å€åã枬å®ããã ããªã®ã§ãããŒãã»ã«ã¯å·£ç®±ã®äžã«ãã§ã«èšçœ®ãããŠããã¯ãã§ãïŒãŸã äœãæ¥ç¶ããŠããªãããããŒããæ¥ãã ãã§ãïŒã
åæã«ãArduino ã®ãã³ 13 ã®å
èµ LED ãç¹æ»
ãå§ããŸãã
ãªã»ãããçºçããªãå ŽåãLED 㯠12 ç§éç¹ç¯ããŸãã
ãã®åŸããINITIAL BOOT OKããšããã¡ãã»ãŒãžãšããããªãŒé»å§ãå«ããã¹ã SMS ãéä¿¡ãããŸãã
éä¿¡ã¢ãžã¥ãŒã«ããªãã«ãªãã3 ååŸã« Arduino ããŒã㯠HX711 ADC ããŒããã¹ãªãŒã ã¢ãŒãã«ããèªåçã«ã¹ãªãŒãç¶æ
ã«ãªããŸãã
ãã®é
延ã¯ãåäœäžã® GSM ã¢ãžã¥ãŒã«ããã®å¹²æžãæŸããªãããã«ããããã«è¡ãããŸãã (ã¹ã€ããããªãã«ããåŸããã°ããã®éãããŒã³ãããŸã)ã
次ã«ãXNUMX çªç®ã®ãã³ã«ãã©ã ã»ã³ãµãŒå²ã蟌ã¿ããããŸã (ãã©ã¹æ©èœãæå¹ã«ãªããŸã)ã
ãã®å Žåãããªã¬åŸããã©ãã¬ãžã¹ã¿ã®ç¶æ
ãããã« 3 åéãã§ãã¯ãããç¹°ãè¿ã/誀ã£ãããªã¬ãæé€ãããŸãã
å
žåçãªã®ã¯ã調æŽãè¡ããªãå Žåãã·ã¹ãã ã¯æ倩ã§ã¯å€©ææ¥æ²¡åŸ 10 åãæŽå€©ã§ã¯ 20 ååŸã«äœåããããšã§ãã
ã¯ããã·ã¹ãã ã®é»æºãå
¥ãããã³ã«ãªã»ãããããªãããã«ãå°ãªããšãæåã® HX711 ã¢ãžã¥ãŒã« (ãã³ DT-D10ãSCK-A0) ãæ¥ç¶ããå¿
èŠããããŸãã
次ã«ãã²ãã¿ã²ãŒãžã®èªã¿åãå€ãååŸãããåã®æäœããã®ééã®å€åãèšç®ãã (Hive ã®åŸã®è¡ã®æåã®æ°å€)ãæåã®ã¢ã¯ãã£ãåããããããªãŒé»å§ããã§ãã¯ããããã®æ å ±ã SMS ãšããŠéä¿¡ãããŸãã
ãšããã§ãSMSã¯å±ããŸãããïŒ ããã§ãšãïŒ ååãŸã§æ¥ãŸããïŒ çŸæç¹ã§ã¯ããããªãŒããã«ããŒããåãå€ãããšãã§ãããããã³ã³ãã¥ãŒã¿ãŒã¯å¿ èŠãªããªããŸãã
ã¡ãªã¿ã«ããã·ã§ã³ã³ã³ãããŒã«ã»ã³ã¿ãŒã¯ããšããŒãºç¶ã«åãŸãã»ã©ã³ã³ãã¯ãã§ãç§ã®å Žåã¯ååºãµã€ãºã®30Ã60Ã100mmã®åéæã®ç®±ããŽã£ããåãŸããŸããã
ã¯ããã¹ãªãŒãç¶æ ã®ã·ã¹ãã ã¯éä¿¡ã¢ãžã¥ãŒã«ã«ããçŽ 2.3mA (90%) ãæ¶è²»ããŸããå®å šã«ã¯ãªãã«ãªããŸããããã¹ã¿ã³ã〠ã¢ãŒãã«ãªããŸãã
ã»ã³ãµãŒã®äœæãå§ããŸãããããŸããã»ã³ãµãŒã®ã¬ã€ã¢ãŠãã«è§ŠããŠã¿ãŸãããã
ããã¯å·£ã®å¹³é¢å³ã§ãã
éåžžã4 ã€ã®ã»ã³ãµãŒãã³ãŒããŒã«åãä»ããããŸã (1,2,3,4ãXNUMXãXNUMXãXNUMX)ã
å¥ã®æ¹æ³ã§æž¬å®ããããŸãã ãšããããXNUMXçªç®ã®æ¹æ³ã§ãã ãªããªããBroodMinder ã®äººãã¡ã¯ããæ¹ãéãããã§ãã
ãã®èšèšã§ã¯ãã»ã³ãµãŒã¯äœçœ® 1 ãš 2 ã«åãä»ãããããã€ã³ã 3,4 ãš XNUMX ã¯ããŒã äžã«ãããŸãã
ãã®å Žåãã»ã³ãµãŒã¯ééã®ååããå ããŸããã
確ãã«ããã®æ¹æ³ã®ç²ŸåºŠã¯ããã»ã©é«ããããŸãããããããããå·£ã®å£ã® XNUMX ã€ã«æ²¿ã£ãŠèã®å·£ã®ãèãã䜿ã£ãŠãã¹ãŠã®ãã¬ãŒã ãæ§ç¯ããããšãæ³åããã®ã¯äŸç¶ãšããŠå°é£ã§ãã
ãããã£ãŠãäžè¬çã«ã»ã³ãµãŒããã€ã³ã 5 ãŸã§æžããããšãææ¡ããŸããããããã°ãã·ã¹ãã ãã·ãŒã«ãããå¿ èŠããªããå ã®å·£ç®±ã䜿çšããå Žåã¯ãXNUMX ã€ã®ã»ã³ãµãŒã§å¯Ÿå¿ããå¿ èŠããããŸãã
äžè¬ã«ãHX711 ã® 2 çš®é¡ã®ã¢ãžã¥ãŒã«ã1 çš®é¡ã®ã»ã³ãµãŒãããã³ããããæ¥ç¶ããããã® 0.1 ã€ã®ãªãã·ã§ã³ (å®å
šãªãã€ãŒãã¹ãã³ ããªããž (ã»ã³ãµãŒ XNUMX å) ãšãXNUMX çªç®ã®éšåã« XNUMXk ã®æµæãè¿œå ããå Žåã®åå) ããã¹ãããŸããã蚱容誀差㯠XNUMX% ã§ãã
ãã ããåŸè
ã®æ¹æ³ã¯æãŸãããªããã»ã³ãµãŒ ã¡ãŒã«ãŒã§ãæšå¥šãããŠããªããããåè
ã«ã€ããŠã®ã¿èª¬æããŸãã
ãããã£ãŠã711 ã€ã®ãã€ãã« XNUMX ã€ã®ã²ãã¿ã²ãŒãžãš XNUMX ã€ã® HXXNUMX ã¢ãžã¥ãŒã«ãåãä»ããããšã«ãªããŸããé ç·å³ã¯æ¬¡ã®ãšããã§ãã
ADCããŒãããArduinoãŸã§ã¯5ã¡ãŒãã«ã®4ç·é»è©±ã±ãŒãã«ããããŸãã
äžè¬ã«ãäžã®åçã®ããã«ãã»ã³ãµãŒã«8cmã®ãããŒã«ããæ®ãããã€ã¹ããã¢ãå¥ããããã¹ãŠãã¯ãã ä»ãããŸãã
倧工ä»äºãå§ããåã«ãã¯ãã¯ã¹/ãã©ãã£ã³ãé©åãªå®¹åšã«å ¥ããŠæ¹¯ç ã§æº¶ãããŸãã
次ã«ãæšæã 100 mm ã® XNUMX ã€ã®ã»ã¯ã·ã§ã³ã«åå²ããŸãã
次ã«ãå¹ 25 mmãæ·±ã7ã8 mmã®çžŠæ¹åã®æºã«å°ãä»ããåŒéžãšããã䜿çšããŠäœåãªéšåãé€å»ããŸããUååã®ãããã¡ã€ã«ãçŸããã¯ãã§ãã
ã¯ãã¯ã¹ã¯æž©ãŸã£ãŠãŸããïŒ â ADC ããŒããããã«æµžããŸã â ããã«ããã湿æ°ãé§ããä¿è·ãããŸãã
ãã¹ãŠãæšè£œã®ããŒã¹ã®äžã«çœ®ããŸãïŒè æãé²ãããã«é²è å€ã§åŠçããå¿ èŠããããŸãïŒã
æåŸã«ãã»ã³ãµãŒãã¿ããã³ã°ããžã§åºå®ããŸãã
éãé»æ°ããŒãã®ãªãã·ã§ã³ããããŸãããã人éäžã®çç±ãããç§ã¯ãããæ瀺ããŸãã ð
Arduino åŽããã¯æ¬¡ã®ããšãè¡ããŸãã
é»è©±ã±ãŒãã«ã®è¢«èŠãå¥ããè²ä»ãã®ã¯ã€ã€ãŒãæãåãããŠãé«ã¡ãããæœããŸãã
ãã®åŸãåçã®ããã«ããŒãã®æ¥ç¹ã«ã¯ãã ä»ãããŸãã
æçµãã§ãã¯ãšããŠãã»ã³ãµãŒãåã®ã»ã¯ã¿ãŒã«é 眮ãããã®äžã«åæ¿ã眮ããã³ã³ãããŒã©ãŒããªã»ããããŸãïŒãã©ããã€ãªãŒãã«ãã³ãã£ãããä»ããããããªãŒã眮ããŸãïŒã
åæã«ãArduino ã® LED ãç¹æ» ãããã¹ã SMS ãå°çããã¯ãã§ãã
次ã«ãå
é»æ± ã®ãã£ãããå€ãã1.5 ãªããã«ã®ãããããã«ã«æ°Žãå
¥ããŸãã
ããã«ãåæ¿ã®äžã«çœ®ããé»æºãå
¥ããŠããæ°åãçµéããå Žåã¯ããã£ããããã©ãã¬ãžã¹ã¿ãŒã«æ»ããŸãïŒæ¥æ²¡ãã·ãã¥ã¬ãŒãããŸãïŒã
1 ååŸãArduino ã® LED ãç¹ç¯ãããã¹ãŠã®äœçœ®ã§çŽ XNUMX kg ã®ééå€ãå«ã SMS ãåä¿¡ããã¯ãã§ãã
ããã§ãšãïŒ ã·ã¹ãã ã¯ç¡äºã«çµã¿ç«ãŠãããŸããïŒ
ããã§ã·ã¹ãã ã匷å¶çã«å床åäœããããšãæåã®éã¿åã«ã¯ãŒããå ¥ããŸãã
ã¯ããå®éã®ç¶æ³ã§ã¯ããã©ãã¬ãžã¹ã¿ãåçŽäžåãã«é 眮ããããšããå§ãããŸãã
ããã§ãçããŠãŒã¶ãŒããã¥ã¢ã«ã玹ä»ããŸãã
- 巣箱ã®åŸéšã®å£ã®äžã«ã²ãã¿ã²ãŒãžãåãä»ããŸã (åéšã®å£ã®äžã«åãçŽ 30 mm ã®æ¢/æ¿ã眮ããŸã)ã
- ãã©ãã¬ãžã¹ã¿ãé®å ããããããªãŒãåãä»ããŸããLED ãç¹æ» ãããINITIAL Boot OKããšããããã¹ããèšèŒããããã¹ã SMS ãåä¿¡ããã¯ãã§ãã
- èãæ±ãéã«ã¯ã€ã€ãŒãéªéã«ãªããªãããã«ãäžå€®ãŠãããã巣箱ããã§ããã ãé¢ããå Žæã«èšçœ®ããŠãã ããã
æ¯æ©ãæ¥æ²¡åŸã«ããã®æ¥ã®äœéã®å€åãšæã¡äžãã®ç¬éããã®äœéã®å€åã瀺ã SMS ãå±ããŸãã
ããããªãŒé»å§ã 3.5V ã«éãããšãSMS ã¯ã!!!ããšããè¡ã§çµäºããŸãã ããããªãŒãå é»ããŠãã ãã!!!ã
2600mAhããããªãŒXNUMXåã§ã®åäœæéã¯çŽXNUMXãæã§ãã
é»æ± ã亀æãããšãæ¯æ¥ã®å·£ç®±ã®ééã®å€åã¯èšæ¶ãããªããªããŸãã
次ã¯äœã§ããïŒ
- ããããã¹ãŠã github ã®ãããžã§ã¯ãã«çµã¿èŸŒãæ¹æ³ãèãåºã
- ããªããŒãç³»ã®å·£ç®±ã§ 3 ã€ã®ããããã®å®¶æ (ãŸãã¯äººã ã®è§ã®ããããããã®å®¶æ) ãéå§ããŸãã
- ããã³ãºããè¿œå ããŸãã湿床ã枩床ã枬å®ãããããŠæãéèŠãªããšã«ãããããã®çŸœé³ãåæããŸãã
ä»ã¯ãããŸã§ã§ãããããããé¡ãããŸããé»æ°é€è家ã¢ã³ãã¬ã€
åºæïŒ habr.com