#define a 2 //segment ‘a’ di pin digital 2
#define b 3
#define c 4
#define d 5
#define e 6
#define f 7
#define g 8
#define dig1 9
#define dig2 10
#define dig3 11
#define dig4 12
int nilai;
int ribuan, ratusan, puluhan, satuan;
void setup() {
Serial.begin(9600);
pinMode (a, OUTPUT);
pinMode (b, OUTPUT);
pinMode (c, OUTPUT);
pinMode (d, OUTPUT);
pinMode (e, OUTPUT);
pinMode (f, OUTPUT);
pinMode (g, OUTPUT);
pinMode (dig1, OUTPUT);
pinMode (dig2, OUTPUT);
pinMode (dig3, OUTPUT);
pinMode (dig4, OUTPUT);
}
void tampil (int angka) {
// menampilkan angka 0
if (angka == 0) {
digitalWrite (a, 0); // karena seven segment common anode maka aktif LOW
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 0);
digitalWrite (e, 0);
digitalWrite (f, 0);
digitalWrite (g, 1);
}
// menampilkan angka 1
if (angka == 1) {
digitalWrite (a, 1);
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 1);
digitalWrite (e, 1);
digitalWrite (f, 1);
digitalWrite (g, 1);
}
// menampilkan angka 2
if (angka == 2) {
digitalWrite (a, 0);
digitalWrite (b, 0);
digitalWrite (c, 1);
digitalWrite (d, 0);
digitalWrite (e, 0);
digitalWrite (f, 1);
digitalWrite (g, 0);
}
// menampilkan angka 3
if (angka == 3) {
digitalWrite (a, 0);
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 0);
digitalWrite (e, 1);
digitalWrite (f, 1);
digitalWrite (g, 0);
}
// menampilkan angka 4
if (angka == 4) {
digitalWrite (a, 1);
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 1);
digitalWrite (e, 1);
digitalWrite (f, 0);
digitalWrite (g, 0);
}
// menampilkan angka 5
if (angka == 5) {
digitalWrite (a, 0);
digitalWrite (b, 1);
digitalWrite (c, 0);
digitalWrite (d, 0);
digitalWrite (e, 1);
digitalWrite (f, 0);
digitalWrite (g, 0);
}
// menampilkan angka 6
if (angka == 6) {
digitalWrite (a, 0);
digitalWrite (b, 1);
digitalWrite (c, 0);
digitalWrite (d, 0);
digitalWrite (e, 0);
digitalWrite (f, 0);
digitalWrite (g, 0);
}
// menampilkan angka 7
if (angka == 7) {
digitalWrite (a, 0);
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 1);
digitalWrite (e, 1);
digitalWrite (f, 1);
digitalWrite (g, 1);
}
// menampilkan angka 8
if (angka == 8) {
digitalWrite (a, 0);
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 0);
digitalWrite (e, 0);
digitalWrite (f, 0);
digitalWrite (g, 0);
}
// menampilkan angka 9
if (angka == 9) {
digitalWrite (a, 0);
digitalWrite (b, 0);
digitalWrite (c, 0);
digitalWrite (d, 0);
digitalWrite (e, 1);
digitalWrite (f, 0);
digitalWrite (g, 0);
}
}
void disMati (void) {
digitalWrite(dig1, LOW);
digitalWrite(dig2, LOW);
digitalWrite(dig3, LOW);
digitalWrite(dig4, LOW);
}
void loop() {
nilai = 2396;
ribuan = (nilai/1000)%10;
ratusan = (nilai/100)%10;
puluhan = (nilai/10)%10;
satuan = nilai%10;
tampil(ribuan);
digitalWrite(dig1, HIGH);
digitalWrite(dig2, LOW);
digitalWrite(dig3, LOW);
digitalWrite(dig4, LOW);
delay(5);
disMati();
tampil(ratusan);
digitalWrite(dig1, LOW);
digitalWrite(dig2, HIGH);
digitalWrite(dig3, LOW);
digitalWrite(dig4, LOW);
delay(5);
disMati();
tampil(puluhan);
digitalWrite(dig1, LOW);
digitalWrite(dig2, LOW);
digitalWrite(dig3, HIGH);
digitalWrite(dig4, LOW);
delay(5);
disMati();
tampil(satuan);
digitalWrite(dig1, LOW);
digitalWrite(dig2, LOW);
digitalWrite(dig3, LOW);
digitalWrite(dig4, HIGH);
delay(5);
disMati();
}