// تعريف دبابيس 7-segment
const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};
// مصفوفة لتشفير الأرقام من 0 إلى 9
const byte segmentCodes[10] = {
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00000111, // 7
0b01111111, // 8
0b01101111 // 9
};
void setup() {
// إعداد دبابيس العرض كمدخلات
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
// العد من 0 إلى 9
for (int count = 0; count <= 9; count++) {
displayDigit(count);
delay(1000); // الانتظار لمدة ثانية
}
// العد من 9 إلى 0
for (int count = 9; count >= 0; count--) {
displayDigit(count);
delay(1000); // الانتظار لمدة ثانية
}
}
// دالة لعرض الرقم على 7-segment
void displayDigit(int digit) {
byte segments = segmentCodes[digit];
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], (segments >> i) & 0x01);
}
}