رصد الرسائل القصيرة من وزن ثلاث خلايا مقابل 35 دولار

NewBee


لقد مر وقت طويل منذ الإصدار السابق عن النظام مقابل 30 دولارًا .


ما الذي تغير خلال الشهر القمري الماضي؟


  1. تمت إضافة بطارية شمسية - وقت التشغيل غير محدود تقريبًا.
  2. إضافة إرسال المعلومات على مكالمة.
  3. القدرة على العمل مع جميع أنواع وحدات الاتصالات التي أصبحت في رأيي - AiThinker ، Goouu tech ، SIM800 / 900 ، Neoway M590 *

ولكن الشيء الأكثر أهمية هو أن وحدة الاتصالات وجهاز التحكم الدقيق يتم فصلهما فعليًا ، مما يلغي التداخل في تشغيلها مع HX711.


وكل هذا بفضل النقد البناء لسكان هابروفسك ومربي النحل الذين انضموا إلى مناقشة النظام.


بقي باقي خصائص الأداء على حاله - الحد الأقصى لوزن خلايا النحل هو 200 كجم ، بعد غروب الشمس ، يتم إجراء القياس ، ويتم إرسال المؤشرات.


توقع انتقادات بشأن عدم استخدام أوضاع النوم وخطوط إشارة إضافية من وحدات GSM سأقول ما يلي:


كل وحدة اتصال لها تفاصيلها الخاصة - بعضها يغفو عند مستوى إشارة منخفض ، بعضها على مستوى عالٍ ، والبعض الآخر بنقرة مزدوجة.


تتضمن تفاصيل "افعلها بنفسك" جزءًا إبداعيًا معينًا ، ومن المفيد إظهاره هنا.


لقد صنعت أيضًا نظامًا يركز على التطوير الإضافي لرصد المعلمات الأخرى للخلية ، حيث لا يلزم النوم بشكل خاص.


بشكل عام ، في الرسم البياني العنوان - الروبوت النقي نظام أساسي يمكنك من خلاله الرقص في أي مكان من خلال التصميم وعدد / مجموعة من أجهزة الاستشعار ، وحدات ، الخ


هذه المقالة تدور حول المقاييس ، وتحت رؤيتي ، رؤيتي الشخصية وتطبيق النظام.


في كلمة واحدة - مرحبا! دعنا نذهب!


بادئ ذي بدء ، لا ينام هذا النظام ... على الإطلاق ، لأن البطارية الشمسية المكونة من خليتين من 6 فولت تنتج 5 فولت وما يصل إلى مائة مللي أمبير حتى في الطقس الغائم.


ويبلغ استهلاك النظام بأكمله 17 مللي أمبير ، في وضع الاستعداد (في معيار GSM1800) وحوالي الثلاثين على GSM900.


بالإضافة إلى ذلك ، كما ذكرنا سابقًا ، تم ذلك بهدف تنفيذ وظائف مراقبة إضافية في الوقت الفعلي (سرب ، على سبيل المثال ، يمكن أن يخرج في 5 دقائق) - لا يوجد وقت للنوم ؛-)


تريد توفير الطاقة بشكل مطلق ، لذلك سيكون في المنشور التالي ، ولكن سيكون مختلفًا تمامًا القصة النظام.


* نعم ، فيما يتعلق بالحاشية حول وحدات الاتصالات ، ليس الأمر أنني أصبحت من أتباع AiThinker ، بل أحتاج فقط إلى تجميع Neoway بنفسي ، وتتطلب وحدات SIM800L مقالة منفصلة مع برنامج تعليمي حول العمل معهم.


باختصار ، فإن شبكات GSM المحددة هي IMHO ، وهي الوحيدة التي يمكنها العمل على 4 أسلاك ، بما في ذلك الطاقة ، دون رقصات إضافية مع الدف.


سنحتاج إلى مجموعة المعدات / المواد التالية:


  1. اردوينو برو ميني 3V
    يجب الانتباه إلى رقاقة المحول الخطي - يجب أن تكون بالضبط 3.3 فولت - على رقاقة وضع العلامات KB 33 / LB 33 / DE A10 - اختلط الصينيون شيئًا معي ، والدفعة بأكملها
    تحولت لوحات الدوائر في المتجر إلى أن تكون مع منظمات 5 فولت و 16 MHz الكوارتز.
  2. USB-Ttl على شريحة CH340 - يمكنك حتى 5 فولت ، ولكن بعد ذلك أثناء البرامج الثابتة لجهاز التحكم الدقيق ، سيحتاج Arduino إلى قطع الاتصال مع وحدة GSM ، حتى لا يحرق الأخير.
    لا تعمل اللوحات الموجودة على شريحة PL2303 ضمن نظام التشغيل Windows 10.
  3. وحدة الاتصالات GSM Goouu Tech IOT GA-6-B أو AI-THINKER A-6 Mini.
  4. جي إس إم هوائي جي بي آر إس "YG-01"

    كيف حققوا مثل هذه الزيادة - لغزًا - ربما يكون هذا متعلقًا بالغياب الكامل لها ؛-).
  5. حزمة بداية لمشغل لديه تغطية جيدة في موقع المنحل الخاص بك.
    نعم ، يجب أولاً تنشيط الحزمة في هاتف عادي ، وتعطيل طلب رقم التعريف الشخصي عند المدخل ، وتجديد الحساب.
  6. الأسلاك دوبونت الأم 20CM - 4 أجهزة الكمبيوتر. (لتوصيل Arduino بـ USB-TTL)
  7. 3PC. HX711 - ADC للموازين
  8. 6 خلايا تحميل يصل وزنها إلى 50 كجم
  9. 15 مترًا من كابل الهاتف رباعي النواة - لتوصيل وحدات الوزن و GSM مع ARDUINO.
  10. Photoresistor GL5528 (هذا أمر مهم ، مع مقاومة الظلام من 1MOH ومقاومة الضوء من 10-20kOhm).
  11. زوجان من المقابس والمقابس 6P6C - هاتف ، مآخذ - مع "ذيول"
  12. شريط بطول 50 سم على الوجهين بعرض 10 ملم - لتوصيل الألواح الشمسية بمكان وحدة GSM.
  13. TP4056 مقرها مجلس شاحن لبطاريات LiIon
  14. حامل البطارية 18650 ، وفي الواقع ، البطارية نفسها.
  15. القليل من الشمع أو البارافين (شمعة مصباح مصباح العطر) - لحماية الرطوبة HX711
  16. قطعة من شعاع خشبي 25x50x300mm لقاعدة خلايا الحمل.
  17. اثني عشر براغي ذاتية التنصت مع غسالة ضغط 4.2 × 19 مم لتركيب أجهزة استشعار على القاعدة.
  18. 5-6V 2W البطارية الشمسية
    منظر خلفي للألواح
    لا يوجد تيار عكسي من خلال الشاحن ، ولكن يجب تشغيل الوحدات الشمسية الموازية بشكل صحيح خلال الثنائيات
  19. صندوق لوحدة الاتصالات وبطارية شمسية (بحجم 60 × 100 مم) - يمكنك الحصول على توزيع مناسب للسلع الكهربائية ، واحدة من البلاستيك من بطاقات العمل 30 × 60 × 100 مناسبة بشكل مثالي.

بالإضافة إلى ذلك ، سوف تحتاج إلى أيد ملتوية وحديد لحام EPSN-25 وروزين و POS-60.


للنجارة ، منشار الخشب للخشب / المعدن ، وإزميل وحفر مع حفر 3MM كافية.


تخطيط النظام كما يلي:


ترتيب


على أي حال ، يجب ألا تضع وحدة GSM في مكان أقرب من المتر من Arduino - مع وجود قوة إشارة عالية في معيار GSM900 ، فقد يتسبب ذلك في إعادة تشغيل متحكم دقيق!


حسنًا ، يجب تثبيت وحدة الاتصال بالبطارية الشمسية - على عمود - وسيكون الاستقبال أفضل ، وكذلك من النحل.


الآن لنبدأ التجميع:


GSM A6


بالنسبة للمبتدئين ، يتم لحام مصباحين من وحدة GSM (المكان الذي كانا فيه دائريان في شكل بيضاوي برتقالي).


نقوم بإدخال بطاقة SIM مع منصات في لوحة الدوائر المطبوعة ، ويشار إلى الزاوية المشطوفة في الصورة بالسهم.


بالإضافة إلى ذلك ، يتم لحام البطارية والأسلاك المتجهة إلى جهاز التحكم مباشرة إلى المكثف (4).


والحقيقة هي أن وحدة الاتصالات نفسها تتطلب 3.4-4.2V لإمدادها بالطاقة ، ويتم توصيل جهة اتصال PWR الخاصة بها بمحول تنحى ، لذلك يجب أن يتم تشغيل جهد التشغيل من خلال جهد li-ion لتجاوز هذا الجزء من الدائرة.


اردوينو برو ميني 3V


ثم نقوم بتنفيذ إجراء مماثل باستخدام مؤشر LED الموجود على لوحة Arduino (البيضاوي الموجود على يمين الشريحة المربعة).


نلحم المشط في أربعة جهات اتصال (1) ، دائمًا أفقًا - على طول اللوحة.


تقصير الساقين إلى 10 ملم ولحام مع موصلات 20 سم إلى محطات GND و D2 من اللوحة (2).


نحن نوفر الطاقة من خلال محول خطي - عند التيارات المنخفضة ، فإن انخفاض الجهد المتسرب هو 0.1V.


لكن من خلال توفير جهد ثابت لوحدات HX711 ، نتخلص من الحاجة إلى تحسينها عند جهد أقل (وفي نفس الوقت نزيد الضوضاء نتيجة لهذه العملية).


أنت الآن بحاجة إلى أن تأخذ 5 أمتار من كابل الهاتف ذو أربعة أسلاك ، ولحام بين متحكم وحدة الاتصالات وفقًا للمخطط في بداية المقال (ألوان الأسلاك تتوافق مع الواقع).


نحن أيضا لحام حامل البطارية ، سنفعل الباقي في وقت لاحق قليلا.


والآن لبعض الوقت نتخلص من مكواة اللحام وننتقل إلى جزء البرنامج.
سوف أصف تسلسل الإجراءات لنظام التشغيل Windows:
أولاً ، تحتاج إلى تنزيل وتثبيت / فك ضغط برنامج Arduino IDE - الإصدار الحالي هو 1.8.9 ، لكنني أستخدم 1.6.4


للبساطة ، نقوم بفك ضغط الأرشيف في المجلد C: \ arduino- "your_version_number" ، بداخله سيكون لدينا / dist ، برامج التشغيل ، الأمثلة ، الأجهزة ، java ، lib ، المكتبات ، المرجع ، مجلدات الأدوات ، بالإضافة إلى ملف arduino القابل للتنفيذ (من بين أمور أخرى).


نحتاج الآن إلى مكتبة للعمل مع HX711 ADC - الزر الأخضر "استنساخ أو تنزيل" - قم بتنزيل ZIP.


يتم وضع المحتوى (المجلد HX711-master) في الدليل C: \ arduino- "your_version_number" \ libraries


وبالطبع ، فإن برنامج تشغيل USB-TTL هو من نفس الجيثب - من الأرشيف الذي تم فك حزمه ، يتم ببساطة بدء تشغيل ملف SETUP المثبت.


بالنسبة لأولئك الذين يترددون في الاهتمام بالمكتبات ، قمت بتعبئة تجميعي لبرنامج Arduino IDE - فقط قم بتنزيله وفك ضغطه.


نبدأ في تكوين البرنامج 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 // NeverSleep #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 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; boolean forceSend=false; char ch = 0; char ch1 = 0; char ch2 = 0; char ch3 = 0; char ch4 = 0; void readVcc() // read battery capacity { ch = mySerial.read(); while (mySerial.available() > 0) { ch = mySerial.read(); } // empty input buffer from modem mySerial.println("AT+CBC?"); //ask gprs for battery status (for sim800 and neoway command must be "AT+CBC" ) delay(200); while (mySerial.available() > 0) { //read input string between coma and CR ch = mySerial.read(); if (ch ==','){ ch1 = mySerial.read(); ch2 = mySerial.read(); ch3 = mySerial.read(); ch4 = mySerial.read(); } } } // ********************************************************************** void SendStat() { detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt digitalWrite(13, HIGH); if (!forceSend){ 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 || forceSend ) { 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; readVcc(); delay(200); mySerial.println("AT+CMGF=1"); // Part of SMS sending 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("Battery capacity is "); mySerial.print(ch1); mySerial.print(ch2); mySerial.print(ch3); mySerial.print(ch4); mySerial.println(" %"); if (forceSend) {mySerial.print("Forced SMS");} mySerial.println (char(26));//the ASCII code of the ctrl+z is 26 delay(3000); } forceSend=false; digitalWrite(13, LOW); attachInterrupt(0, SendStat , RISING); // Interrupt by HIGH level } // ************************************************************************************************* void switchto9600() { mySerial.begin(115200); // Open software serial port delay(16000); // wait for boot mySerial.println("AT"); delay(200); mySerial.println("AT"); delay(200); mySerial.println("AT+IPR=9600"); // Change Serial Speed delay(200); mySerial.begin(9600); mySerial.println("AT&W0"); delay(200); mySerial.println("AT&W"); } void setup() { // Setup part run once, at start pinMode(13, OUTPUT); // Led pin init pinMode(2, INPUT_PULLUP); // Set pullup voltage Serial.begin(9600); // ------------------------------------------------------------------------------- switchto9600(); // switch module port speed // ------------------------------------------------------------------------------- mySerial.begin(9600); delay(200); 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 readVcc(); delay(200); mySerial.println("AT+CMGF=1"); 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("Battery capacity is "); mySerial.print(ch1); mySerial.print(ch2); mySerial.print(ch3); mySerial.print(ch4); mySerial.println(" %"); mySerial.println (char(26));//the ASCII code of the ctrl+z is 26 delay(3000); raw02=raw00; raw12=raw10; raw22=raw20; attachInterrupt(0, SendStat , RISING); // Interrupt by HIGH level } void loop() { digitalWrite(13, LOW); ch=mySerial.read(); if ( ch=='R' ) { //wait first lerrer from "RING" string forceSend=true; mySerial.println("ATH"); SendStat(); ch=' '; } } 

في السطر الأول ، في علامات اقتباس ، char phone_no [] = "+ 123456789012"؛ - بدلاً من 123456789012 ، نضع رقم الهاتف الخاص بنا مع رمز البلد الذي سيتم إرسال الرسائل القصيرة إليه.


انقر فوق زر الاختيار (أعلى الرقم الأول في لقطة الشاشة أعلاه) - إذا كان أدناه (أسفل الرقم الثلاثي في ​​لقطة الشاشة) "اكتمل التصنيف" - فيمكننا وميض متحكم دقيق.


لذلك ، USB-TTL متصل بـ ARDUINO والكمبيوتر (كما في الصورة أعلاه) ، وضعنا البطارية المشحونة في الحامل (عادةً في اردوينو جديد ، يبدأ المصباح في الوميض مرة واحدة في الثانية).


الآن البرامج الثابتة - نحن نتدرب على الضغط على الزر الأحمر (الفضي) في المتحكم الدقيق - يجب القيام بذلك بدقة في لحظة معينة !!!


هل هناك انقر فوق الزر "تحميل" (أعلى الاثنين في لقطة الشاشة) ، وانظر بعناية في الجزء السفلي من الواجهة (أسفل الشاشات الثلاث).


بمجرد استبدال "التجميع" للنقوش بـ "تنزيل" - اضغط على الزر الأحمر (إعادة الضبط) - إذا كان كل شيء على ما يرام - يومض محول USB-TTL بفرح ، والنقش "تم تنزيله" في أسفل الواجهة


بينما نحن في انتظار وصول اختبار SMS على الهاتف ، سأخبرك بكيفية عمل البرنامج:


في المرة الأولى التي يتم فيها تشغيل النظام ، يتحقق من البايتين 500 و 501 من EEPROM ؛ إذا كانت متساوية ، فلن تتم كتابة بيانات المعايرة ، وتنتقل الخوارزمية إلى قسم الإعداد.


يحدث نفس الشيء إذا تم تشغيل مضواء مقاومة الضوء (بغطاء من القلم) - تم تنشيط وضع إعادة تعيين المعلمة.


يجب تثبيت مقاييس الضغط بالفعل تحت خلايا النحل ، نظرًا لأننا نصلح ببساطة المستوى الأولي من الصفر ثم نقيس التغير في الوزن (ستأتي الأصفار الآن ، حيث أننا لم نربط أي شيء بعد).


في اردوينو ، يومض المصباح المدمج في دبوس 13.
في حالة عدم حدوث إعادة التعيين ، يضيء مؤشر LED لمدة 12 ثانية.
بعد ذلك ، يتم إرسال اختبار SMS مع الرسالة "INITIAL BOOT OK" والنسبة المئوية لشحن البطارية.


علاوة على ذلك ، لدينا مقاطعة على جهاز استشعار ضوئي يعمل على الدبوس الثاني (بالإضافة إلى تمكين الرفع بواسطة وظيفة السحب).
في هذه الحالة ، بعد التعثر لمدة 3 دقائق أخرى ، يتم فحص حالة المقاوم للضوء لاستبعاد الإيجابيات المتكررة / الخاطئة.
لمنع النظام من إعادة الضبط في كل مرة يتم تشغيله ، يجب توصيل أول وحدة HX711 على الأقل (المسامير DT-D10 ، SCK-A0)


ثم يتم أخذ قراءات خلية الحمل ، يتم حساب تغيير الوزن من العملية السابقة (الرقم الأول في السطر بعد Hive) ومن البداية الأولى ، يتم فحص جهد البطارية ويتم إرسال هذه المعلومات في شكل رسائل نصية قصيرة:


نظام العينة


بالمناسبة ، هل تلقيت رسالة قصيرة؟ تهانينا! نحن في منتصف الطريق! بينما يمكن إزالة البطارية من الحامل ، لن نحتاج إلى كمبيوتر إضافي.


ننتقل إلى تصنيع المستشعرات ، للبدء ، دعنا نتطرق إلى تصميم المستشعرات:


موقع الاستشعار


هذه هي خطة عرض خلية النحل.


كلاسيكي ، يتم تثبيت 4 أجهزة استشعار في الزوايا (1،2،3،4)


سوف نقيس بشكل مختلف. أو بالأحرى ، حتى في الثالث. كما يفعل الرجال من BroodMinder بشكل مختلف:


BroodMinder


في هذا التصميم ، يتم تثبيت أجهزة الاستشعار في الموضعين 1 و 2 ، والنقاط 3.4 تستند إلى شعاع.
ثم فقط نصف الوزن يقع على أجهزة الاستشعار.
نعم ، هذه الطريقة لها دقة أقل ، لكن من الصعب تخيل أن النحل تراكمت جميع الأطر مع "ألسنة" من قرص العسل على طول جدار واحد من الخلية.


لذا ، أقترح تقليل المستشعرات إلى النقطة 5 تمامًا - ثم ليست هناك حاجة إلى حماية النظام ، وعند استخدام خلايا النحل الضوئية ، من الضروري تمامًا استخدام مستشعر واحد.


لذلك ، في خلية واحدة ، سنقوم بتثبيت خليتين للتحميل ووحدة HX711 واحدة ، ويكون مخطط الأسلاك كما يلي:



من لوحة ADC إلى اردوينو ، يوجد 5 أمتار من كبل هاتف رباعي النواة (في حالة الوحدات النمطية للوزن 2 و 3) ، يتصل المستشعر الأول بـ "ذيل" 10 سم ، ولكن أكثر على ذلك لاحقًا.


بشكل عام ، على أجهزة الاستشعار التي نتركها "ذيول" من 8 سم ، نقوم بتنظيف الزوج الملتوية ونفكك كل شيء كما في الصورة أعلاه.


قبل البدء في نجارة ، ضع الشمع / البارافين في وعاء مناسب للذوبان في حمام مائي.


الآن نأخذ شعاعنا ونقسمه إلى ثلاثة أجزاء من 100 مم


بعد ذلك ، نقوم بتمييز الأخدود الطولي بعرض 25 مم ، وعمق 7-8 ملم ، باستخدام منشار أو إزميل نقوم بإزالة الفائض - يجب أن يظهر ملف تعريف على شكل حرف U.


الأساسيات


في الواقع ، نحن بحاجة إلى جزء واحد على شكل H و 2 - P-shki ، طوله 10 سم.


لماذا N-ka - لا تصدق ذلك ، أخفي Arduino فيه:


معجزة التكنولوجيا العدائية


بالإضافة إلى ذلك ، يوجد هنا مقابس 6P6C لتوصيل المستشعرين 2 و 3.


الشمع استعد؟ - نراجع ألواح ADC لدينا - هذا سيحميهم من الرطوبة / الضباب:


حماية ADC ضد الرطوبة


لدينا كل شيء على قاعدة خشبية (من الضروري علاجه بمطهر من التسوس):


جمعية


وأخيرا ، نقوم بإصلاح أجهزة الاستشعار مع مسامير:


جهاز استشعار جاهز


بعد ذلك ، نلحم جميع المكونات المتبقية وفقًا للمخطط في الرأس والحس السليم.


من حيث موقع المكون ، من المستحسن إظهار الخيال ، شيء واحد يجب مراعاته - المسافة بين متحكم وحدة GSM يجب أن تكون على الأقل متر واحد!


حصلت على التصميم التالي:


خاتمة


نعم ، أخذت زاوية تركيب الألواح 45 درجة - بسبب بساطة التصنيع ، ولكنها قريبة من الأربعين درجة المثلى لفصل الصيف عند خط العرض في كييف.


هذا كل شيء ، الآن من أجل الفحص النهائي ، ضع المستشعرات على قطاعات الدائرة ، في الأعلى - قطعة من الخشب الرقائقي ، وبدون وحدة تحكم (قم بتشغيل النظام مع غطاء على الثنائي الضوئي من قلم النافورة).


في هذه الحالة ، يجب أن تومض مؤشر LED الموجود في arduino ويجب أن تأتي رسالة اختبار SMS.


ثم نقوم بإزالة الغطاء من الخلية الضوئية ، ونذهب لجمع المياه في زجاجة بلاستيكية سعة 6 لتر.
وضعنا الزجاجة على الخشب الرقائقي ، وإذا مرت عدة دقائق من تشغيله ، فضع الغطاء مرة أخرى على المقاوم الضوئي (محاكاة غروب الشمس).


في نفس الوقت ، سوف تضيء LED في arduino ، ويجب أن تتلقى رسالة نصية قصيرة تبلغ قيمتها حوالي 4 كجم في جميع المواقف.


تهانينا! يتم تجميع النظام بنجاح!


إذا نجحنا الآن في عمل النظام مرة أخرى ، فعندئذٍ في العمود الأول من الوزن نحصل على أصفار.


نعم ، في الظروف الحقيقية ، من المستحسن توجيه مقاوم الضوء صعوديًا عموديًا.


الآن سأقدم لك دليل مختصر حول استخدام:


  1. قم بتركيب أجهزة قياس الضغط تحت الجدران الخلفية للخلايا (تحت الجزء الأمامي ، استبدل شعاعًا / لوحًا بسمك 30 مم)
  2. تثبيت وحدة الاتصالات مع الألواح الشمسية على ارتفاع ، على بعد أمتار قليلة من خلايا النحل.
    يمكن تعميم اتجاه الألواح الشمسية - إلى الجنوب - (لن نلاحظ الاتجاه الحقيقي).
  3. قم بتظليل المقاوم الضوئي ووضع البطارية في - يجب أن يضيء مؤشر LED ويجب أن يأتي اختبار SMS مع النص "INITIAL BOOT OK"
    كل مساء ، بعد غروب الشمس ، ستصل الرسائل النصية القصيرة مع تغيير في الوزن كل يوم ومن وقت الإطلاق.
    عندما تتصل برقم بطاقة SIM بوحدة GSM ، فإن وحدة التحكم تنفصل عن الخطاف (نسمع "لا يمكن للمشترك تلقي المكالمة") وتأتي رسالة SMS مع قياسات غير عادية.
    في مثل هذه الرسالة ، سيكون هناك سطر إضافي - "رسائل SMS القسرية" ؛

هناك القليل جدا من اليسار إلى الجمال الكامل للنظام:


  1. أضف النظام التلقائي للجهاز على جهاز استشعار الضوء.
  2. تحقق من أنواع أخرى من وحدات الاتصالات.
  3. للقيام بكل شيء ضمن ESP-8266 - أولاً ، يدعم تحديثات البرامج الثابتة "عبر الأثير" - إنه مناسب.

ثانياً - يمكن أن تقدم إحصاءات في شكل صفحات ويب بسيطة.
وأخيرًا ، إذا كان لديك Wi-Fi ، يمكنك رفض GSM-ki تمامًا.


نعم ، لقد سئمت شيئًا من العبث بالأسلاك ، ووعدت نظامًا يوفر الطاقة "المطلقة".


باختصار ، قررت أن ألعب قليلاً "أحمق" وأفعل كل شيء.
كم النجاح - قراءة المنشور في شهر!


نراكم على صفحات هبر واحد ،
مربي النحل الكهربائي أندريه


ملاحظة: بالنسبة للمنشورات الجديدة حول هذا الموضوع ، انظر beefree.xyz

Source: https://habr.com/ru/post/ar448274/


All Articles