الوصف
وحدة إشارة مرور LED بثلاثة ألوان
تحاكي هذه الوحدة إشارة مرور باستخدام مصابيح LED حمراء وصفراء وخضراء. وهي مناسبة لمجسمات إشارات المرور وتخطيطات القطارات وعروض البرمجة ومشاريع منطق التحكم.
المواصفات المذكورة
- جهد التشغيل: 5V DC
- مصابيح LED: أحمر وأصفر وأخضر، قطر كل منها 8 mm
- تيار التشغيل المذكور: الأحمر 13mA، الأصفر 13mA، الأخضر 25mA
- الواجهة: أربعة أطراف — GND وR وY وG
- الأبعاد: 56 × 21 × 11 mm
- مقاومات تحديد التيار: مدمجة
- التوافق المذكور: أنظمة 3.3V و5V
- التحكم: فعال عند HIGH (يضيء المصباح عند استقبال إشارة HIGH)، وفقًا للقائمة
- التركيب: على لوحة تجارب أو باستخدام أسلاك توصيل
توزيع الأطراف
- G: مصباح LED الأخضر، فعال عند HIGH
- Y: مصباح LED الأصفر، فعال عند HIGH
- R: مصباح LED الأحمر، فعال عند HIGH
- GND: الأرضي
صِل الوحدة بمخارج رقمية متوافقة وبأرضي مشترك. تذكر القائمة تشغيلًا بجهد 5V وتذكر التوافق مع أنظمة 3.3V و5V؛ تحقق من اللوحة والوحدة الفعليتين قبل الاستخدام.
مثال Arduino أساسي
يشغّل مثال المصدر الأخضر لمدة 5 ثوانٍ، ثم الأصفر لمدة ثانيتين، ثم الأحمر لمدة 5 ثوانٍ، ويكرر ذلك. صِل R بالطرف 11 وY بالطرف 12 وG بالطرف 13 في Arduino Uno.
const int RED_PIN = 11; // Broche pour la LED rouge
const int YELLOW_PIN = 12; // Broche pour la LED jaune
const int GREEN_PIN = 13; // Broche pour la LED verte
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(YELLOW_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
}
void loop() {
digitalWrite(GREEN_PIN, HIGH); // Allumer le vert
delay(5000); // Attendre 5 secondes
digitalWrite(GREEN_PIN, LOW); // Éteindre le vert
digitalWrite(YELLOW_PIN, HIGH); // Allumer le jaune
delay(2000); // Attendre 2 secondes
digitalWrite(YELLOW_PIN, LOW); // Éteindre le jaune
digitalWrite(RED_PIN, HIGH); // Allumer le rouge
delay(5000); // Attendre 5 secondes
digitalWrite(RED_PIN, LOW); // Éteindre le rouge
}
مثال Arduino متقدم
يستخدم مثال المصدر الثاني الدالة setLights() لضبط حالات إشارات الألوان الثلاثة. وتسلسله: الأحمر لمدة 5 ثوانٍ، ثم الأخضر لمدة 5 ثوانٍ، ثم الأصفر لمدة ثانيتين، ويكرر ذلك.
const int RED_PIN = 11; // Broche pour la LED rouge
const int YELLOW_PIN = 12; // Broche pour la LED jaune
const int GREEN_PIN = 13; // Broche pour la LED verte
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(YELLOW_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
}
void loop() {
// Séquence de feux
setLights(HIGH, LOW, LOW); // Rouge
delay(5000); // Attendre 5 secondes
setLights(LOW, LOW, HIGH); // Vert
delay(5000); // Attendre 5 secondes
setLights(LOW, HIGH, LOW); // Jaune
delay(2000); // Attendre 2 secondes
}
void setLights(int redState, int yellowState, int greenState) {
digitalWrite(RED_PIN, redState);
digitalWrite(YELLOW_PIN, yellowState);
digitalWrite(GREEN_PIN, greenState);
}
المكونات والإعداد
يذكر المصدر في كلا المثالين لوحة Arduino Uno ووحدة إشارة المرور هذه وأسلاك توصيل. صِل Vcc بطرف 5V في Arduino وGND بطرف GND، ثم صِل R وY وG بالأطراف الرقمية 11 و12 و13 على الترتيب.
ملاحظات حول الكود
تحدد الثوابت أرقام أطراف المصابيح، وتضبط pinMode(…, OUTPUT) هذه الأطراف كمخارج. يبدل المثال الأساسي المخارج باستخدام digitalWrite() وينتظر باستخدام delay(). أما المثال المتقدم فيمرر حالات المصابيح الثلاثة إلى setLights() التي تكتب كل حالة إلى طرف LED الموافق.
هذا تسلسل تجريبي للتوضيح، وليس وحدة تحكم لإشارة مرور حقيقية.









