نہیں، یہ تجارتی پیشکش نہیں ہے، یہ سسٹم کے اجزاء کی قیمت ہے جسے آپ مضمون پڑھنے کے بعد جمع کر سکتے ہیں۔
ایک چھوٹا سا پس منظر:
کچھ عرصہ پہلے میں نے شہد کی مکھیاں لینے کا فیصلہ کیا، اور وہ نمودار ہوئیں... پورے سیزن میں، لیکن سردیوں کی جھونپڑی کو نہیں چھوڑا۔
اور یہ اس حقیقت کے باوجود کہ وہ سب کچھ صحیح طریقے سے کر رہا ہے - خزاں کی تکمیلی خوراک، سرد موسم سے پہلے موصلیت۔
چھتہ لکڑی کا ایک کلاسک "دادن" سسٹم تھا جس میں 10 فریم 40 ملی میٹر بورڈز سے بنے تھے۔
لیکن اس موسم سرما میں، درجہ حرارت میں تبدیلی کی وجہ سے، یہاں تک کہ تجربہ کار شہد کی مکھیاں پالنے والے بھی معمول سے کہیں زیادہ کھو گئے۔
اس طرح چھتے کی حالت کی نگرانی کے لیے ایک نظام کا خیال آیا۔
حبر پر متعدد مضامین شائع کرنے اور شہد کی مکھیوں کے پالنے والوں کے فورم پر بات چیت کرنے کے بعد، میں نے سادہ سے پیچیدہ کی طرف جانے کا فیصلہ کیا۔
وزن واحد ناقابل تردید پیرامیٹر ہے، لیکن ایک اصول کے طور پر، موجودہ نظام صرف ایک "حوالہ" چھتے کی نگرانی کرتے ہیں۔
اگر اس کے ساتھ کچھ غلط ہو جاتا ہے (مثال کے طور پر، ایک بھیڑ کی روانگی، شہد کی مکھی کی بیماری)، تو اشارے غیر متعلقہ ہو جاتے ہیں.
لہٰذا، یہ فیصلہ کیا گیا کہ ایک مائیکرو کنٹرولر کا استعمال کرتے ہوئے ایک ساتھ تین چھتے کے وزن میں ہونے والی تبدیلی کی نگرانی کی جائے، اور بعد میں دیگر "سامان" شامل کیے جائیں۔
نتیجہ ایک خود مختار نظام تھا جس میں 18650 بیٹری کے ایک چارج پر تقریباً ایک ماہ کا آپریٹنگ وقت تھا اور دن میں ایک بار اعداد و شمار بھیجے جاتے تھے۔
میں نے ڈیزائن کو ہر ممکن حد تک آسان بنانے کی کوشش کی تاکہ اسے صرف تصویروں سے، خاکے کے بغیر بھی دہرایا جا سکے۔
آپریشن کی منطق مندرجہ ذیل ہے: پہلی شروعات/ری سیٹ کے دوران، چھتے کے نیچے نصب سینسر کی ریڈنگ EEPROM میں محفوظ کی جاتی ہے۔
اس کے بعد، ہر روز، غروب آفتاب کے بعد، سسٹم "جاگتا ہے"، ریڈنگ پڑھتا ہے اور دن کے وزن میں تبدیلی کے ساتھ ایک SMS بھیجتا ہے اور اس لمحے سے جب اسے آن کیا گیا تھا۔
اس کے علاوہ، بیٹری وولٹیج کی قدر منتقل ہوتی ہے، اور جب یہ 3.5V تک گر جاتی ہے، تو چارج کرنے کی ضرورت کے بارے میں ایک انتباہ جاری کیا جاتا ہے، کیونکہ 3.4V سے نیچے کمیونیکیشن ماڈیول آن نہیں ہوتا ہے، اور وزن کی ریڈنگ پہلے ہی "بہر جاتی ہے"۔
"تمہیں یاد ہے یہ سب کیسے شروع ہوا؟ سب کچھ پہلی بار اور بار بار تھا۔"
جی ہاں، یہ بالکل وہی ہارڈ ویئر کا سیٹ ہے جو اصل میں تھا، اگرچہ آخری ورژن تک صرف سٹرین گیجز اور تاریں ہی بچ گئیں، لیکن سب سے پہلے چیزیں۔
درحقیقت، آپ کو کیبل کوائل کی ضرورت نہیں ہے، یہ صرف 30m سیدھی قیمت کے برابر ہی نکلی۔
اگر آپ 3 SMD LEDs اور روایتی (آؤٹ پٹ) سولڈرنگ کے نصف سو پوائنٹس کو ختم کرنے سے نہیں ڈرتے ہیں، تو جائیں!
لہذا، ہمیں مندرجہ ذیل سامان / مواد کی ضرورت ہوگی:
- Arduino Pro Mini 3V
آپ کو لکیری کنورٹر مائیکرو سرکٹ پر دھیان دینا چاہیے - یہ بالکل 3.3V ہونا چاہیے - KB 33/LB 33/DE A10 کو نشان زد کرنے والی چپ پر - میرے چینی میں کچھ غلط ہو گیا، اور پوری بیچ
اسٹور کے بورڈز میں 5 وولٹ کے ریگولیٹرز اور 16 میگا ہرٹز کرسٹل لگے۔ - CH340 چپ پر USB-Ttl - آپ 5 وولٹ والا بھی استعمال کر سکتے ہیں، لیکن پھر مائیکرو کنٹرولر کو چمکانے کے دوران، Arduino کو GSM ماڈیول سے منقطع کرنے کی ضرورت ہوگی تاکہ بعد والے کو جل نہ سکے۔
PL2303 چپ پر مبنی بورڈ Windows 10 کے تحت کام نہیں کرتے۔ - GSM کمیونیکیشن ماڈیول Goouu Tech IOT GA-6-B یا AI-THINKER A-6 Mini۔
تم وہاں کیوں رک گئے؟ Neoway M590 - ایک ڈیزائنر جس کو دف کے ساتھ علیحدہ رقص کی ضرورت ہوتی ہے، GSM SIM800L - کو منطق کی غیر معیاری 2.8V سطح پسند نہیں تھی، جس کے لیے تین وولٹ کے Arduino کے ساتھ بھی ہم آہنگی کی ضرورت ہوتی ہے۔
اس کے علاوہ، AiThinker کے حل میں کم سے کم توانائی کی کھپت ہے (میں نے SMS بھیجتے وقت 100mA سے زیادہ کرنٹ نہیں دیکھا)۔ - GSM GPRS 3DBI اینٹینا (اوپر کی تصویر میں - 9 بجے "دم" کے ساتھ ایک مستطیل اسکارف)
- ایک آپریٹر کا سٹارٹر پیکج جس میں آپ کی شیرینی کے مقام پر اچھی کوریج ہو۔
ہاں، پیکیج کو پہلے ایک عام فون میں چالو کرنا چاہیے، داخل ہونے پر پن کی درخواست کو غیر فعال کریں، اور اپنے اکاؤنٹ کو ٹاپ اپ کریں۔
اب "سینسر"، "IoT" کے انداز میں ناموں کے ساتھ بہت سے اختیارات ہیں - ان کی سبسکرپشن فیس قدرے کم ہے۔ - ڈوپونٹ تار 20 سینٹی میٹر زنانہ - 3 پی سیز۔ (Arduino کو USB-TTL سے مربوط کرنے کے لیے)
- 3 پی سیز HX711 - ترازو کے لیے ADC
- 6 کلوگرام تک کے وزن کے لیے 50 لوڈ سیل
- 15 میٹر 4 کور ٹیلی فون کیبل - وزنی ماڈیولز کو ARDUINO سے جوڑنے کے لیے۔
- Photoresistor GL5528 (یہ اہم ہے، جس میں 1 MΩ کی تاریک مزاحمت اور 10-20 kΩ کی ہلکی مزاحمت ہے) اور دو عام 20 kΩ ریزسٹرس
- دو طرفہ "موٹی" ٹیپ کا ایک ٹکڑا 18x18mm - Arduino کو مواصلاتی ماڈیول سے منسلک کرنے کے لیے۔
- 18650 بیٹری ہولڈر اور درحقیقت، بیٹری خود ~2600mAh ہے۔
- تھوڑا سا موم یا پیرافین (موم بتی کی گولی کی خوشبو کا لیمپ) - نمی کے تحفظ کے لیے HX711
- سٹرین گیجز کی بنیاد کے لیے لکڑی کے شہتیر 25x50x300mm کا ایک ٹکڑا۔
- سینسر کو بیس سے منسلک کرنے کے لیے 4,2x19 ملی میٹر پریس واشر کے ساتھ ایک درجن سیلف ٹیپنگ اسکرو۔
بیٹری لیپ ٹاپ کے جدا کرنے سے لی جا سکتی ہے - یہ ایک نئے سے کئی گنا سستی ہے، اور صلاحیت چینی الٹرا فائر سے کہیں زیادہ ہوگی - مجھے 1500 بمقابلہ 450 ملے (یہ آگ لگنے کے لیے 6800 ہے 😉
اس کے علاوہ، آپ کو مستحکم ہاتھ، ایک EPSN-25 سولڈرنگ آئرن، روزن اور POS-60 سولڈر کی ضرورت ہوگی۔
یہاں تک کہ 5 سال پہلے میں نے تانبے کی نوک کے ساتھ سوویت سولڈرنگ آئرن کا استعمال کیا تھا (سولڈرنگ اسٹیشن میرے لئے کام نہیں کرتے تھے - میں نے اسے ٹیسٹ ڈرائیو کے لئے لیا اور EPSN کے ساتھ سرکٹ ختم کیا)۔
لیکن اس کی ناکامی اور کئی چینی شیطانی جعلی جعلی ہونے کے بعد، مؤخر الذکر کو سپارٹا کہا جانے لگا - جو اس کے نام کی طرح ہی شدید چیز ہے، رک گئی
ترموسٹیٹ والی پروڈکٹ پر۔
تو چلو چلتے ہیں!
شروع کرنے کے لیے، ہم جی ایس ایم ماڈیول سے دو ایل ای ڈیز کو غیر فروخت کرتے ہیں (جس جگہ وہ واقع تھے وہ نارنجی بیضوی شکل میں گھومتا ہے)
ہم سم کارڈ کو رابطہ پیڈ کے ساتھ پرنٹ شدہ سرکٹ بورڈ میں داخل کرتے ہیں، تصویر میں بیولڈ کونے کو ایک تیر سے ظاہر کیا گیا ہے۔
پھر ہم آرڈوینو بورڈ پر ایل ای ڈی کے ساتھ اسی طرح کا طریقہ کار انجام دیتے ہیں (اسکوائر چپ کے بائیں طرف بیضوی)،
کنگھی کو چار رابطوں (1) میں سولڈر کریں،
ہم دو 20k ریزسٹرس لیتے ہیں، لیڈز کو ایک طرف موڑ دیتے ہیں، پن A5 کے سوراخ میں موڑ کو سولڈر کرتے ہیں، باقی لیڈز arduino (2) کے RAW اور GND میں ہوتی ہیں،
ہم فوٹو ریزسٹر کی ٹانگوں کو 10 ملی میٹر تک چھوٹا کرتے ہیں اور اسے بورڈ کے GND اور D2 پنوں میں سولڈر کرتے ہیں (3)۔
اب وقت آگیا ہے کہ دو طرفہ ٹیپ کے نیلے برقی ٹیپ کا - ہم اسے کمیونیکیشن ماڈیول کے سم کارڈ ہولڈر پر چپکتے ہیں، اور سب سے اوپر - Arduino - سرخ (چاندی) بٹن ہمارے سامنے ہے اور سم کارڈ کے اوپر واقع ہے۔
ہم پاور سپلائی کو سولڈر کرتے ہیں: علاوہ کمیونیکیشن ماڈیول کیپسیٹر (4) سے RAW arduino پن تک۔
حقیقت یہ ہے کہ کمیونیکیشن ماڈیول کو خود اپنی بجلی کی فراہمی کے لیے 3.4-4.2V کی ضرورت ہوتی ہے، اور اس کا PWR رابطہ ایک سٹیپ ڈاؤن کنورٹر سے جڑا ہوتا ہے، اس لیے لی-آئن سے کام کرنے کے لیے، سرکٹ کے اس حصے کو نظرانداز کرتے ہوئے وولٹیج کی فراہمی ضروری ہے۔
Arduino میں، اس کے برعکس، ہم ایک لکیری کنورٹر کے ذریعے بجلی فراہم کرتے ہیں - کم کرنٹ کی کھپت پر، ڈراپ آؤٹ وولٹیج ڈراپ 0.1V ہے۔
لیکن HX711 ماڈیولز کو ایک مستحکم وولٹیج فراہم کرنے سے، ہم انہیں کم وولٹیج میں تبدیل کرنے کی ضرورت سے چھٹکارا پاتے ہیں (اور ساتھ ہی اس آپریشن کے نتیجے میں بڑھتے ہوئے شور سے بھی)۔
اس کے بعد ہم سولڈر جمپر (5) پنوں کے درمیان PWR-A1، URX-D4 اور UTX-D5، گراؤنڈ GND-G (6) اور آخر میں 18650 بیٹری ہولڈر (7) سے پاور لگاتے ہیں، اینٹینا (8) کو جوڑتے ہیں۔
اب ہم ایک USB-TTL کنورٹر لیتے ہیں اور RXD-TXD اور TXD-RXD، GND-GND رابطوں کو ڈوپونٹ تاروں کے ساتھ ARDUINO سے جوڑتے ہیں (comb 1):
اوپر دی گئی تصویر سسٹم کا پہلا ورژن (تین میں سے) دکھاتی ہے، جو ڈیبگنگ کے لیے استعمال ہوتا تھا۔
لیکن اب ہم سولڈرنگ آئرن سے تھوڑی دیر کے لیے وقفہ لیں گے اور سافٹ ویئر کے حصے کی طرف بڑھیں گے۔
میں ونڈوز کے لیے اعمال کی ترتیب بیان کروں گا:
سب سے پہلے، آپ کو پروگرام کو ڈاؤن لوڈ اور انسٹال/انپیک کرنے کی ضرورت ہے۔
سادگی کے لیے، ہم آرکائیو کو فولڈر C: arduino - "your_version_number" میں کھولتے ہیں، اس کے اندر ہمارے پاس فولڈرز/dist، ڈرائیورز، مثالیں، ہارڈویئر، java، lib، لائبریریز، حوالہ، ٹولز کے ساتھ ساتھ arduino کی ایگزیکیوٹیبل فائل ہوگی۔ (دوسروں کے درمیان).
اب ہمیں اے ڈی سی کے ساتھ کام کرنے کے لیے ایک لائبریری کی ضرورت ہے۔
مواد (فولڈر HX711-master) ڈائریکٹری C:arduino-"your_version_number" لائبریریوں میں رکھا گیا ہے
اور یقینا ڈرائیور کے لیے
ٹھیک ہے، آئیے پروگرام C:arduino-"your_version_number"arduino کو لانچ اور ترتیب دیں
"ٹولز" آئٹم پر جائیں - "Arduino Pro یا 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 کے بجائے، ملک کے کوڈ کے ساتھ اپنا فون نمبر ڈالیں جس پر SMS بھیجا جائے گا۔
اب ہم چیک بٹن دبائیں (اوپر اسکرین شاٹ میں نمبر ایک کے اوپر) - اگر نیچے (اسکرین پر نمبر تین کے نیچے) "تالیف مکمل ہو گئی" - تو ہم مائیکرو کنٹرولر کو فلیش کرسکتے ہیں۔
لہذا، USB-TTL ARDUINO اور کمپیوٹر سے منسلک ہے، چارج شدہ بیٹری کو ہولڈر میں رکھیں (عام طور پر نئے Arduino پر LED فی سیکنڈ میں ایک بار ٹمٹمانے لگتی ہے)۔
اب فرم ویئر کے لیے - ہم مائیکرو کنٹرولر کے سرخ (سلور) بٹن کو دبانے کی تربیت دے رہے ہیں - یہ ایک خاص لمحے پر سختی سے کرنے کی ضرورت ہوگی!!!
کھاؤ۔ "لوڈ" بٹن پر کلک کریں (اسکرین شاٹ میں دونوں کے اوپر)، اور انٹرفیس کے نیچے لائن کو احتیاط سے دیکھیں (اسکرین شاٹ میں تین کے نیچے)۔
جیسے ہی "تالیف" کا نوشتہ "ڈاؤن لوڈنگ" میں تبدیل ہوتا ہے، سرخ بٹن دبائیں (ری سیٹ کریں) - اگر سب کچھ ٹھیک ہے تو، USB-TTL اڈاپٹر کی لائٹس خوشی سے جھپکیں گی، اور انٹرفیس کے نیچے لکھا ہوا "اپ لوڈ ہو گیا ہے۔ "
اب، جب ہم فون پر ٹیسٹ ایس ایم ایس آنے کا انتظار کر رہے ہیں، میں آپ کو بتاؤں گا کہ پروگرام کیسے کام کرتا ہے:
تصویر ڈیبگنگ اسٹینڈ کا دوسرا ورژن دکھاتی ہے۔
پہلی بار آن ہونے پر، سسٹم EEPROM کے بائٹس نمبر 500 اور 501 کو چیک کرتا ہے؛ اگر وہ برابر ہیں، تو کیلیبریشن ڈیٹا ریکارڈ نہیں کیا جاتا ہے، اور الگورتھم سیٹ اپ سیکشن میں جاتا ہے۔
ایسا ہی ہوتا ہے اگر، آن ہونے پر، فوٹو ریزسٹر سایہ دار ہو (قلم کی ٹوپی سے) - ری سیٹ موڈ چالو ہو جاتا ہے۔
لوڈ سیلز کو پہلے سے ہی چھتے کے نیچے نصب کیا جانا چاہئے، کیونکہ ہم صرف ابتدائی صفر کی سطح کو ٹھیک کرتے ہیں اور پھر وزن میں تبدیلی کی پیمائش کرتے ہیں (اب صفر صرف آئیں گے، کیونکہ ہم نے ابھی تک کچھ بھی نہیں جوڑا ہے)۔
اسی وقت، پن 13 کا بلٹ ان ایل ای ڈی Arduino پر ٹمٹمانے لگے گا۔
اگر ری سیٹ نہیں ہوتا ہے تو، LED 12 سیکنڈ کے لیے جلتی ہے۔
اس کے بعد، "ابتدائی بوٹ اوکے" اور بیٹری وولٹیج کے پیغام کے ساتھ ایک ٹیسٹ ایس ایم ایس بھیجا جاتا ہے۔
کمیونیکیشن ماڈیول بند ہو جاتا ہے، اور 3 منٹ کے بعد Arduino بورڈ HX711 ADC بورڈز کو سلیپ موڈ میں ڈال دیتا ہے اور خود سو جاتا ہے۔
یہ تاخیر اس لیے کی گئی تھی کہ کام کرنے والے GSM ماڈیول سے مداخلت نہ ہو (سوئچ آف کرنے کے بعد، یہ کچھ وقت کے لیے "پھلیاں")۔
اگلا، ہمارے پاس دوسرے پن پر ایک فوٹو سینسر انٹرپٹ ہے (پلس فنکشن فعال ہے)۔
اس صورت میں، ٹرگرنگ کے بعد، فوٹو ریزسٹر کی حالت کو مزید 3 منٹ کے لیے چیک کیا جاتا ہے - بار بار یا غلط ٹرگرنگ کو ختم کرنے کے لیے۔
عام بات یہ ہے کہ بغیر کسی ایڈجسٹمنٹ کے نظام ابر آلود موسم میں فلکیاتی غروب آفتاب کے 10 منٹ بعد اور صاف موسم میں 20 منٹ بعد چالو ہوجاتا ہے۔
ہاں، تاکہ سسٹم ہر بار آن ہونے پر دوبارہ ترتیب نہ دے، کم از کم پہلا HX711 ماڈیول (پن DT-D10، SCK-A0) ضرور منسلک ہونا چاہیے۔
اس کے بعد سٹرین گیجز کی ریڈنگ لی جاتی ہے، پچھلے آپریشن سے وزن میں تبدیلی کا حساب لگایا جاتا ہے (Hive کے بعد لائن میں پہلا نمبر) اور پہلی ایکٹیویشن سے بیٹری کا وولٹیج چیک کیا جاتا ہے اور یہ معلومات ایس ایم ایس کے طور پر بھیجی جاتی ہیں:
ویسے کیا آپ کو ایس ایم ایس موصول ہوا؟ مبارک ہو! ہم آدھے راستے پر ہیں! بیٹری کو ابھی کے لیے ہولڈر سے ہٹایا جا سکتا ہے؛ ہمیں اب کمپیوٹر کی ضرورت نہیں پڑے گی۔
ویسے، مشن کنٹرول سینٹر اتنا کمپیکٹ نکلا کہ اسے مایونیز جار میں رکھا جا سکتا ہے؛ میرے معاملے میں، 30x60x100mm (کاروباری کارڈز سے) کی پیمائش کا ایک پارباسی باکس بالکل فٹ بیٹھتا ہے۔
ہاں، کمیونیکیشن ماڈیول کی وجہ سے سلیپنگ سسٹم ~2.3mA - 90% استعمال کرتا ہے - یہ مکمل طور پر بند نہیں ہوتا، لیکن اسٹینڈ بائی موڈ میں چلا جاتا ہے۔
آئیے سینسرز بنانا شروع کرتے ہیں؛ پہلے، آئیے سینسر کی ترتیب کو چھوتے ہیں:
یہ چھتہ - ٹاپ ویو کا منصوبہ ہے۔
کلاسیکی طور پر، کونوں میں 4 سینسر نصب ہیں (1,2,3,4)
ہم مختلف طریقے سے پیمائش کریں گے۔ یا بلکہ، یہاں تک کہ تیسرے طریقے سے۔ کیونکہ بروڈ مائنڈر کے لوگ اسے مختلف طریقے سے کرتے ہیں:
اس ڈیزائن میں، سینسرز پوزیشن 1 اور 2، پوائنٹس 3,4 اور XNUMX ریسٹ بیم پر نصب ہیں۔
پھر سینسر صرف نصف وزن کے لئے اکاؤنٹ.
جی ہاں، اس طریقہ کار کی درستگی کم ہے، لیکن یہ تصور کرنا اب بھی مشکل ہے کہ شہد کی مکھیاں چھتے کی ایک دیوار کے ساتھ شہد کے چھاتیوں کی "زبانوں" کے ساتھ تمام فریم بنائیں گی۔
لہذا، میں تجویز کرتا ہوں کہ عام طور پر سینسر کو پوائنٹ 5 تک کم کر دیا جائے - پھر سسٹم کو بچانے کی ضرورت نہیں ہے، اور جب ہلکے چھتے استعمال کرتے ہیں، تو ایک سینسر کے ساتھ کام کرنا مکمل طور پر ضروری ہے۔
عام طور پر، ہم نے HX711 پر دو قسم کے ماڈیولز، دو قسم کے سینسرز، اور ان کو جوڑنے کے لیے دو آپشنز کا تجربہ کیا - ایک مکمل وہیٹ اسٹون برج (2 سینسرز) کے ساتھ اور ایک آدھے حصے کے ساتھ، جب دوسرے حصے کو 1k ریزسٹرس کے ساتھ مکمل کیا جاتا ہے۔ رواداری 0.1٪
لیکن مؤخر الذکر طریقہ ناپسندیدہ ہے اور سینسر مینوفیکچررز کی طرف سے بھی سفارش نہیں کی جاتی ہے، لہذا میں صرف پہلے کی وضاحت کروں گا.
لہذا، ایک چھتے کے لیے ہم دو سٹرین گیجز اور ایک HX711 ماڈیول انسٹال کریں گے، وائرنگ کا خاکہ درج ذیل ہے:
ADC بورڈ سے Arduino تک 5 میٹر 4 تار والی ٹیلی فون کیبل ہے۔
عام طور پر، ہم سینسرز پر 8 سینٹی میٹر "دم" چھوڑ دیتے ہیں، بٹی ہوئی جوڑی کو اتار دیتے ہیں اور اوپر کی تصویر کی طرح ہر چیز کو سولڈر کرتے ہیں۔
اس سے پہلے کہ آپ کارپینٹری کا حصہ شروع کریں، موم/ پیرافین کو پانی کے غسل میں پگھلنے کے لیے ایک مناسب کنٹینر میں رکھیں۔
اب ہم اپنی لکڑی لیتے ہیں اور اسے 100 ملی میٹر کے تین حصوں میں تقسیم کرتے ہیں۔
اس کے بعد، ہم 25 ملی میٹر چوڑی، 7-8 ملی میٹر گہرائی میں ایک طولانی نالی کو نشان زد کرتے ہیں، ایک ہیکسا اور چھینی کا استعمال کرتے ہوئے اضافی کو ہٹا دیں - ایک U شکل کا پروفائل ابھرنا چاہیے۔
کیا موم گرم ہو گیا ہے؟ - ہم اپنے ADC بورڈز کو وہاں ڈبوتے ہیں - یہ انہیں نمی/دھند سے بچائے گا:
ہم یہ سب لکڑی کے اڈے پر رکھتے ہیں (سڑنے سے بچنے کے لیے اس کا علاج جراثیم کش کے ساتھ کیا جانا چاہیے):
اور آخر میں، ہم سیلف ٹیپنگ پیچ کے ساتھ سینسرز کو ٹھیک کرتے ہیں:
بلیو الیکٹریکل ٹیپ کے ساتھ ایک آپشن بھی تھا لیکن انسانیت کی وجہ سے پیش نہیں کر رہا 😉
Arduino کی طرف سے ہم مندرجہ ذیل کام کرتے ہیں:
ہم اپنے ٹیلی فون کی کیبلز کو اتار دیتے ہیں، رنگین تاروں کو ایک ساتھ موڑ دیتے ہیں، اور انہیں ٹن کرتے ہیں۔
اس کے بعد، بورڈ کے رابطوں کو ٹانکا لگا دیں جیسا کہ تصویر میں ہے:
بس، اب حتمی جانچ کے لیے، ہم نے سینسرز کو دائرے کے سیکٹرز، اوپر پلائیووڈ کا ایک ٹکڑا لگا دیا، کنٹرولر کو ری سیٹ کیا (ہم نے فوٹوڈیوڈ پر قلم کی ٹوپی کے ساتھ بیٹری لگا دی)۔
ایک ہی وقت میں، Arduino پر LED کو پلک جھپکنا چاہیے اور ایک ٹیسٹ SMS آنا چاہیے۔
اس کے بعد، فوٹو سیل سے ٹوپی ہٹائیں اور پانی کو 1.5 لیٹر پلاسٹک کی بوتل میں بھریں۔
ہم نے بوتل کو پلائیووڈ پر رکھ دیا اور اگر اسے آن ہونے کے بعد کئی منٹ گزر چکے ہیں، تو ہم ٹوپی کو دوبارہ فوٹو ریزسٹر پر رکھ دیتے ہیں (غروب آفتاب کی نقل کرتے ہوئے)۔
تین منٹ کے بعد، Arduino پر LED روشن ہو جائے گا، اور آپ کو تمام پوزیشنوں میں تقریباً 1 کلوگرام وزن کے ساتھ ایک SMS موصول ہونا چاہیے۔
مبارک ہو! نظام کو کامیابی کے ساتھ جمع کیا گیا ہے!
اگر ہم اب سسٹم کو دوبارہ کام کرنے پر مجبور کرتے ہیں، تو پہلے وزن والے کالم میں صفر ہوں گے۔
جی ہاں، حقیقی حالات میں فوٹو ریزسٹر کو عمودی طور پر اوپر کی طرف موڑنے کا مشورہ دیا جاتا ہے۔
اب میں ایک مختصر صارف دستی پیش کروں گا:
- چھتے کی پچھلی دیواروں کے نیچے سٹرین گیجز لگائیں (سامنے والی دیواروں کے نیچے ~30 ملی میٹر موٹی بیم/بورڈ رکھیں)
- فوٹو ریسسٹر کو شیڈ کریں اور بیٹری انسٹال کریں - ایل ای ڈی کو پلک جھپکنا چاہیے اور آپ کو "ابتدائی بوٹ اوکے" کے متن کے ساتھ ایک ٹیسٹ ایس ایم ایس موصول ہونا چاہیے۔
- مرکزی یونٹ کو چھتوں سے زیادہ سے زیادہ فاصلے پر رکھیں اور تاکہ شہد کی مکھیوں کے ساتھ کام کرتے وقت تاریں مداخلت نہ کریں۔
ہر شام، غروب آفتاب کے بعد، آپ کو دن اور لانچ کے لمحے سے آپ کے وزن میں تبدیلی کے ساتھ ایک SMS موصول ہوگا۔
جب بیٹری وولٹیج 3.5V تک پہنچ جائے گا تو ایس ایم ایس لائن “!!! بیٹری چارج کرو!!!"
ایک 2600mAh بیٹری پر کام کرنے کا وقت تقریباً ایک مہینہ ہے۔
اگر بیٹری بدل دی جائے تو چھتے کے وزن میں روزانہ کی تبدیلیاں یاد نہیں رہتیں۔
اس کے بعد کیا ہے؟
- اندازہ لگائیں کہ یہ سب گیتھب کے پروجیکٹ میں کیسے ڈالا جائے۔
- پالیووڈا نظام کے چھتے میں شہد کی مکھیوں کے 3 خاندان شروع کریں (یا لوگوں میں سینگ والے)
- "بنس" شامل کریں - نمی، درجہ حرارت کی پیمائش، اور سب سے اہم - شہد کی مکھیوں کی گونج کا تجزیہ کرنا۔
ابھی کے لیے بس اتنا ہی، آپ کا، الیکٹرک مکھی پالنے والے اینڈری
ماخذ: www.habr.com