// Definisikan pin yang digunakan
#define dataPin 12
#define clockPin 10
#define latchPin 11
void setup() {
// Atur pin sebagai output
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
void loop() {
// Tampilkan angka 0 sampai 9 secara bergantian
for (int i = 0; i <= 9; i++) {
displayNumber(i);
delay(1000); // Delay satu detik
}
}
void displayNumber(int number) {
byte segments = 0;
// Set bit pada variabel segments sesuai dengan digit yang ingin ditampilkan
switch (number) {
case 0:
segments = B00111111;
break;
case 1:
segments = B00000110;
break;
case 2:
segments = B01011011;
break;
case 3:
segments = B01001111;
break;
case 4:
segments = B01100110;
break;
case 5:
segments = B01101101;
break;
case 6:
segments = B01111101;
break;
case 7:
segments = B00000111;
break;
case 8:
segments = B01111111;
break;
case 9:
segments = B01101111;
break;
}
// Kirim data ke shift register
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, segments);
digitalWrite(latchPin, HIGH);
}