التحكم التلقائي بالضوء

مقدمة

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

التحكم التلقائي بالضوء

المواد والأدوات

المرحل (Relay)

X1 المرحل (5V Relay Module)

pir motion sensor - حساس الحركة

X1 حساس الحركة  (pir motion sensor)

small size breadboard 170 colors

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

اردوينو

X1أردوينو أونو

سلك اردوينو
X1 سلك الأردوينو
Female-Male Jumper Wires

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

Jumper Wires Male/Male

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

automatic-room-lights

Light Bulb Socket (غير متوفر بالمتجر)

لمبة 12 فولت

X1 لمبة 12 فولت (غير متوفر بالمتجر)*

X1 محول طاقة 12 فولت**

X1 وصلة تيار ثابت انثى

 

*يمكن استخدام 220 فولت (نحن لا نفضل ذلك)
** عند استخدام 220 فولت لن تحتاج لهذا المنتج

في المشاريع او التطبيقات العملية قد نود أن نتحكم بأحمال ذات قدرات عالية High Power باستخدام المتحكم الاصغر Microcontroller . فمثلاً أن نتحكم بإنارة مصباح يعمل على تيار متردد (AC) او تشغيل محركات كهربائية حثية مثل مضخات المياه.

من خلال الاردوينو ,لا يمكننا تشغيل اي حمل ذو استهلاك كبير للطاقة (220v,110v) لأن اقصى جهد يمكن توليده من الاردوينو هو 5 فولت فقط. احد الاجهزة التي لا يمكن للاكترونيات الاستغناء عنها والتي تلعب دور كبير في التحكم بالدرات الكهربائية هو المرحٌل -الريلي-(Relay) .

المرحٌلRelay

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

فالمرحل يعمل كعنصر وصل/فصل (ON-OFF switch) لتوصيل التيار الكهربائي للأحمال او فصلها.

automatic-room-lights

في هذا المشروع ,سنقوم باستخدام HL-52S  ريلي , يحتوي على ثلاث اقطاب يتم وصلها بمصدر الطاقة ذات الفولتية العالية. القطب الاوسط  يشير الحرف C الى كلمة Common  والتي تعني مشترك, يشير ان هذا القطب اما ان يكون موصولاً بالقطب (NC) تشير الى Normally Closed  والتي تعني مغلق عادةً او (NO) تشير الى  Normally Open والتي تعني مفتوح عادةً ،فلذلك سمي بالقطب المشترك.

automatic-room-lights

وعلى الجانب الآخر لدينا مجموعتين من الدبابيس، اول مجموعة تحتوي على 4 دبابيس، دبوس GND الأرض و دبوس الـ Vcc لتزويد الريلي بالطاقة ومدخلين IN1 ,IN2 . والمجموعة الثانية عبارة عن 3 دبابيس، Jumper  بين الـ JD-Vccو VCC  و دبوس الارض GND

automatic-room-lights

تحذير: يجب وضع الـ Relay على لوح عازل وعدم لمسه من اسفل اللوح الملحوم عليه لأنها قد تكون موصله للتيار الكهربائي بعد وصله بالجهد العالي.

 

انتبه:

قبل ان نبدأ بتوصيل الدائرة، ينبغي تحذيرك ، أن هذا المشروع يتطلب توصيل تيار متردد (AC – 220V) ،هذا التيار خطير و يجب التعامل معه بحذر شديد. لا تقم بالتوصيل مالم تكن على دراية كاملة بما تفعل او اطلب مساعدة من شخص ذو خبرة في هذا المجال.
اذا استخدم بطريقة غير صحيحة  او غير سليمة يمكن ان يؤدي إلى إصابات خطيرة أو وفاة. لذلك يجب الحذر جدا من ما تقومون به لأننا لا نتحمل اي مسؤولية من اي اجراءات تقوم به.

automatic-room-lights

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

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

قم بتوصيل سلك الطاقة الموجبة الخاص بالريلي بمنفذ ال 5v على لوحة التجارب،  وسلك الطاقة السالبة بمنفذ ال Gnd المتواجد على لوحة التجارب. قم بتوصيل سلك الاشارة (IN1) بمنفذ رقم 10 على لوحة الاردوينو.
يمكنك العودة الى الدرس الثامن عشر لمعرفة  طريقة التوصيل المتعلق في مستشعر الحركة (PIR Sensor) ،  قم بتوصيل سلك الاشارة  (Signal) للمستشعر بمنفذ رقم 9 على لوحة الاردوينو.

اذا كانت الإضاءة 12 فولت استخدم المحول اذا كانت الاضاءة 220 يمكن توصله مباشرة بدون محول

تنبيه :
– قد تختلف طرق توصيل مستشعر الحركة بلوحة الارديونو بناءً على نوع المستشعر، الرجاء تفقد أستمارة البينات لمستشعرك قبل توصيله.
– قد تختلف طرق توصيل الريلي بلوحة الاردوينو بناءً على نوع الريلي، الرجاء تفقد وصف البينات للريلي الخاص بك قبل توصيله.
– اذا كنت تملك نوع اخر من انواع الريلي الذي لا يكون ملحوم على دارة، فاللأسف لا يمكنك توصيله بشكل مباشر بالارديونو.
– اي توصيل  خاطئ قد يؤدي الى تلف المتحكم الدقيق للوحة الاردوينو.

البرمجة:

يقوم الاردوينو بإنتظار إشارة من مستشعر الحركةMotion PIR sensor ، وفور حصولة على اشارة من المسشتعر تشير لوجود تحرك، يقوم بتفعيل الـ Relay  لفتح الإضاءة.

قم بتوصيل الاردوينو بالكمبيوتر، وقم بتحميل البرمجة التالي على الاردوينو:

int Relay=10;
int inputPin = 9; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
 
void setup() {
 pinMode(inputPin, INPUT); // declare sensor as input
 pinMode(Relay,OUTPUT);
 
 Serial.begin(9600);
}
 
void loop(){
 val = digitalRead(inputPin); // read input value
 // Serial.println(val);
 if (val == HIGH) { 
 digitalWrite(Relay,LOW); 
 Serial.println(val);// check if the input is HIGH
 if (pirState == LOW) {
 Serial.println("Motion detected!");
 pirState = HIGH;
 }
 delay(2000);
 } else {
 digitalWrite(Relay,HIGH);
 if (pirState == HIGH){
 Serial.println("Motion ended!");
 pirState = LOW;
 }
 delay(2000);
 }
}

لمحة سريعة عن الكود:

لفتح و اغلاق انارة AC يجب تفعيل الـ Relayعن طريق مدخل IN1 . يعمل مدخل IN1 في الـ Relay عكسيا، فيتم تفعيل المرحل (Relay) عند ادخال قيمة (LOW) الى مدخل (IN1)( حسب طريقة صنع الدارة على اللوحة الصغيرة التي يلحم عليها الريلي) .

 digitalWrite(Relay,LOW);

يمكنك العودة الى الدرس الثامن عشر لمعرفة شرح الكود المتعلق بحساس الحركة (Motion Sensor).