الدرس عـ 8 ـدد: المقاوم الضوئي ( Photorésistance )

إذا إحتجنا في أحد مشاريعنا لعرفة قيمة الإضاءة من حولنا (إضاءة أو إطفاء المصباح أو لغلق النّوافذ و الأبواب) من بين هذه المكوّنات المقاوم الضوئي ( Photorésistance )
مثل هذه المقاومات توفّر لنا تيّار تماثلي (من 0 فولط ..حوالي 5 فولط ) حسب قوّة الإضاءة.

1- المقاوم الضوئي

يتأثّر المقاوم الضوئي Photorésistance إنطلاقا من الأضواء المتأتيّة من المحيط الخارجي .كلّما زادت الإضاءة كلّما إنخفضت المقاومة كلّما بالتالي تزداد شدّة التيّار الكهربائي

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

1-الدّارة الكهربائيّة

في ما يلي الدّارة الكهربائيّة التاليّة

في البداية نقوم بإنشاء برنامج صغير لكي نعرف القيمة التماثليّة المخرجة من المقاوم الضوئي

  1. إنشاء متغيّرi من انوع رقم عشري وقيمة أصليّة 0
  2. وضع قيمة القراءة التماثليّة من منفذ A13 و حفظها في المتغيّر i
  3. أكتب على شاشة الحاسوب و في سطر جديد قيمة i المتأتية من المقاوم الضوئي

float i;
void setup()
{
i = 0;
Serial.begin(9600);
}
void loop()
{
i = analogRead(A3);
Serial.println(i);
}

شرح الأكواد

float i;

إنشاء متغيّر i من نوع عشري

void setup()

الإعدادات و تنفّذ مرّة واحدة

{

بداية الإعدادات

i = 0;

المتغيّر i قيمة الأصليّة 0

Serial.begin(9600);

تهيأة أردوينو بتواصل بالمعلومات إلى الحاسوب

}

نهاية الإعدادات

void loop()

الجزء الرئيسي لللأوامر

}

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

i = analogRead(A3);

قراءة تماثليّة للمنفذ A3 و خزنها في المتغيّر i

Serial.println(i);

كتابة على شاشة الحاسوب قيمة i

}

نهاية الأوامر

تجارب و إستنتجات

تجربة الدّارة الكهربائيّة

بهذها التجربة لاحظنا بأن القيمة المستخرجة من 54 إلى 974
فهذه القيمة متأثّر بالإضاءة و نوع المقاوم الضوئي
يمكن إنشاء عدّة تجارب إنطلاقا من هذه القيمة مثال إذا تجاوزت القيمة 500 يضيء الصمام مشع

إذا كانت i أكبر من 500 كتابة رقميّة على المدخل 6 و الوضع مرتفع (يضيء الصمام المشع)
و أما إذا كانت أصغر أو يساوي من 500 لا يضيء الصمام المشع

float i;
void setup()
{
i = 0;
Serial.begin(9600);
pinMode(6, OUTPUT);
}
void loop()
{
i = analogRead(A3);
Serial.println(i);
if (i > 500) {
digitalWrite(6,HIGH);
}
if (i <= 500) {
digitalWrite(6,LOW);
}
}

ينبغي أن نفهم الأوامر أردوينو وهي لعة C و C++ حتّى تكون محترف

float i;

تعيين متغيّر i من نوع عشري

void setup()

بعض الإعدادات و تنفّذ مرّة واحدة

{

معقّف البداية

i = 0;

تحديد قيمة i تساوي صفر

Serial.begin(9600);

عمليّة التواصل بين لوحة أردوينو و الحاسوب

pinMode(6, OUTPUT);

تعريف لأردوينو بإستعمالنا للمنفذ رقم 6

}

نهاية الإعدادات

void loop()

البرنامج الرسمي و الآوامر متكرّرة

{

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

i = analogRead(A3);

قراءة القيمة التماثليّة من المنفذ َA3 و تخزينها في i

Serial.println(i);

أكتب قيمة i على شاشة الحاسوب

if (i > 500) {

إذا كان i أكبر من 500 نفّذ

digitalWrite(6,HIGH);

المنفذ رقم 6 يكون مرتفع (5 فولط)

}

نهاية شرط إ ذا

if (i <= 500) {

إذا كان i صغر أو يساوي من 500 نفّذ

digitalWrite(6,LOW);

المنفذ رقم 6 يكون منخفض (0 فولط)

}

نهاية شرط إذا

}

نهاية البرنامج الرّئيسي

شاهد هذا الفيديو

تمرين خاص

دارة تحتوي على لوحة أردوينو و مقاوم ضوئي و مقاومات و لوحة تجارب و 4 صمامات مشعّة
كلّما إرتفعت القيمة المتأتية من المقاوم الضوئي إزدادت عدد الصمامات المشعة المضيئة
من 0 إلى 250 صمام واحد يضيء
من 250 إلى 500 صمامين مضيئين فقط
من 500 إلى 750 ثلاثة صمامات مضيئة
أكثر من 750 أربعة صمامات مضيئة
قم بإنجاز التمرين على موقع TinKercad و إنشر رابط تمرين على صفحتنا على الفيسبوك على هذا الرابط المخصّص لهذا الدرس

التحكّم في رفرفة الصمام المشع

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

  1. إنشاء متغيّرفي الإعدادات بإسم i و طبيعته رقم عشري
  2. نضع غي المتغيّر i قيمة المتأتيّة من المقاوم الضوئي إلى المنفذ التماثلي A3
  3. إضاءة الصمام المشع
  4. إرسال و إظهار على شاشة الحاسوب قيمة المقاوم الضوئي
  5. إنتظار مهلة الإنتضار بقيمة المتأتية من المقاوم الضوئي
  6. إطفاء الصمام المشع

شاهد هذا الفيديو لأكثر تفاصيل

أي إستفسار أو إضافات الرجاء ضع مشاركتك هنا


هل تعلم
من بين عائلة الأردوينو نجد Arduino Mega
تختلف Arduino Mega بأن لها مداخل و مخارج أكثر بكثير وهي تتشابه أيضا Arduino UNO و هذا يجعل من السهل استخدام نفس البرنامج ، وتوصيل الأسلاك بنفس الطريقة .

arduino_mega_r3_002_hd.jpg