- المكونات المطلوبة:
- جهاز استشعار الموجات فوق الصوتية HC-SR04:
- وحدة Wi-Fi ESP8266:
- مخطط الدائرة وشرحها:
- شرح الكود:
- "؛ إذا (المسافة <5) {صفحة الويب + =" سلة المهملات ممتلئة "؛} آخر {صفحة الويب + =" سلة المهملات فارغة "؛} صفحة الويب + ="
- اختبار ومخرجات المشروع:
في هذا DIY ، سنقوم بإنشاء نظام مراقبة القمامة / القمامة القائم على IOT والذي سيخبرنا ما إذا كانت سلة المهملات فارغة أو ممتلئة من خلال خادم الويب ويمكنك معرفة حالة "سلة المهملات" أو "القمامة" من في أي مكان في العالم عبر الإنترنت. سيكون مفيدًا جدًا ويمكن تثبيته في سلة المهملات في الأماكن العامة وكذلك في المنزل.
في مشروع IOT هذا ، يتم استخدام مستشعر بالموجات فوق الصوتية لاكتشاف ما إذا كانت سلة المهملات ممتلئة بالقمامة أم لا. هنا يتم تثبيت مستشعر الموجات فوق الصوتية في الجزء العلوي من سلة المهملات وسوف يقيس مسافة القمامة من أعلى سلة المهملات ويمكننا تعيين قيمة حدية وفقًا لحجم سلة المهملات. إذا كانت المسافة أقل من هذه القيمة الحدية ، فهذا يعني أن سلة المهملات ممتلئة بالقمامة وسنقوم بطباعة الرسالة "السلة ممتلئة" على صفحة الويب وإذا كانت المسافة أكبر من هذه القيمة الحدية ، فسنطبع الرسالة "السلة فارغة". هنا قمنا بتعيين قيمة العتبة البالغة 5 سم في كود البرنامج. سوف نستخدم وحدة ESP8266 Wi-Fiلتوصيل Arduino بخادم الويب. هنا استخدمنا خادم الويب المحلي لتوضيح عمل نظام مراقبة القمامة هذا.
المكونات المطلوبة:
- Arduino Uno (يمكنك استخدام أي شيء آخر)
- وحدة واي فاي ESP8266
- جهاز استشعار بالموجات فوق الصوتية HC-SR04
- مقاومات 1 كيلو
- اللوح
- توصيل الأسلاك
جهاز استشعار الموجات فوق الصوتية HC-SR04:
يستخدم جهاز الاستشعار بالموجات فوق الصوتية لقياس المسافة بدقة عالية وقراءات مستقرة. يمكن قياس المسافة من 2 سم إلى 400 سم أو من 1 بوصة إلى 13 قدم. تبعث موجة فوق صوتية بتردد 40 كيلو هرتز في الهواء وإذا كان الجسم سيعترض طريقه ، فسوف يرتد مرة أخرى إلى المستشعر. باستخدام ذلك الوقت الذي يستغرقه ضرب الجسم والعودة ، يمكنك حساب المسافة.
يحتوي المستشعر بالموجات فوق الصوتية على أربعة دبابيس. اثنان من VCC و GND سيتم توصيلهما بـ 5V و GND من Arduino بينما الدبابيس الأخرى هي دبابيس Trig و Echo والتي سيتم توصيلها بأي دبابيس رقمية في Arduino. سيرسل دبوس المثلث الإشارة وسيتم استخدام دبوس Echo لتلقي الإشارة. لتوليد إشارة الموجات فوق الصوتية ، سيتعين عليك جعل دبوس Trig مرتفعًا لحوالي 10us والذي سيرسل انفجارًا صوتيًا من 8 دورات بسرعة الصوت وبعد ضرب الكائن ، سيتم استقباله بواسطة دبوس Echo.
تحقق من المشاريع أدناه لفهم عمل مستشعر الموجات فوق الصوتية بشكل صحيح وقياس مسافة أي كائن يستخدمه:
- قياس المسافة على أساس اردوينو باستخدام جهاز استشعار فوق صوتي
- قياس المسافة باستخدام HC-SR04 و AVR متحكم
وحدة Wi-Fi ESP8266:
ESP8266 عبارة عن وحدة Wi-Fi ستمنح مشروعاتك إمكانية الوصول إلى شبكة Wi-Fi أو الإنترنت. إنه جهاز رخيص للغاية ولكنه سيجعل مشاريعك قوية للغاية. يمكنه التواصل مع أي متحكم وجعل المشاريع لاسلكية. إنه مدرج في قائمة معظم الأجهزة الرائدة في منصة IOT. يعمل على 3.3 فولت وإذا أعطيته 5 فولت فسوف يتضرر.
يحتوي ESP8266 على 8 دبابيس ؛ سيتم توصيل VCC و CH-PD بـ 3.3 فولت لتمكين wifi. ستكون دبابيس TX و RX مسؤولة عن اتصال ESP8266 مع Arduino. يعمل دبوس RX على 3.3 فولت ، لذا سيتعين عليك عمل مقسم جهد له كما صنعنا في مشروعنا.
مخطط الدائرة وشرحها:
بادئ ذي بدء ، سنقوم بتوصيل ESP8266 بـ Arduino. يعمل ESP8266 على 3.3 فولت وإذا كنت ستعطيه 5 فولت من Arduino فلن يعمل بشكل صحيح وقد يتعرض للضرر. قم بتوصيل VCC و CH_PD بدبوس 3.3 فولت من Arduino. يعمل دبوس RX الخاص بـ ESP8266 على 3.3 فولت ولن يتصل بـ Arduino عندما نقوم بتوصيله مباشرة بـ Arduino. لذلك ، سيتعين علينا عمل مقسم جهد له. ثلاث مقاومات 1k متصلة في سلسلة ستؤدي العمل من أجلنا. قم بتوصيل RX بالدبوس 11 من Arduino من خلال المقاومات كما هو موضح في الشكل أدناه وكذلك TX الخاص بـ Arduino بالدبوس 10 من Arduino.
حان الوقت الآن لتوصيل مستشعر الموجات فوق الصوتية HC-SR04 بـ Arduino. اتصالات جهاز الاستشعار بالموجات فوق الصوتية مع Arduino بسيطة للغاية. قم بتوصيل VCC وأرض المستشعر بالموجات فوق الصوتية بجهد 5 فولت وأرضي Arduino. ثم قم بتوصيل دبوس TRIG و ECHO لمستشعر الموجات فوق الصوتية بالدبوس 8 و 9 من Arduino على التوالي.
شرح الكود:
قبل تحميل الرمز ، تأكد من أنك متصل بشبكة Wi-Fi لجهاز ESP8266. يمكنك التحقق من الكود الكامل في قسم الكود أدناه ، وقد تم شرح الكود جيدًا من خلال التعليقات ، كما أوضحنا أيضًا بعض الوظائف المهمة أدناه.
سوف يقرأ Arduino أولاً المستشعر فوق الصوتي. سوف ترسل إشارة فوق صوتية بسرعة الصوت عندما نجعل دبوس TRIG عالياً لمدة 10 us. ستعود الإشارة بعد ضرب الكائن وسنخزن مدة السفر في المتغير المسمى المدة . ثم سنحسب مسافة الكائن (القمامة في حالتنا) من خلال تطبيق معادلة وسنخزنها في المتغير المسمى مسافة .
digitalWrite (trigPin ، LOW) ؛ تأخير ميكروثانية (2) ؛ digitalWrite (trigPin ، عالية) ؛ تأخير ميكروثانية (10) ؛ digitalWrite (trigPin ، LOW) ؛ المدة = pulseIn (echoPin ، HIGH) ؛ المسافة = المدة * 0.034 / 2 ؛
لطباعة الإخراج على صفحة الويب في متصفح الويب ، سيتعين علينا استخدام برمجة HTML. لذلك ، أنشأنا سلسلة باسم webpage وقمنا بتخزين الإخراج فيها. لمعرفة ما إذا كانت سلة المهملات فارغة أم لا ، قمنا بتطبيق شرط هناك. إذا كانت المسافة أقل من 5 سم ، فستظهر "السلة ممتلئة" على صفحة الويب ، وإذا كانت المسافة أكبر من 5 سم ، فستظهر رسالة "السلة فارغة" على صفحة الويب.
if (esp8266.available ()) {if (esp8266.find ("+ IPD،")) {delay (1000) ؛ int connectId = esp8266.read () - 48 ؛ سلسلة صفحة الويب = "
نظام مراقبة النفايات IOT
"؛ صفحة الويب + =""؛ إذا (المسافة <5) {صفحة الويب + =" سلة المهملات ممتلئة "؛} آخر {صفحة الويب + =" سلة المهملات فارغة "؛} صفحة الويب + ="
"؛سيقوم الكود التالي بإرسال البيانات وإظهارها على صفحة الويب. سيتم حفظ البيانات ، التي قمنا بتخزينها في سلسلة باسم "صفحة الويب" ، في سلسلة باسم "الأمر" . سيقوم ESP8266 بعد ذلك بقراءة الحرف واحدًا تلو الآخر من "الأمر" وسيقوم بطباعته على صفحة الويب.
String sendData (أمر String، const int timeout، boolean debug) {String response = ""؛ esp8266.print (أمر) ؛ وقت طويل = مللي () ؛ while ((time + timeout)> ميلي ()) {while (esp8266.available ()) {char c = esp8266.read () ؛ استجابة + = ج ؛ }} if (debug) {Serial.print (response)؛ } عودة الرد؛ }
اختبار ومخرجات المشروع:
بعد تحميل الكود ، افتح Serial Monitor وسيظهر لك عنوان IP كما هو موضح أدناه.
اكتب عنوان IP هذا في متصفحك ، وسوف يظهر لك الإخراج كما هو موضح أدناه. سيكون عليك تحديث الصفحة مرة أخرى إذا كنت تريد أن ترى مرة أخرى أن سلة المهملات فارغة أم لا.
هكذا يعمل نظام مراقبة القمامة هذا ، يمكن تحسين هذا المشروع عن طريق إضافة بعض الميزات الأخرى فيه مثل أنه يمكننا تعيين رسالة أخرى عندما تكون سلة المهملات ممتلئة نصفها أو يمكننا تشغيل بريد إلكتروني / رسالة نصية لتنبيه المستخدم عند المهملات السلة ممتلئة.