كيفية بناء روبوت - الدرس 6: بناء روبوت اردوينو يمكنه مراقبة كثافة ثاني أكسيد الكربون: 11 خطوة

سكس نار Video

سكس نار Video

جدول المحتويات:

Anonim

هذا هو البرنامج التعليمي الخامس لسلسلة "كيفية بناء روبوت". في هذا البرنامج التعليمي ، سوف نجمع بين منصة روبوت ومستشعر CO2 حتى تتمكن من اكتشاف كثافة CO2 في منطقة معينة.

كما هو الحال في البرامج التعليمية الأربعة الأخيرة ، يتم استخدام مجموعة أدوات الروبوت من Arduino (Pirate: 4WD Arduino Mobile Robot Kit مع Bluetooth 4.0) هنا كمثال.

قائمة الدروس:

الدرس 1: مقدمة

الدرس 2: بناء روبوت اردوينو الأساسي

الدرس 3: بناء خط تتبع اردوينو روبوت

الدرس 4: قم ببناء روبوت اردوينو يمكنه تجنب العقبات

الدرس 5: بناء روبوت اردوينو مع تأثيرات الضوء والصوت

الدرس 6: بناء روبوت اردوينو يمكن أن يراقب البيئة

الدرس 7: قم ببناء روبوت اردوينو المتحكم فيه بتقنية Bluetooth

مكونات الأجهزة

استشعار غاز CO2 لاردوينو × 1

اللوازم:

الخطوة 1:

استشعار اللمس الرقمي × 1

الخطوة 2:

درع لوحة المفاتيح LCD لاردوينو × 1

الخطوه 3:

M3 * 6MM الأعمدة النايلون وربطة عنق

الخطوة 4:

تعليمات التجميع:

الخطوة 1: إضافة استشعار اللمس

يوجد فتحتان على مستشعر اللمس لإصلاح أعمدة النايلون.

إصلاح أعمدة النايلون. يرجى عدم المبالغة في تحريف هذه الأعمدة.

الخطوة 5:

ثم نعلق استشعار اللمس على لوحة.

الخطوة 6:

الخطوة 2: إضافة شاشة LCD

حرك الشواطئ في الفتحات الأربعة لشاشة LCD وثبتها. قطع الجزء المتبقي من يلف التعادل.

الخطوة 7:

الخطوة 3: إضافة استشعار CO2

إصلاح أعمدة النايلون على CO2 الاستشعار. قم بتوصيل مستشعر CO2 بلوحة المستشعر.

الخطوة 8:

لقد أكملت التجميع تقريبًا. يرجى عدم تثبيت اللوحة العلوية على المنصة بعد ، حيث نحتاج إلى العمل على اتصال الدائرة لاحقًا.

الخطوة 9:

قم بتوصيل الأجهزة:

يرجى حفظ الكابلات في النظام.

الواجهة ملونة كما يلي:

أحمر يشير إلى السلطة

أسود يشير إلى الأرض

يشير اللون الأزرق إلى رقم الإدخال التناظري

يشير اللون الأخضر إلى رقم الإدخال / الإخراج الرقمي

يجب أن تكون شاشة LCD متصلة بـ VCC و GND و SCL و SDA بنفس الترتيب المحدد.

الخطوة 10:

CODING

ابحث عن الكود المسمى DHT11_Display.ino وقم بتنزيله. لا تنسَ مكتبة LiquidCrystal_I2C و CO2.

الخطوة 11:

بعد تنزيل الرمز بنجاح ، سيتم عرض كثافة ثاني أكسيد الكربون في الوقت الفعلي على شاشة LCD. يحتوي مستشعر اللمس على وظيفتين هنا:

1. إذا لم تلمس المستشعر بعد مرور بعض الوقت ، فسيتم إيقافه تلقائيًا.

2. إذا كنت ترغب في إضافة المزيد من أجهزة الاستشعار لمراقبة البيانات البيئية الأخرى ، فيمكن لمستشعر اللمس تبديل بيانات المراقبة على شاشة LCD.

مكتبة خلاصة الكود مهم. من الصعب فهم المكتبة بدون مكتبة.

# تشمل # تشمل

LiquidCrystal_I2C lcd (0x20،16،2) ؛

# تضمين "CO2.h"

CO2Sensor CO2ppm ؛

هنا تحتاج إلى معرفته حول CO2Pin ، وهو متغير يستخدم للإعلان عن دبابيس المستشعر.

كثافة العمليات CO2Pin = A1 ؛

وهي ، DHT11Pin يمثل النظير Pin1. وهذا يعني أن مستشعر CO2 لدينا متصل بـ Analog Pin1.

فيما يلي بعض التعريفات لمتغيرات الوقت. يمثل TouchPin مستشعر اللمس بينما يشير 13 إلى دبوس رقمي.

CurrentMillis = 0؛

السابق السابقميليس.

فترة طويلة = 4000 ؛

عدد int = 0 ؛ //عد الأرقام

int touchPin = 13 ؛

جلب وظيفة الإعداد () ، والتي هي إعداد لبدء.

pinMode (touchPin، INPUT)؛

ثم احتفظ بمستشعر اللمس مع وضع الكتابة. للحصول على معلومات محددة ، يمكنك التحقق من مرجع Arduino في موقع Arduino (www.arduino.cc) ، والذي يقدم وظيفة pinMode ().

بعد ذلك ، تحتاج إلى تهيئة شاشة LCD وتشغيل ضوء LCD ، والتي تظهر أن شاشة LCD جاهزة.

lcd.init ()؛

اضاءه خلفيه ال سى دى()؛

تأخير (100)؛

lcd.setBacklight (0)؛

حان الآن دور وظيفة الحلقة (). نحتاج أولاً إلى قراءة القيمة من مستشعر اللمس ثم تخزين هذه البيانات باستخدام touchState واحد متغير.

int touchState = digitalRead (touchPin) ؛

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

if (touchState == HIGH) {count ++؛ previousMillis = millis () ؛ }

بهذا يعني عدد مرات لمس الشاشة. ولكن إذا قمت بلمس المستشعر مرة واحدة فقط ، فسيتم تضمين مقدار الوقت لكل لمسة في وظيفة millis ().

نقوم بتغيير طول وقت اللمس مع جملة فرعية تبدأ بـ if. الفاصل هنا يعني فترة اللمس التي أنشأناها. وبالتالي ، نحن نعرف الإجراء الذي يجب اتخاذه خلال أربع ثوانٍ من اللمس وأكثر من أربع ثوانٍ على التوالي.

إذا كان (currentMillis - previousMillis <Interval) {// افعل شيئًا في 4 ثوانٍ

آخر {// افعل شيئًا أكثر من 4 ثوانٍ}

lcd.setBacklight (0)؛

يتم استخدام وظيفة setBacklight () لإيقاف تشغيل مصباح الإضاءة الخلفية لشاشة LCD.

ما الإجراء الذي يجب اتخاذه عندما نلمس المستشعر لأكثر من أربع ثوان

إذا لمسنا المستشعر لأكثر من أربع ثوان ، فنحن نعرف أنه يمكن إيقاف تشغيل مصباح الإضاءة الخلفية لشاشة LCD.

ما هو الإجراء الذي يجب اتخاذه خلال أربع ثوانٍ من اللمس؟

إذا (العد == 1) {// لمسة واحدة ، فلن تظهر شاشة LCD أي فرق}

عدا ذلك (العد == 2) {// المس مرتين ، ستظهر القيمة على شاشة LCD}

اضغط على مستشعر اللمس مرة أخرى خلال أربع ثوانٍ ؛ ستظل الشاشة مغلقة. فقط إذا قمت بلمسها مرتين في نفس الوقت ، فسيتم تشغيل الإضاءة الخلفية لشاشة LCD وإظهار أرقام كثافة ثاني أكسيد الكربون.

يرجى تذكر الاحتفاظ بالعد صفراً بعد لمس المستشعر لآخر مرة.

عد = 0؛

وبالتالي يجب أن يكون الكود الكامل هو:

if (count == 1) {lcd.setBacklight (0)؛ }

else if (count == 2) {lcd.backlight ()؛ DustShow ()؛ عد = 0؛ }

ثم نحتاج إلى تتبع الوقت الحالي حيث يمكننا مقارنته بالميليس السابق. هذه النقطة مهمة جدا.

currentMillis = millis () ؛

يتم استخدام وظيفة CO2ppm.Read () لقراءة البيانات. وسيتم استخدام متغير CO2Value لتخزين البيانات من جهاز استشعار CO2.

int CO2Value = CO2ppm.Read (CO2Pin) ؛

إليك كيفية استخدام الوظيفة المتعلقة بشاشة LCD.

lcd.setCursor (0،0)؛

lcd.setCursor (0،1)؛

يتم استخدام وظيفة setCursor (العمود ، الصف) لشرح العمود والصف الذي يتم عرض المؤشر به ، بدءًا من الصفر داخل الأقواس.

lcd.print (CO2Value)؛

print () تعني أن هذا الرقم يمكن أن يظهر على الشاشة مباشرة.

lcd.print ("") ؛

lcd.print ("") تعني مساحة فارغة تظهر على الشاشة. يتم استخدامه لمسح الشاشة.

مجموعة من أجهزة استشعار متعددة كيف يمكنك الجمع بين أجهزة استشعار متعددة البيئية بمجرد قيامك بشراء نوع من أجهزة الاستشعار؟

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

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

عينة من الرموز:

if (currentMillis - previousMillis <Interval) {

if (count == 1) {lcd.setBacklight (0)؛ }

وإلا إذا (عدد == 2) {//No.1 Sensor Sensor1Show () ؛ اضاءه خلفيه ال سى دى()؛ }

وإلا إذا (عدد == 3) {//No.2 Sensor Sensor2Show () ؛ اضاءه خلفيه ال سى دى()؛ العد = 0 ؛ }

بطبيعة الحال ، بدء الإعداد ، إعلان المتغيرات في البداية ، لجهاز الاستشعار هو المهم.

يمكنك التحقق من نموذج التعليمات البرمجية المسمى WeatherStation.ino للرجوع إليه إذا كنت لا تزال لا تعرف كيفية تعديل الرموز الخاصة بك.