int dataPin = 23;
int clockPin = 18;
int latchPin = 5;
int digitPin[4] = {14,27,26,25};
byte seg[10] = {
0x3F,0x06,0x5B,0x4F,
0x66,0x6D,0x7D,0x07,
0x7F,0x6F
};
void sendData(byte data) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);
}
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
for(int i=0;i<4;i++){
pinMode(digitPin[i], OUTPUT);
digitalWrite(digitPin[i], LOW);
}
}
void loop() {
int angka[4] = {1,2,3,4};
for(int i=0;i<4;i++){
// matikan semua digit
for(int j=0;j<4;j++){
digitalWrite(digitPin[j], LOW);
}
sendData(seg[angka[i]]);
digitalWrite(digitPin[i], HIGH);
delay(2);
}
}