// تعريف أرجل الـ 7-segment (a, b, c, d, e, f, g)
int segA = 8;
int segB = 6;
int segC = 4;
int segD = 3;
int segE = 2;
int segF = 9;
int segG = 10;
void setup() {
// ضبط جميع الأرجل كمخرجات
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
}
// دالة لعرض الأرقام بناءً على إضاءة الأجزاء
void displayNumber(int num) {
// إعداد جميع الأرجل على LOW لإطفاء الأجزاء
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
switch (num) {
case 1:
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
break;
case 2:
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segG, HIGH);
break;
case 3:
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segG, HIGH);
break;
case 4:
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 5:
digitalWrite(segA, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 6:
digitalWrite(segA, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 7:
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
break;
case 8:
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 9:
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
}
}
void loop() {
// عرض الأرقام من 1 إلى 9
for (int i = 1; i <= 9; i++) {
displayNumber(i);
delay(1000); // انتظار لمدة ثانية بين الأرقام
}
// عرض الأرقام من 9 إلى 1
for (int i = 9; i >= 1; i--) {
displayNumber(i);
delay(1000); // انتظار لمدة ثانية بين الأرقام
}
}