const int digitPins[] = {9, 8, 7, 6}; // Bağlı olduğu pinler
const int segmentPins[] = {2, 3, 4, 5, 10, 11, 12, 13}; // A, B, C, D, E, F, G, DP
// 0-9 arasındaki sayıları temsil eden seven segment değerleri
const byte digitValues[] = {
B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B10111110, // 6
B11100000, // 7
B11111110, // 8
B11110110 // 9
};
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT);
digitalWrite(digitPins[i], HIGH); // Başlangıçta yüksek seviyeye çek
}
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
digitalWrite(segmentPins[i], LOW); // Başlangıçta düşük seviyeye çek
}
}
void loop() {
for (int digit = 0; digit < 4; digit++) {
selectDigit(digit);
for (int number = 0; number <= 9; number++) {
displayDigit(number);
delay(1000); // Her basamak için yarım saniye bekleyin
}
}
}
void selectDigit(int digit) {
for (int i = 0; i < 4; i++) {
digitalWrite(digitPins[i], i == digit ? LOW : HIGH);
}
}
void displayDigit(int digit) {
byte value = digitValues[digit];
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], bitRead(value, i));
}
}