// Shift register pinleri tanımlanıyor
#define DATA_PIN 8 // DS pini
#define LATCH_PIN 9 // STCP pini
#define CLOCK_PIN 10 // SHCP pini
// Katot tipi 7 segment display için segmentlerin aktif edilmesi
// Bu dizide "LOW" olanlar segmenti yakar
byte digitMap[] = {
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00000111, // 7
0b01111111, // 8
0b01101111 // 9
};
void setup() {
pinMode(DATA_PIN, OUTPUT);
pinMode(LATCH_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
}
void loop() {
// 0'dan 9'a kadar sayıları göstermek
for (int i = 0; i < 10; i++) {
// İlk display için veri gönder
digitalWrite(LATCH_PIN, LOW);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, digitMap[i]); // İlk rakam
digitalWrite(LATCH_PIN, HIGH);
// 2. display'e veri gönder
digitalWrite(LATCH_PIN, LOW);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, digitMap[i]); // Aynı rakamı 2. display'e gönder
digitalWrite(LATCH_PIN, HIGH);
// 1 saniye bekle
delay(1000);
}
}