// Pins untuk mengontrol seven segment
const int segA = 2;
const int segB = 3;
const int segC = 4;
const int segD = 5;
const int segE = 6;
const int segF = 7;
const int segG = 8;
const int segdp = 9;
void setup() {
// Mengatur pin sebagai output
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
pinMode(segdp, OUTPUT);
}
void loop() {
// Menampilkan angka 0 sampai 9
displayNumber(0);
delay(1000);
displayNumber(1);
delay(1000);
displayNumber(2);
delay(1000);
displayNumber(3);
delay(1000);
displayNumber(4);
delay(1000);
displayNumber(5);
delay(1000);
displayNumber(6);
delay(1000);
displayNumber(7);
delay(1000);
displayNumber(8);
delay(1000);
displayNumber(9);
delay(1000);
}
// Fungsi untuk menampilkan angka pada seven segment
void displayNumber(int num) {
switch (num) {
case 0:
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, HIGH);
digitalWrite(segdp,LOW);
break;
case 1:
digitalWrite(segA, HIGH);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segdp,LOW);
break;
case 2:
digitalWrite(segA, 0);
digitalWrite(segB, 0);
digitalWrite(segC, 1);
digitalWrite(segD, 0);
digitalWrite(segE, 0);
digitalWrite(segF, 1);
digitalWrite(segG, 0);
digitalWrite(segdp,0);
break;
case 3:
digitalWrite(segA, 0);
digitalWrite(segB, 0);
digitalWrite(segC, 0);
digitalWrite(segD, 0);
digitalWrite(segE, 1);
digitalWrite(segF, 1);
digitalWrite(segG, 0);
digitalWrite(segdp,0);
break;
case 4:
digitalWrite(segA, 1);
digitalWrite(segB, 0);
digitalWrite(segC, 0);
digitalWrite(segD, 1);
digitalWrite(segE, 1);
digitalWrite(segF, 0);
digitalWrite(segG, 0);
digitalWrite(segdp,0);
break;
case 5:
digitalWrite(segA, 0);
digitalWrite(segB, 1);
digitalWrite(segC, 0);
digitalWrite(segD, 0);
digitalWrite(segE, 1);
digitalWrite(segF, 0);
digitalWrite(segG, 0);
digitalWrite(segdp,0);
break;
case 6:
digitalWrite(segA, LOW);
digitalWrite(segB, HIGH);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
digitalWrite(segdp,LOW);
break;
case 7:
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segdp,LOW);
break;
case 8:
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
break;
case 9:
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, HIGH);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
digitalWrite(segdp,LOW);
break;
default:
// Jika angka tidak valid, matikan semua segment
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segdp,LOW);
break;
}
}