// مشروع العداد الإلكتروني باستخدام زر الضغط ومجموعة من المصابيح
// إعداد المهندس/ أحمد درويش
int count = 0; // متغير لتتبع عدد الضغطات
void setup() {
pinMode(7, INPUT_PULLUP); // Pull-up إعداد المنفذ 7 كدخل مع مقاومة داخلية
pinMode(2, OUTPUT); // إعداد المنفذ 2 كخرج للمصباح الأول
pinMode(3, OUTPUT); // إعداد المنفذ 3 كخرج للمصباح الثاني
pinMode(4, OUTPUT); // إعداد المنفذ 4 كخرج للمصباح الثالث
pinMode(5, OUTPUT); // إعداد المنفذ 5 كخرج للمصباح الرابع
}
void loop() {
if (digitalRead(7) == LOW) { // (Pull-up عند الضغط بسبب مقاومة LOW يصبح الدخل) التحقق من حالة زر الضغط
count++; // زيادة قيمة العداد
switch (count) { // التحكم بالمصابيح بناءً على قيمة العداد
case 1: digitalWrite(2, HIGH); break; // تشغيل المصباح الأول
case 2: digitalWrite(3, HIGH); break; // تشغيل المصباح الثاني
case 3: digitalWrite(4, HIGH); break; // تشغيل المصباح الثالث
case 4: digitalWrite(5, HIGH); break; // تشغيل المصباح الرابع
default: // عند تجاوز العدد 4 يتم إطفاء جميع المصابيح وإعادة العداد للصفر
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
count = 0;
break;
}
delay(200); // (debouncing) تأخير 200 مللي ثانية لتجنب التكرار السريع عند الضغط على الزر
}
}