كود أردوينو وفيديو لوحدة مستشعر ضوء مع ريليه

كود أردوينو وفيديو لوحدة مستشعر ضوء مع ريليه

في هذا الدرس سنتعلم كيفية استخدام وحدة استشعار الضوء للتحكم في ضوء يعمل بالتيار المتردد. سيسمح المشروع بتشغيل الضوء تلقائياً عندما يكون الجو مظلماً وإيقافه عندما يصبح الجو مشرقاً. هذا مفيد بشكل خاص لتطبيقات مثل الإضاءة الخارجية أو أضواء المرآب. بنهاية هذا الدرس سيكون لديك نظام عملي يمكنه إدارة الضوء بفعالية بناءً على ظروف الإضاءة المحيطة. (في الفيديو عند 02:15)

LDR light sensor module

سنستخدم وحدة حساس ضوء تتضمن مقاومة متغيرة بالضوء (LDR) لاكتشاف مستويات الإضاءة وريليه للتحكم في ضوء التيار المتردد. سيشمل النظام أيضًا مقاومًا متغيرًا (بوتنشيومتر) لضبط حساسية كشف الضوء. يتيح هذا الإعداد تحكمًا رقميًا وتناظريًا في الضوء استنادًا إلى مستوى الإضاءة المحيطة الذي يكتشفه المستشعر. للمزيد من التوضيح التفصيلي، راجع الفيديو عند 04:30.

شرح الأجهزة

المكونات الأساسية لهذا التصميم هي وحدة مستشعر الضوء، والمرحّل، والأردوينو. تتألف وحدة مستشعر الضوء من مقاوم ضوئي (LDR) يغيّر مقاومته اعتمادًا على شدة الإضاءة، ويوفر خرجًا رقميًا أو تماثليًا. يعمل المرحّل كمفتاح يمكنه التحكم في مصباح تيار متردد عالي الجهد بينما يُشغَّل بأمان بواسطة أردوينو ذي جهد منخفض. هذا الفصل ضروري للسلامة ووظائف النظام.

المرحل له ثلاث أطراف رئيسية: المشترك (COM) والمفتوح عادةً (NO) والمغلق عادةً (NC). عند تفعيله، يوصّل المرحل الطرف المشترك بالطرف المفتوح عادةً، مما يسمح بتدفق التيار عبر المصباح المتصل. تتيح هذه الآلية للمرحل التحكم بالمصباح بناءً على الإشارات المستلمة من الأردوينو.

تفاصيل ورقة البيانات

المصنّععام
رقم القطعةوحدة مستشعر الضوء
جهد المنطق/المدخلات والمخرجات5 فولت
جهد التغذية5 فولت
تيار الإخراج (لكل قناة)10 مللي أمبير
تيار الذروة (لكل قناة)20 ميلي أمبير
إرشادات تردد PWMغير متاح
عتبات مستوى المنطق للمدخلات2.5 V (عالٍ) / 0.8 V (منخفض)
هبوط الجهد / Rالمصرف–المصدر (عند التشغيل)/ التشبع0.2 فولت نموذجي
الحدود الحرارية85 درجة مئوية
حزمةوحدة
ملاحظات / تنويعاتيتضمن مقاومًا متغيرًا لضبط الحساسية

  • تأكد من تبديد الحرارة بشكل صحيح للمرحل
  • استخدم مقاومة سحب (pull-up) لمدخل حساس الضوء.
  • تحقق من مواصفات الجهد قبل توصيل الأجهزة التي تعمل بالتيار المتناوب
  • تجنّب لمس الأسلاك المكشوفة عندما يكون النظام موصولًا بالطاقة.
  • اضبط المقاوم المتغير لتحقيق حساسية الضوء المطلوبة.

تعليمات الأسلاك

Arduino wiring for LDR light sensor module

لتوصيل وحدة حساس الضوء والريليه بالأردوينو، ابدأ بتوصيل دبوس VCC في وحدة حساس الضوء بدبوس 5V في الأردوينو. بعد ذلك، صِل دبوس الأرضي في حساس الضوء إلى دبوس GND في الأردوينو. يجب توصيل دبوس الخرج الرقمي للحساس بالدبوس 2 على الأردوينو، بينما يتصل دبوس الخرج التناظري بـ A0 لقراءات تناظرية.

الآن، بالنسبة للمرحّل، وصل دبوس VCC الخاص به إلى دبوس 5V على الأردوينو ووصل دبوس الأرضي إلى GND. يجب توصيل دبوس الإدخال للمرحّل بالدبوس 9 على الأردوينو. أخيراً، وصل أحد أسلاك مصباح التيار المتردد (AC) إلى الدبوس المشترك (COM) للمرحّل والسلك الآخر إلى الدبوس المفتوح عادةً (NO). سيسمح هذا الإعداد للمرحّل بالتحكم في مصباح التيار المتردد بناءً على قراءات حساس الضوء.

أمثلة على الكود وشرح تفصيلي

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

#define LIGHT 2 // define pin 2 for sensor
#define RELAY 9 // define pin 9 as for relay

void setup() {
  Serial.begin(9600); // setup Serial Monitor
  pinMode(LIGHT, INPUT_PULLUP); // define pin as Input sensor
  pinMode(RELAY, OUTPUT); // define pin as OUTPUT for relay
}

يقوم هذا الكود بتعيين الدبوس 2 كمدخل لقراءة حساس الضوء، والدبوس 9 كمخرج للتحكم في المرحل. كما يتم تهيئة المراقب التسلسلي لتوفير تغذية راجعة عن حالة الضوء.

داخل دالة loop، نقرأ حالة المستشعر باستمرار:

int L = digitalRead(LIGHT); // read the sensor
if (L == 1) {
  Serial.println(" light is ON");
  digitalWrite(RELAY, LOW); // turn the relay ON
} else {
  Serial.println("  === light is OFF");
  digitalWrite(RELAY, HIGH); // turn the relay OFF
}

يتحقق هذا المنطق من حالة مستشعر الضوء ويشغّل المرحّل أو يطفئه وفقًا لذلك، مع توفير تغذية راجعة عبر المراقب التسلسلي.

في الكود التماثلي المتقدم، نضمّن طريقة لقراءة القيم من المخرج التماثلي:

if (digital == true) {
  int L = digitalRead(LIGHT); // read the sensor
  if (L == 1) {
    Serial.println(" light is ON");
    digitalWrite(RELAY, LOW); // turn the relay ON
  } else {
    Serial.println("  === light is OFF");
    digitalWrite(RELAY, HIGH); // turn the relay OFF
  }
} else {
  int a0Value = analogRead(A0); // read A0 value
  if (a0Value >= LightValue) {
    Serial.print(analogRead(A0));
    Serial.println(" Light is ON");
    digitalWrite(RELAY, LOW); // turn the relay ON
  } else {
    Serial.print(analogRead(A0));
    Serial.println("  === light OFF");
    digitalWrite(RELAY, HIGH); // turn the relay OFF
  }
}

يتيح هذا القسم ضبط الحساسية بناءً على القراءة التناظرية من مستشعر الضوء، مما يوفر مزيدًا من التحكم في عتبات تفعيل الإضاءة.

عرض توضيحي / ما الذي تتوقعه

عند اكتمال الإعداد وتشغيله، يجب أن يضيء الضوء في ظروف الإضاءة المنخفضة وينطفئ في الظروف الساطعة. يمكنك اختبار النظام بتغطية حساس الضوء لمحاكاة الظلام ومراقبة تفعيل المرحل. إذا تم تكوينه بشكل صحيح، سيعرض المراقب التسلسلي "light is ON" أو "light is OFF" بناءً على قراءات المستشعر. كن حذرًا من عكس القطبية عند توصيل المصباح المتصل بالتيار المتردد، لأن ذلك قد يسبب أعطالًا أو مخاطر على السلامة (في الفيديو عند 10:00).

الطوابع الزمنية للفيديو

  • 00:00مقدمة عن المشروع
  • 02:15نظرة عامة على المكونات والأسلاك
  • 04:30شرح الكود
  • 10:00عرض توضيحي للوظائف

الصور

LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light_LDR_sensor-4
Light_LDR_sensor-4
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light LDR sensor module schematic
Light LDR sensor module schematic
Arduino wiring for LDR light sensor module
Arduino wiring for LDR light sensor module
LDR light sensor module
LDR light sensor module
75-Light sensor module for Arduino (basic digital)
اللغة: C++
76-Light sensor module for Arduino (Advanced: analog)
اللغة: C++
تم النسخ!

الأشياء التي قد تحتاجها

الموارد والمراجع

لا توجد موارد حتى الآن.

ملفات📁

Fritzing File