عمل بيانو بسيط باستخدام اردوينو

الهدف من المشروع هو عمل بيانو بسيط باستخدام الاردوينو يقوم باصدار الاصوات و النغمات بالضغط على المفاتيح

عمل-بيانو-بسيط-باستخدام-اردوينو

المكونات المطلوبة

 

arduino uno r3

Arduino Uno

10k Ω Resistors 1/2 w 1%

K Ohm Resistor 10

Full size breadboard 830

Breadboard

Breadboard Jumper Wire 65 pcs

Wires

Piezo sounder

Piezo Sounder

Tactile Push Button Switch

Push Buttons

السماعه Piezo

 هي عبارة عن كريستال تسمى بيزوكريستال عند تعريضها لجهد كهربائي تقوم باصدار صوت، سنستخدمها في هذا المشروع لاصدر نغمات مختلفة كالبيانو

عمل-بيانو-بسيط-باستخدام-اردوينو

شرح الدارة

قم بتوصيل الدائرة كما هو موضح بالصورة :

عمل-بيانو-بسيط-باستخدام-اردوينو

سنقوم بعمل بيانو بسيط بإستخدام 8 مفاتيح من النوع PushButton، سيتم توليد النغمات المختلفة باستخدام الأردوينو وسماعة البيزو .  كل مفتاح يصدر صوت بنغمة ذو تردد مختلف.

عمل-بيانو-بسيط-باستخدام-اردوينو

الكود البرمجى

شرح الكود:

في البداية نقوم بتعريف متغيرات لإستخدامها في تسجيل حالة الـ Push Buttons . ونقوم بالاعلان عن مصفوفة tones[] ، والتي سيتم تسجيل قيم الترددات عليها  لإستخدامها في توليد النغمات المختلفة عن طريق الـ Buzzer .

في الدالة setup() قمنا بتفعيل المنافذ الموصله مع المفاتيح كمدخل، والمنفذ الموصل مع الـ Buzzer كمخرج.

ثم نقوم بقراءة حالة الـ Push Buttons وتخزينها، وتخزينها في المتغيرات التي تم الاعلان عنها سابقا :

 نقوم بعملية التحقق من المفتاح الذي تم الضغط عليه. بعد ذلك يتم تسجيل قيمة معينة في متغير Cur_tone حسب المفتاح المضغوط عليه. ثم نقوم بتشغيل الـ Buzzer بتأخير زمني يعتمد على قيمة المتغير Cur_tone :

استخدم مفاتيح أخرى لإصدار نغمات مختلفة .

حساب المسافة بإستخدام حساس الموجات فوق صوتية

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

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال

المكونات المطلوبة

arduino uno r3

Arduino Uno

Ultrasonic Sensor HC-SR04

HC-SR04 Ultrasonic Sensor

 

HD44780

LCD 16×2

220 Ω resistor

مقاومة 220 اوم

Full size breadboard 830

Breadboard

Breadboard Jumper Wire 65 pcs

Wires

حساس الموجات فوق الصوتية

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

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال

قم بتوصيل حساس الموجات الفوق صوتية مع الأردوينو كما هو موضح بالصورة :

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال

الشاشة LCD

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال
تعمل الشاشة في احد الحالات التالية:

1- أن تستقبل امر من الارودوينو و تقوم بتنفيذه مثلا: أمر مسح الشاشة و أمر التهيئة 

2- أن تستقبل معلومات من الاردوينو و تقوم بعرضها مثلا : كتابة جملة معينة  

 

قم بتوصيل شاشة LCD مع الأردوينو كما هو موضح بالصورة :

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال

شرح الدارة

يقوم الحساس بارسال موجات فوق صوتية واعادة استقبالها عندما تصطدم بكائن ما. ثم يقوم الاردوينو بقياس المسافة بين الحساس وبين الكائن بناءا على الوقت بين الارسال والاستقبال للموجات من خلال عمل بعض الحسابات لتحويل القيمة المحسوبة من وقت الى مسافة بالإعتماد على معرفة قيمة سرعة الصوت في الهواء. بعد ذلك يقوم الاردوينو بعرض المسافة على الشاشة LCD .

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال

 

استخدام-حساس-الموجات-فوق-الصوتية-مع-ال

توصيل حساس الموجات فوق الصوتية

Ultrasonic SensorArduino
GNDGND
EchoPin 2
TriggerPin 3
Vcc5v

الكود

 شرح الكود :

في البداية قم بإدراج المكتبات المستخدمة في البرنامج, هنا سيتم استخدام مكتبة الشاشة LCD و مكتبة حساس الموجات فوق الصوتية Ultrasonic.

نقوم بتعريف أسماء منافذ الاردوينو التي تم توصيلها مع الحساس :

ننشىء المتغيرات اللازمة للمكتبات المستخدمة :

 أولا، نقوم بتعريف المتغير الخاص بمكتبة الشاشة LCD، وإعداده إعتمادا على كيفية توصيله مع الأردوينو :

ثم نقوم بتعريف المتغير الخاص بمكتبة Ultrasonic، وتحديد منافذ الأردوينو المتصل معها :

نقوم بتهيئة الشاشة LCD للعمل عن طريق الامر :

يقوم الكود بتشغيل الحساس و حساب المسافة ثم يتم عرضها على الشاشة :

في البداية، نقوم بإستخدام الدالة ()sonar.ping لنحصل على قيمة الوقت الذي استغرقته موجات الـUltrasonic لتصدم بكائن و تعود الى الحساس مرة اخرى. ثم نقوم بعمل حسابات بسيطة على هذة القيمة سيتم شرحها لاحقا بعد ذلك قمنا بعرض هذة الحسابات على شاشة LCD.

  • الحسابات الخاصة بعمل حساس الموجات فوق الصوتية:

يقوم الحساس بارسال موجات فوق صوتية و عند اصطدامها بحائل ترتد مرة اخرى فيمكن للاردوينو حساب الوقت الذى استغرقته الموجات للذهاب و العودة لذلك لابد من القسمة على 2 لاننا نريد حساب المسافة و هذا يعتمد على وقت الذهاب فقط.

 سرعه الصوت في الهواء في الحالة العادية تقريبا 340 متر لكل ثانية فيكون الوقت المستهلك لعبور 1 سم هو :

100 للتحويل من متر الى سم , و 10^6 للتحويل من ثانية الى مايكروثانية .

مشروع Mood lamp

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

مشروع-mood-lamp-لإضافة-ديكور-مميز-لبيتك

المكونات المطلوبة

arduino uno r3

Arduino Uno

220 Ω resistor

220 Ohm – 330 Ohm Resistors

Full size breadboard 830

Breadboard

Breadboard Jumper Wire 65 pcs

Wires

blue led 5mm

Blue LED

green led 5mm

Green LED

led 5mm red

Red LED

white-paper

ورق مقوى خفيف (أي شكل ترغب به، هذه لمستك الجمالية)

توصيل الدارة على لوحة التجارب

mood-lamp

 

mood-lamp

شرح المشروع

نقوم بتوصيل الـثلاثة LEDs على مخارج PWM من الأردوينو وعن طريق التحكم في نسبة الفولت الخارجة للـLED  نستطيع التحكم في شدة الإضاءة.

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

للتحكم في شدة الإضاءة يمكنك أن تكتب كود الأردينو (analogWrite(x  حيث x  تمتد من 0 الى 255 (و هذا نظير 0 الى 100% تقريبًا).

نقوم بفتح نافذة اختيار اللون color picker – والتي توجد غالبًا في برامج الجرافيك مثل الفوتوشوب- لإختيار قيم RGB حتى نقوم بعرض جميع ألوان الطيف فكانت النتيجة كالآتي:

مشروع-mood-lamp-لإضافة-ديكور-مميز-لبيتك

وبالتالي سوف نقوم بعمل دالتين decrease color ودالة أخرى increase color. كلتا الدالتين تأخذ معامل وهو اسم اللون الذي نريد أن نقوم بزيادته من 0 الى 255 او بنقصانه من 255 الى 0.

برمجة الأردوينو

شرح الكود :

في البداية نقوم بتسمية مداخل الاردوينو حسب الـ LEDs  الموصلة معها، فالمدخل  9 موصل مع LED  الأزرق، والمدخل 10 موصل مع LED  الأخضر، ومدخل 11 موصل مع الأحمر.
ثم نقوم بتعريف هذه الأطراف كمخرج في دالة ()setup .

في دالة ()loop نقوم بالتحكم في شدة اضاءة كل LEDs ودمج الألوان الثلاثة معا، وبهذه الطريقة نحصل على مزيج من الألوان تعتمد على شدة تركيز كل لون LED على حدة .
يتم التحكم في شدة إضاء كل LED عن طريق استدعاء الدالة increaseColor والدالة decreaseColor .

الدالة increaseColor  تعمل على زيادة شدة اضاءة اللون تدريجيا. تقوم هذه الدالة باستخدام الدالة analogWrite(Pin_name,Vlaue) للتحكم في شدة الإضاءة، وبإستخدام for loop تبدأ شدة الاضاءة بالإزدياد تدريجيا من 0 إلى قيمة 255 .

تقوم الدالة decreaseColor  بتقليل شدة اضاءة الـ LED  تدريجيا. تعمل هذه الدالة بنفس طريقة الدالة السابقة increaseColor ، ولكن تستخدم الـ for loop لتقليل شدة الإضاءة من 255 إلى 0 .

باستخدام نفس التقنية مع باقي الـ LEDs يمكننا دمج الألوان بصورة رائعة لنحصل على Mood Lamp .

التحكم بمحرك DC باستخدام المرحل (Relay)

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

التحكم-فى-تشغيل-و-اتجاه-حركة-محرك-تيار-م

المكونات المطلوبة

arduino uno r3

Arduino Uno

Relay module 5v

Relay Module 5v

9V DC Motor

DC Motor

9VDC 1000mA regulated switching power adapter

DC Power Supply

Full size breadboard 830

Breadboard

Breadboard Jumper Wire 65 pcs

Wires

المرحل Relay

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

التحكم-فى-تشغيل-و-اتجاه-حركة-محرك-تيار-م

مكونات المرحل

  1. ملف كهربي
  2.   نقاط توصيل مغلقة و مفتوحة

لماذا يتم استخدام المرحل؟

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

التحكم-فى-تشغيل-و-اتجاه-حركة-محرك-تيار-م

محرك التيار المستمر DC Motor

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

التحكم-فى-تشغيل-و-اتجاه-حركة-محرك-تيار-م

توصيل الدارة :

قم بتوصيل الدارة كما هو موضح بالصورة أدناه :

التحكم-فى-تشغيل-و-اتجاه-حركة-محرك-تيار-م
التحكم-فى-تشغيل-و-اتجاه-حركة-محرك-تيار-م

التوصيل :

 الأردوينوالمرحل
طرفى المحرك طرفى COM
طرف البطارية الموجب طرفى NO
طرف البطارية السالب طرفى NC
 Vcc Vcc
Gnd  GND
منفذ 12 IN1
منفذ 13 IN2

كيفية عمل الدارة

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

الكود البرمجى :

يدور المحرك في الاتجاه الاول لمدة 3 ثوان ثم يتوقف مدة 3 ثوان و يدور فى الاتجاه المضاد لمده 3 ثوان ثم يتوقف مدة 3 ثوان اخرى وهكذا حتى يتم فصل التيار الكهربائي

شرح الكود البرمجي

هنا قمنا بضبط المخارج الموصولة على الدارة المتكاملة IN1 & IN2 كمخرج :

في البداية قمنا باستدعاء الدالة ()motor_forward  . تقوم هذه الدالة بتشغيل المحرك مع اتجاه عقارب الساعة لمدة 3 ثوان (delay(3000) ) . ثم نقوم باستخدام الدالة ()motor_stop ، لإيقاف المحرك عن العمل لمدة 3 ثوان. ثم يتم عكس اتجاه حركة المحرك باستخدام الدالة ()motor_reverse لمدة 3 ثوان. ومن ثم يعود ليكرر نفس هذه المهمة من البداية مرة أخرى.

الدلة ()motor_forward، تقوم بتحريك المحرك بإتجاه عقارب الساعة. تتم هذه العملية عن طريق جعل قيمة IN1  للمرحل HIGH والطرف الآخر LOW .

تعمل هذه الدالة ()motor_reverse بشكل مشابه للدالة السابقة، إلا أنها تعكس اتجاه دوران المحرك. تتم هذه العملية عن طريق جعل قيمة IN2 للمرحل HIGH، وIN1 قيمة LOW .

دالة ()motor_stop، تقوم بإيقاف المحرك تماما عن الحركة، عن طريق جعل قيمة كلا الطرفين LOW فلا يصل التيار للمحرك فيتوقف.

استخدام عصا التحكم joystick مع الاردوينو

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

استخدام-عصا-التحكم-joystick-مع-الاردوينو

المكونات المطلوبة

arduino uno r3

لوحة الأردوينو (Arduino Uno)

عصا التحكم ( Joystick)

Full size breadboard 830

لوح التجارب (Breadboard)

Breadboard Jumper Wire 65 pcs

أسلاك توصيل (Wires)

عصا التحكم Joystick

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

استخدام-عصا-التحكم-joystick-مع-الاردوينو

تتكون عصا التحكم من مقاومتين متغيرتين للتحكم بمحاور الاتجاه X  و Y . يؤدي تحريك عصا التحكم  إلى تغيير في قيمة المقاومتان. ويتم تمثيل موضع عصا التحكم بنقطة يتم وصفها على محاور X,Y .

joystick-arduino

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

joystick-arduino

توصيل الدارة :

قم بتوصيل عصا التحكم إلى الأردوينو كما هو موضح بالصورة التالية :

استخدام-عصا-التحكم-joystick-مع-الاردوينو

استخدام-عصا-التحكم-joystick-مع-الاردوينو

التوصيل :
ArduinoJoystick
5vVcc
GndGnd
A0VRx
A1VRy

الكود البرمجي :

شرح الكود :

قمنا بتعريف متغيرين xVal، yVal إحداهما لتخزين قيمة X  والأخر لتخزين قيمة Y  ، حيث تمثل القيميتين موضع/موقع عصا التحكم.
في دالة التهيئة قمنا بتفعيل شاشة الاتصال التسلسلي، ثم ضبط الأطراف الموصله مع عصا التحكم كمدخل.

نقوم بقراءة قيم X  و Y  ثم عرض النتائج على شاشة الاتصال التسلسلي باستخدام الدالة (Serial.print(value .

التحكم بالاردوينو من خلال windows 10

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

windows-remote-arduino-experience

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

(Bluetooth Module(HC-06

Diffused RGB 5mm LED

RGB 5mm LED

220 Ω resistor

مقاومة 220 اوم

potentiometer 10k

Potentiometer 10K Ω

Half-size Breadboard

 لوح تجارب حجم متوسط (Half size breadboard)

arduino uno r3

Arduino Uno R3

Female-Male Jumper Wires

 اسلاك توصيل أنثى/ذكر (Jumper Wires Female/male)

Jumper Wires Male/Male

سلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

ما هو Windows Remote Arduino وماذا يمكنك أن تفعل من خلاله؟

windows Remote Arduino  هي مكتبة ويندوز مفتوحة المصدر التي تسمح لأي جهاز ويندوز 10 -سواء كان هاتف ويندوز أو جهاز كمبيوتر أو حتى راسبيري باي 2 – التحكم بالاردوينو عن بعد.
تمكن المكتبة للمطورين من دمج أجهزة الاستشعار الخاصة بالاردوينو في مشاريع windows  الخاصة بهم . يمكنك العثور على المكتبة الخاصة لـ Windowd Remote Arduino  على الصفحة هنـا.

Windows Remote Arduino قادرة على التحكم بالوظائف التالية للأردوينو:
1- المداخل و المخارج الرقمية و التناظرية.
– الكتابة الرقمية.
– قراءة رقمية.
– الكتابة التناظرية (PWM).
– قراءة تناظرية.
– تعيين Pin Mode.
– تلقي الإشارات في حالة تم تغيير قيم الـ pins .
2- إرسال و إستقبال البيانات بين جهازين عبر I2C .

windows-remote-arduino-experience

للمستخدمين المتقدمين، تتيح Windows Remote Arduino  أوامر مخصصة عبر Firmata SysEx – يمكن الإطلاع على مزيد من المعلومات هنـا.

تصميم لوحة التجارب:

قم بتوصيل لوح التجارب كما هو موضح بالصورة :

windows-remote-arduino-experience

يمكنك الاطلاع على الدرس الرابع لمعرفة طريقة توصيل الـ RGB LED.

لتبدأ التحكم بالأردوينو بإستخدام التطبيق Windows Arduino Experience ، قم بإتباع الخطوات الثلاثة :
1- تهيئة الاردوينو.
2- تهيئة جهاز Windows 10.
3- إجراء عملية الإتصال و التحكم .

تهيئة الأردوينو:

قم بتنزيل مكتبة “Arduino Firmata ” قم بإتباع الخطوات التالية :
إذهب إلى الشيفرة البرمجية (Sketch menu) / إدراج مكتبة (Include Library)  /  إدارة المكتبات (Manage Library)  ثم قم بالبحث عن “ “Firmataو قم بتنزيل أخر إصدار للمكتبة.
الآن قم بفتح   “StandardFirmata”من ملف (File) / أمثلة StandardFirmata / Firmata /  Examples   .

قم بالعديل baud rate على الكود

ثم قم برفع الكود على الأردوينو.

تهيئة جهاز الويندوز :

لتنزيل تطبيق Windows Remote Arduino Experience من هنـا.

قم بتفعيل البلوتوث على جهازك ثم قم بالاقتران الى البلوتوث عن طريق ادخال كلمة المرور الافتراضية  1234 او   0000.

windows-remote-arduino-experience

إجراء عملية الإ تصال و التحكم :

قم بفتح تطبيق windows ، بمجرد اختيار الاعدادات الصحيحة ، قم بإختيار البلوتوث HC-06 ثم انقر فوق  “Connect” للإتصال بالاردوينو عن بعد.

windows-remote-arduino-experience

قم بالتحكم بالـ RGB LED من خلال نافذة PWM :

windows-remote-arduino-experience

كما يمكنك قراءة القيم التناظرية للمقاومة المتغيرة عبر النافذة Analog :

windows-remote-arduino-experience

نظام انذار الحريق

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

arduino-fire-alarm-system

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

flame sensor

حساس كاشف اللهب (Flame Sensor)

Piezo sounder

Piezo sounder

small size breadboard 170 colors

  لوح تجارب صغير (small size breadboard)

arduino uno r3

Arduino Uno R3

Jumper Wires Male/Male

 اسلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

Female-Male Jumper Wires

 اسلاك توصيل أنثى/ذكر (Jumper Wires Female/male)

في هذا المشروع، نحن بحاجة إلى جهاز إستشعار الأشعة تحت الحمراء استنادا على مستشعر اللهب (Flame Sensor) للكشف عن ضوء النار، و إعطاء إشارة إلى الاردوينو لتفعيل جهاز الإنذار (Buzzer) .
هناك نوعان من أجهزة استشعار اللهب إما رقمية أو تناظرية، ولكن يوجد بعض الأجهزة تحتوي على النوعين (رقمية و تناظرية) .

arduino-fire-alarm-system

زاوية الرؤية:
زاوية الرؤية 60 درجة، و بالتالي فإنة توجية رؤية المستشعر أمر مهم للغاية في تصاميم المشاريع الخاصة بك.

arduino-fire-alarm-system

الطول الموجي لمستشعر اللهب:
وحدة مستشعر اللهب لها قدرة بالكشف عن الموجات من 760nm إلى 1100nm .

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

تصميم لوحة التجارب:

قم بتوصيل الدائرة كما هو موضح بالصورة التالية :

arduino-fire-alarm-system

برمجة الأردوينو

قم برفع البرنامج التالي إلى متحكم الأردوينو:

لمحة عن الكود:

في جزء الـ Loop يتم بإستمرار قراءة  قيمة مستشعر اللهب :

إذا كانت القيمة تساوي LOW سيتم تفعيل جهاز الإنذار و عكس ذلك يتم إلغاء التفعيل :

التحقق من عملية الكشف عن اللهب و ضبط الحساسية :

قم بفتح النافذة التسلسلية (Serial Monitor) على برنامج الأردوينو الخاص بك . قم بتشغيل نار على بعد مسافة من المستشعر ، سوف تلاحظ التغييرعلى النافذة التسلسلية كما هو موضح بالصورة أدناه. في حالة الكشف عن الحريق ستلاحظ تشغيل LED   مؤشر الحريق ، وإذا تم غير ذلك قم بضبط الحساسية للمستشعر.

arduino-fire-alarm-system

التحكم بالروبوت عبر الهاتف الذكي

   التحكم بالسيارات عن بعد  بالتأكيد هي متعة. في هذا البرنامج التعليمي, سنقوم ببناء سيارة الروبوت و التحكم بها عن طريق الهاتف الذكي بإستخدام تقنية البلوتوث .

bluetooth-controlled-robot-car

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

4WD Robot Chassis kit

L298 Motor driver

L298 H bridge Module

serial port bluetooth module hc-06

وحدة البلوتوث (HC-06)

battery holder

حامل البطارية

arduino uno r3

Arduino Uno R3

Jumper Wires Male/Male

 اسلاك توصيل ذكر/ذكر  (Jumper Wires Male Male)

Female-Male Jumper Wires

 اسلاك توصيل أنثى/ذكر (Jumper Wires Female/male)

 

ما هو الروبوت ؟

الروبوت هو جهاز كهروميكانيكي قادر على التفاعل بطرية أو بأخرى مع بيئته، و اتخاذ قرارات مستقلة أو إجراءات من أجل تحقيق مهنمة محددة.
يتكون الروبوت من العناصر التالية:
1- الهيكل.
2- المشغل الميكانيكي .
3- وحدة التحكم.
4-المدخلات/ الحساسات.
5- امدادات الطاقة.
في الخطوات التالية سنذكر كل عنصر من العناصر المذكورة اعلاه، بحث يمكن أن نفهمها بسهولة.

الهيكل (Structure / Chassis) :

smartphone-controlled-arduino-robot

يتألف الهيكل من المكونات الفزيائية. الروبوت يتكون من مكون او اكثر من المكونات الفزيائية التي تتحركة لتنفيذ مهام معينة. وفي حالتنا هيكل السيارة و العجلات تمثل هيكل الروبوت

المشغل الميكانيكي Actuator :

smartphone-controlled-arduino-robot

المحرك هو جهاز يقوم بتحويل الطاقة (في مجال الروبوت، تكون الطاقة الكهربائية) الى طاقة حركية. تنتج معظم المحركات إما الحركة الدورانية أو الخطية.
في حالتنا المحرك هو(DC Gear motor)  وهو بالاساس عبارة عن محرك  DC مركب مع علبة تروس (gear) تعمل على تقليل سرعة المحرك و زيادة عزم الدورات .

إعداد أطراف المحركات :

قطع اربع قطع من أسلاك (الحمراء و السوداء) مع طول حوالي 5-6 انش. قم بتجريد السلك من العازل في كل نهاية , ثم قم بلحم الأسلاك على المحركات.

smartphone-controlled-arduino-robot

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

تركيب المحرك :

smartphone-controlled-arduino-robot

لاحظ أن الأسلاك على كل محرك تشير الى إتجاه مركز الهيكل.

smartphone-controlled-arduino-robot

قم بضم اثنان من الأسلاك الحمراء و اثنان من الاسلاك السوداء معا على كل جانب من جوانب الهيكل. بعد الانضمام, سيكون لديك اثنان من النهايات على الجانب الايمن و اثنان على الجانب الأيسر.

تثبيت السقف العلوي:

بعد تركيب الاربع محركات في الطابق السفلي، قم بتركيب السقف العلوي. ثم قم بسحب نهايات الاسلاك نحو السطح العلوي.

smartphone-controlled-arduino-robot

هناك حاجة إلى المتحكم (العقل) لتحريك الروبوت من مكان إلى أخر. المتحكم له القدرة على تنفيذ برنامج و يكون مسؤولا عن جميع العمليات الحسابية، واتخاذ القرارات، و الاتصال . في هذا المشروع سيتم استخدام متحكمArduino  كـوحدة تحكم.

يمكنك استخدام وحدة التحكم لدوران المحركات في إتجاه واحد. ولكن اذا كنت تريد أن تكون  قادر على التحكم في المحرك بإتجاهات مختلفة (الأمام ،الخلف، يمين، ويسار) مع لوحة التحكم, فإنك بحاجة إلى مزيد من الدوائر . انت بحاجة إلى H-Bridge.

 L298  H Bridge Module

smartphone-controlled-arduino-robot

H-Bridge، يقوم بتحريك محرك الـ DC بإتجاه الامام و الخلف. وهو يتكون من اربع مفاتيح الكترونية S1,S2,S3,S4  (Transistors / MOSFETS / IGBT).

smartphone-controlled-arduino-robot

الية العمل: انظر للصورة اعلاه لفهم ألية العمل للـ H-Bridge . المفاتيح في نفس الجهة إما (S1,S2) أو  (S3,S4)لا يتم إغلاقهم بنفس الوقت , سيتم حدوث ماس كهربائي .
H-bridge توفر لك دائرة متكاملة، أو يمكنك أن تقوم ببناء الدائرة بنفسك عن طريق إستخدام اربع Transistor او MOSFETs. في هذا المشروع سيتم استخدام  L298 H-bridge Module الذي يمكن من خلاله التحكم في سرعة واتجاه المحركات.

وصف مداخل و مخراج الـ L298H-bridge Module : 

smartphone-controlled-arduino-robot

توصيل الأسلاك الكهربائية

قم بتوصيل الأسلاك الحمراء للمحركين على كل جهة معا و الأسلاك السوداء معا.

smartphone-controlled-arduino-robot

MOTOR A هو المسؤول عن المحركات على الجانب الأيمن, وفي المقابل يتم ربط المحركات على الجانب الايسر للـ MOTOR B.

اتبع التعليمات التالية ليتم توصيل كل شي :

smartphone-controlled-arduino-robot
يمكنك العودة لمشروع نظام التحكم في الإضاءة عبر البلوتوث للإطلاع على الشرح المتعلق بوحدة البلوتوث .

برمجة الأردوينو

في الكود البرمجي سنقوم بمراجعة البيانات الواردة وتنفيذ عملية المقارنة ، اذا كانت البيانات المستقبلة من الهاتف الذكي F يتم تحريك الروبوت للأمام و إذا كانت B يتم تحريكه للخلف و اذا كانت R  يتم تغير حركة لليمين و L  للتحرك لليسار. ويتم إيقافة إذا كانت البيانات المستقبلة 0 .

قم برفع البرنامج التالي إلى متحكم الأردوينو:

 شرح الكود :

أولا لفعم الية العمل قم بالاطلاع على الجدول التالي. هو مفيد جدا أثناء كتابة التعليمات البرمجي :

smartphone-controlled-arduino-robot

في قسم الـ Loop يتم قراءة البيانات التي تم إرسالها من قبل الهاتف الذكي ثم يتم التحقق منها. فمثلا إذا كانت حرف “F” يتم إستدعاء الدالة Forward()ليتم تحريك الروبوت إلى الأمام ،وإذا كات حرف “B” يتم إستدعاء الدالة backward() ليتم تحريك الروبوت للخلف.

نقوم بإنشاء الدالة Forward() , Backward() , Right(),Left() لتحكم في إتجاهات الروبوت.
و الدالة Stop1() لإيقاف حركة الروبوت

تطبيق الاندرويد

في هذا المشروع لن يتم تغطية طريقة برمجة تطبيق الاندرويد , يمكنك تحميل البرنامج من هنا

كيف يمكن استخدام التطبيق؟
1- قم بتنزيل البرنامج من هنا
2- قم بإقتران جهازك مع البلوتوث   HC-06:
– تشغيل البلوتوث HC-06.
– تفحص الجهاز المتوفر .
-يتم الاقتران الى البلوتوث عن طريق ادخال كلمة المرور الافتراضية  1234 او   0000.
3- قم بفتح التطبيق , ثم قم بالضغط على زر الاجهزة المقترنة  ثم قم بإختيار وحدة البلوتوث الخاصة بك (HC-06) .

smartphone-controlled-arduino-robot

قم بالضغط على الأسهم لتغير حركة الروبوت و على زر Stop لإيقاف الحركة .

smartphone-controlled-arduino-robot

التحكم بالـ LED عن طريق التصفيق

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

arduino-sound-detection-sensor

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

sound detection sensor

حساس الصوت Sound Detection Sensor

5mm Red LED

220 Ω resistor

مقاومة 220 اوم

small size breadboard 170 colors

small size breadboard  لوح تجارب صغير

arduino uno r3

Arduino Uno R3

Jumper Wires Male/Male

سلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

حساس كاشف الصوت Sound Detection Sensor

يمكنك من خلال كاشف الصوت الكشف عن الصوت مثل الكلام و التصفيق .و إعتمادا على هذا الصوت يمكنك التحكم بأي قطعة الكترونية مثل الضوء LED .

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

 arduino-microphone

لتكون قادر على الكشف عن الإشارات يجب أن تكون كبيرة بما يكفي، فيجب  تضخيم الإشارة لتكون قابلة للإستخدام من قبل الاردوينو. لذا يجب علينا توصيل الميكروفون إلى مكبر للصوت (amplifier) ، فيتم تضخيم الاشارة ليتم الكشف عنها من قبل للأردوينو. اذا من أجل بناء هذة الدائرة نحن بحاجة إلى ميكروفون يتم توصيله إلى مكبر صوت (audio Amplifier)  للحصول على إشارات مضخمة.

في هذا المشروع سيتم استخدام  sounder detection module للكشف عن الصوت . في هذة اللوحة تم توصيل الميكروفون على مكبر  للصوت (LM939 op amp) ، و ويمكنك ضبط نقطة التحديد (threshold) لمستوى الصوت عن طريق المقاومة المتغيرة (Potentiometer) ، فعد تجاوز الصوت هذة النقطة يتم إضاءة الضوء LED .

الصوة  أدناه توضح التفاصيل للضوابط و المنافذ و المكونات الأساسية للوحة كاشف الصوت :

arduino-sound-detection-sensor

تصميم لوحة التجارب:

قم بتوصيل الدائرة كما هو موضح بالصورة التالية :

arduino-sound-detection-sensor

برمجة الأردوينو

قم برفع البرنامج التالي إلى متحكم الأردوينو:

لمحة عن الكود:

اولا نقوم بقراءة مستشعر كاشف الصوت واذا تم الكشف عن صوت  يتم تشغيل الـ LED

واذا تم الكشف عن صوت للمرة الثانية يتم التحقق ما اذا كان الـ  LED في حالة التشغيل أو الإيقاف، فإذا كان في حالة التشغيل يتم إطفاءه :

نظام حماية الخزنة

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

security-alarm-system-project

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

matrix keypad 4x4

Matrix Keypad 4×4

 مستشعر الموجات فوق الصوتية (Ultrasonic Sensor HC-SR04)

Piezo sounder

Piezo sounder

HD44780

LCD 16×2 شاشة

potentiometer 10k

Potentiometer 10K Ω

220 Ω resistor

مقاومة 220 اوم

Full size breadboard 830

  لوح تجارب كبير (Full size breadboard)

arduino uno r3

Arduino Uno R3

Jumper Wires Male/Male

 اسلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

نظرة عامة

لتفعيل نظام الحماية  في البداية يتم تفعيل أنظمة الانذار بعد 10 ثواني من الضغط على الزر A. وللكشف عن الأجسام يتم استخدام جهاز استشعار الموجات فوق الصوتية (Ultrasonic Sensor) ، في حال الكشف عن وجود جسم قريب يبدأ تفعيل صفارة الانذار (Buzzer) . ولإيقاف صفارة الانذار أنت بحاجة لادخال كلمة المرور المكونة من 4 أرقام ثم الضغط على زر النجمة للتحقق ما اذا كانت الكلمة المدخلة صحيحة او لا . تم وضع كلمة السر الحالية  1234 ولكن لديك ايضا امكانية تغيرها.

security-alarm-system-project

عن طريق الضغط على زر B سيتم الدخول على قائمة تغيير كلمة المرور ، أولا انت بحاجة إلى إدخال كلمة المرور الحالية من أجل المواصلة في إجراءات تغير كلمة المرور، ومن ثم يطلب منك النظام إدخال كلمة المرور الجديدة مكونة من اربع أرقام .

security-alarm-system-project

في حال تغيير كلمة المرور, اذا تم تفعيل الانذار سوف تكون قادر على إيقافة عن طريق إدخال كلمة المرور الجديدة فقط. إذا تم إدخال كلمة مرور خاطئة ستظهر رسالة تسمع بإعادة المحاولة.

 

لوحة المفاتيح Keypad

تعتبر لوحة المفاتيح من اهم وسائل الادخال حيث تمكنك من إدخال الارقام و الرموز و بعض الأحرف من خلالها. و يتم إستخدامها بكثرة في مشاريع المتحكمات الدقيقة وأنظمة الحماية و ستجدها حولك في العديد من الاجهزة الالكترونية مثل الهاتف المنزلي وغيره.

تختلف اشكال لوحات المفاتيح تبعا لحجمها و عدد الارقام المتاحة. في هذا المشروع، سوف يتم إستخدام اللوحة المرنة القابلة للطي بسهولة والتي تصنع بالعادة من نوع خاص من البلاستيك المرن.

security-alarm-system-project

لوحة المفاتيح 4×4  تتكون من 8-Pins  ، أربعة منهم للصفوف و أربعة منهم للأعمدة . كل زر بالواقع عبارة عن مفتاح (Push button)عند الضغط يتم التوصيل بين الصف و العامود.

security-alarm-system-project

على سبيل المثال : اذا وضع على الصف الأول  (Row 1قيمة LOW) ، وجميع الأعمدة قيمة HIGH ، عندما يتم الضغط على الزر الثالث ، سيتم التوصيل بين الصف الأول والعامود الثالث فسوف تصبح قيمة العامود الثالث LOW، وبالتالي يمكننا معرفة الزر الذي تم الضغط عليه.

تصميم لوح التجارب

قم بتوصيل الدائرة الكهربائية للوحة المفاتيح كما هو موضح بالصورة :

security-alarm-system-project

توصيل لوحة المفاتيح :

الأردوينولوحة المفاتيح
Pin A0 الصف الأول
Pin A1الصف الثاني
Pin 6الصف الثالث
Pin 7الصف الرابع
Pin A5العامود الأول
Pin A4العامود الثاني
Pin A3العامود الثالث
Pin A2العامود الرابع

 قم بإضافة توصيل باقي القطع الإلكترونية كما هو موضح بالصورة التالية :

security-alarm-system-project

توصيل  شاشة الـ LCD :

ArduinoLCD
Pin 12RS pin
Pin 11Enable pin
Pin 5D4 pin
Pin 4D5 pin
Pin 3D6 pin
Pin 2D7 pin
توصيل حساس الموجات فوق الصوتية (Ultrasonic Sensor) :
Ultrasonic SensorArduino
VCC+5V
TrigPin 10
EchoPin 9
GroundGND
توصيل Buzzer:
BuzzerArduino
Shorter leadGND
Longer leadPin 8

الكود البرمجي للأردوينو

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

قم بتنزيل المكتبة الخاصة بلوحة المفاتيح KeyPad من هنـا او من خلال الرابط المباشر هنـا .

أولا نحن بحاجة الى مكتبة الـ LCD   و مكتبة لوحة المفاتيح. ثم تحديد و تعريف المتغيرات لدبابيس جهاز الانذار  (Buzzer)و جهاز استشعار الموجات فوق الصوتية  (Ultrasonic)، و تعريف بعض المتغيرات اللازمة لهذا المشروع.

في قسم الأعداد (setup)، نحن بحاجة لتهيئة الـ LCD وتحديد ما اذا كان الـ Pin الخاص بالمستشعر و جهاز الانذار مدخل او مخرج .

في القسم Loop، نحن أولا بحاجة للتحقق ما اذا تم تفعيل أنظمة الانذار او لا. فإذا لم يتم التفعيل ، سيتم ظهور القائمة الرئيسية على شاشة الـ LCD التي تقدم خيارين ، خيار A لتفعيل الانذار وخيار B لتغير كلمة المرور.
ثم استخدام ()myKeypad.getKey لقراءة الزر الذي تم الضغط عليه من لوحة المفاتيح ، اذا تم الضغط على زر A ، يتم تفعيل جهاز الانذار لمدة200 milliseconds و تصبح قيمة المتغير activeAlarm =true.

في حالة تم الضغط على زر A يتم تفعيل الانذار و يتم طباعة الرسالة “Alarm will be activated in” على شاشة الـ LCD و عن طريق استخدام while loop يتم انشاء عداد تنازلي لمدة 9 ثواني قبل تفعيل الانذار .
ثم يتم ظهور الرسالة “Alarm Activated ” على الشاشة ويتم حساب المسافة الأولية بين نظام الامن (بإستخدام حساس الموجات فوق الصوتية ) و اي جسم امامه .

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

()enterPassword  هذة الدالة تقوم بطباعة رسالة على الشاشة توضح بها أن جهاز الانذار مفعل , وأننا بحاجة إلى إدخال كلمة السر من أجل إيقاف الانذار. وبإستخدام الـ while Loop سيتم التحقق باستمرار ما اذا تم ضغط زر على لوحة المفاتيح ، وكل زر يتم ضغطة يتم اضافته إلى متغير tempPassword. اذا تم ادخال اكثر من 4 ارقام او رمز # يتم مسح الادخال القديم و يمكنك اعادة ادخال كلمة المرور.

و من ناحية أخرى إذا تم الضغط على زر النجمة سوف يتم التحقق ما اذا كانت الكلمة المدخلة صحيحة او لا. اذا كانت الكلمة صحيحة سيتم إيقاف الانزار و سيتم الرجوع الى الشاشة الرئيسية على شاشة الـ LCD. واذا تم ادخال كلمة مرور خاطئة يتم ظهور الرسالة (!Wrong! Try Again) و سيكون لدينا محاولة لإدخال كلمة المرور الصحيحة مرة أخرى .
لتغير كلمة المرور نستخدم طريقة مماثلة . أولا سنحتاج إلى ادخال كلمة المرور الحالية لتكون قادر على تعيين كلمة المرور الجديدة.

الكود التالي هو البرنامج الكامل قم برفعه على الاردوينو:

عرض درجة الحرارة والرطوبة

في هذا المشروع سوف نتعلم كيفية استخدام DHT11 أو جهاز الاستشعار DHT22  مع لوحة الاردوينو لقياس درجة الحرارة و الرطوبة . وسيتم طباعة درجة حرارة الغرفة والرطوبة على شاشة الـ LCD .

temp-humidity-display

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

humidity sensor

مستشعر درجة الحرارة و الرطوبة DHT11

HD44780

LCD 16×2 شاشة

potentiometer 10k

Potentiometer 10K Ω

220 Ω resistor

مقاومة 220 اوم

Half-size Breadboard

لوح تجارب حجم متوسط (Half size breadboard )

arduino uno r3

Arduino Uno R3

Jumper Wires Male/Male

 اسلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

حساسات DHT11/DHT22 :

هذه الأجهزة شعبية جدا لهواة الالكترونيات لأنها رخيصة و تقدم أداء رائعة. وفي يلي يتم توضيح المواصفات و الفرق بين هذه الحساسات :
DHT22 هو نسخة أكثر تكلفة لأنها تقدم مواصفات أفضل . مثلا في نطاق قياس درجة الحرارة هو من -40 إلى +125  درجة مئوية مع 0.5 درجة دقة ، في حين  DHT11من 0 الى 50 درجة مئوية مع 2 درجة دقة. أيضا DHT22 لديه نطاق قياس رطوبة أفضل ، من 0 إلى 100% مع 2-5% من الدقة. في حين DHT11  نطاق الرطوبة من 20 الى 90% مع  5% من الدقة.

temp-humidity-display

هناك مواصفتان في DHT11 هي أفضل من DHT22. وهي معدل أخذ العينات (Sampling Rate) في مستشعر DHT11  هي 1Hz او قراءة كل ثانية، في حين  DHT22 معدل أخذ العينات هي 0.5Hz أو قراءة كل 2 ثانية. كما أن DHT11  أصغر حجما.
جهد التشغيل الكهربائي لكل من أجهزة الاستشعار هي 5-3 فولت ، في حين الحد الأقصى للتيار المستخدم عند القياس هو 2.5mA.

هذة الحساسات  تتألف من مستشعر الرطوبة , و NTC  مستشعر درجة الحرارة (أو الثرمستور) و IC على الجانب الخلفي للحساس .

temp-humidity-display

حساسات DHTxx  لديها أربعة دبابيس ، VCC ، GND ، دبوس البيانات (Data Pin)  ودبوس لا يتم استخدامه. مطلوب Pull-up resistor من  5Kالى 10K اوم للحفاظ على خط البيانات و من أجل تمكين الاتصال بين المستشعر و لوحة الاردوينو. هناك بعض الإصدارات من هذه الحساسات التي تأتي مع لوحة جانبية مدمجة مع pull-up resistor و لديها 3 دبابيس.

temp-humidity-display

مبدأ عمل DHT11 :

في هذا المشروع سنقوم بإستخدام المستشعر DHT11. بعد توصيل المستشعر إلى المتحكم، يقوم المتحكم MCU بإرسال نبضة بدء (Start signal ) للحساس لينقله من وضع الأستعداد إلى وضع التشغيل و بعد اكتمال وصول النبضه إلى الحساس و استجابته لهذه النبضة ، يرسل الحساس موجه تضم 40 Bit تضم اشارات الحرارة و الرطوبة إلى المتحكم الذي يقوم بدوره بمعالجتها و إظهار النتائج .

temp-humidity-display

تصميم لوح التجارب

 قم بتوصيل الدائرة الكهربائية للمستشعر كما هو موضح بالصورة :

temp-humidity-display

ثم قم بإضافة  LCD  ويتم توصيلها كما هو موضح بالصورة التالية :

temp-humidity-display

في هذا المشروع سيتم توصيل الشاشة كالتالي :

ArduinoLCD
Pin 12RS pin
Pin 11Enable pin
Pin 5D4 pin
Pin 4D5 pin
Pin 3D6 pin
Pin 2D7 pin

يمكنك العودة إلى الدرس الثاني عشر للإطلاع على طريقة توصيل باقي المنافذ على شاشة الـ LCD .

الكود البرمجي للأردوينو

أولا نحن بحاجة إلى تثبيت مكتبة الـDHT  التي يمكنك تنزيلها من  هنا أو من الموقع الرسمي اردوينو هنا. ثم يتم تحديد رقم المنفذ لقراءة البيانات من المستشعر.

ثم قم برفع البرنامج التالي على الاردوينو:

لمحة عن الكود :

سيتم استخدام الدالة ()read11 ليتم قراءة البيانات من المستشعر

 ثم الحصول على قيم درجة الحرارة و الرطوبة و يتم وضع القيم في متغيرات.