/* Nama Program : Seven Segment 0-9 dengan 74HC595 */
int dataPin = 2; // DS
int latchPin = 3; // ST_CP
int clockPin = 4; // SH_CP
// Pola angka 0-9 untuk seven segment common cathode
byte angka_cathoda[10] = {
B00111111, // 0
B00000110, // 1
B01011011, // 2
B01001111, // 3
B01100110, // 4
B01101101, // 5
B01111101, // 6
B00000111, // 7
B01111111, // 8
B01101111 // 9
};
// Pola angka 0–9 untuk seven segment common anode
byte angka_anoda[10] = {
B11000000, // 0
B11111001, // 1
B10100100, // 2
B10110000, // 3
B10011001, // 4
B10010010, // 5
B10000010, // 6
B11111000, // 7
B10000000, // 8
B10010000 // 9
};
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 10; i++) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, angka_anoda[i]);
digitalWrite(latchPin, HIGH);
delay(1000); // tampil tiap 1 detik
}
}