#define LED1 9
#define LED2 10
#define LED3 11
#define PB_UP 12
#define PB_DOWN 13
//7 Segments
#define SEGMENT_A 2
#define SEGMENT_B 3
#define SEGMENT_C 4
#define SEGMENT_D 5
#define SEGMENT_E 6
#define SEGMENT_F 7
#define SEGMENT_G 8
int value = 0;
void setup() {
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(SEGMENT_A, OUTPUT);
pinMode(SEGMENT_B, OUTPUT);
pinMode(SEGMENT_C, OUTPUT);
pinMode(SEGMENT_D, OUTPUT);
pinMode(SEGMENT_E, OUTPUT);
pinMode(SEGMENT_F, OUTPUT);
pinMode(SEGMENT_G, OUTPUT);
pinMode(PB_UP, INPUT);
pinMode(PB_DOWN, INPUT);
}
void loop() {
if (digitalRead(PB_UP) == 1 && value < 9) {
delay(300);
value += 1;
}
if (digitalRead(PB_DOWN) == 1 && value > 0) {
delay(300);
value -= 1;
}
displayDIGIT(value);
}
void displayDIGIT(int angka){
if (angka == 0){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 0);
digitalWrite(SEGMENT_F, 0);
digitalWrite(SEGMENT_G, 1);
}
if (angka == 1){
digitalWrite(SEGMENT_A, 1);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 1);
digitalWrite(SEGMENT_E, 1);
digitalWrite(SEGMENT_F, 1);
digitalWrite(SEGMENT_G, 1);
}
if (angka == 2){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 1);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 0);
digitalWrite(SEGMENT_F, 1);
digitalWrite(SEGMENT_G, 0);
}
if (angka == 3){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 1);
digitalWrite(SEGMENT_F, 1);
digitalWrite(SEGMENT_G, 0);
}
if (angka == 4){
digitalWrite(SEGMENT_A, 1);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 1);
digitalWrite(SEGMENT_E, 1);
digitalWrite(SEGMENT_F, 0);
digitalWrite(SEGMENT_G, 0);
}
if (angka == 5){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 1);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 1);
digitalWrite(SEGMENT_F, 0);
digitalWrite(SEGMENT_G, 0);
}
if (angka == 6){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 1);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 0);
digitalWrite(SEGMENT_F, 0);
digitalWrite(SEGMENT_G, 0);
}
if (angka == 7){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 1);
digitalWrite(SEGMENT_E, 1);
digitalWrite(SEGMENT_F, 1);
digitalWrite(SEGMENT_G, 1);
}
if (angka == 8){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 0);
digitalWrite(SEGMENT_F, 0);
digitalWrite(SEGMENT_G, 0);
}
if (angka == 9){
digitalWrite(SEGMENT_A, 0);
digitalWrite(SEGMENT_B, 0);
digitalWrite(SEGMENT_C, 0);
digitalWrite(SEGMENT_D, 0);
digitalWrite(SEGMENT_E, 1);
digitalWrite(SEGMENT_F, 0);
digitalWrite(SEGMENT_G, 0);
}
}