في عصر التكنولوجيا المتقدمة، أصبحت الأنظمة الذكية جزءًا لا يتجزأ من حياتنا اليومية. واحدة من التطبيقات الشائعة لهذه التقنيات هي برمجة أنظمة الإضاءة العامة مثل أضواء الطرق. باستخدام لوحة Arduino، يمكننا تصميم نظام ذكي لإدارة أضواء الطرق بناءً على ظروف الإضاءة أو حركة المارة والمركبات.
ما هو Arduino؟
Arduino هو منصة مفتوحة المصدر تتيح للمستخدمين تصميم وبرمجة المشاريع الإلكترونية بسهولة. تحتوي لوحة Arduino على معالج Microcontroller يمكن برمجته لتنفيذ مجموعة متنوعة من الوظائف، مثل التحكم في الدارات الكهربائية والإلكترونية.
أهداف المشروع:
- تشغيل الضوء عند غروب الشمس.
- إطفاء الضوء عند شروق الشمس.
- استخدام مستشعر ضوئي (LDR - Light Dependent Resistor) لتحديد مستوى الإضاءة.
- توفير خيار لتغيير سطوع الضوء بناءً على الحاجة.
المكونات المطلوبة:
- لوحة Arduino (مثل Arduino Uno).
- LED (لتمثيل أضواء الطريق).
- مستشعر LDR (لمراقبة مستوى الإضاءة).
- مقاومات (مقاومة 10KΩ للحماية).
- أسلاك توصيل.
- مصدر طاقة (بطارية أو محول كهربائي).
تصميم الدارة:
- قم بتوصيل مستشعر LDR بين قطب القوة (+5V) وأحد الأرجل الأخرى متصلة بمقاومة 10KΩ.
- اربط المقاومة مع الأرض (GND).
- قم بتوصيل نقطة تقاطع LDR والمقاومة بمدخل التناظري A0 على Arduino.
- قم بتوصيل LED إلى مخرج رقمي (Digital Pin) مثل D9 عبر مقاومة تقليل التيار (220Ω).
شرح الكود:
تعريف المتغيرات:
const int sensorPin = A0; // المدخل التناظري الذي يتصل به LDRconst int ledPin = 9; // المخرج الرقمي الذي يتصل به LEDint lightValue = 0; // متغير لتخزين قيمة الإضاءة من المستشعر
إعداد الدالة setup():
void setup() {
pinMode(ledPin, OUTPUT); // تعريف المخرج الرقمي 9 كمخرج
Serial.begin(9600); // بدء الاتصال السلسلي
}
تنفيذ الدالة loop():
void loop() {
lightValue = analogRead(sensorPin); // قراءة قيمة الإضاءة من المستشعر
Serial.println(lightValue); // عرض القيمة على Serial Monitor
if (lightValue < 500) { // إذا كانت الإضاءة منخفضة
digitalWrite(ledPin, HIGH); // تشغيل الضوء
} else {
digitalWrite(ledPin, LOW); // إطفاء الضوء
}
delay(100); // تأخير لمدة 100 ميلي ثانية
}
كيف يعمل النظام؟
1. يقوم مستشعر LDR بقياس مستوى الإضاءة في البيئة المحيطة.
2. ترسل القيم التي يقرأها المستشعر إلى Arduino، حيث يتم مقارنتها بشريط حدودي (مثل 500).
3. إذا كانت قيمة الإضاءة أقل من الحد الأدنى، يتم تشغيل LED (تمثيل أضواء الطريق).
4. إذا كانت قيمة الإضاءة أعلى من الحد الأدنى، يتم إطفاء LED.
تحسين النظام:
يمكن تحسين النظام بإضافة ميزات إضافية مثل:
- استخدام PWM (Pulse Width Modulation): لتغيير سطوع الضوء بناءً على مستوى الإضاءة.
- إضافة مستشعر حركة: لتشغيل الضوء فقط عندما يكون هناك حركة.
- استخدام ساعة رقمية: لضبط مواعيد التشغيل والإطفاء بناءً على الوقت بدلاً من مستشعر LDR.