#define seg_a 16
#define seg_b 17
#define seg_c 18
#define seg_d 19
#define seg_e 21
#define seg_f 22
#define seg_g 23
#define up_button 14
#define down_button 12
int up_state , down_state , level;
void setup() {
Serial.begin(9600);
pinMode(up_button , INPUT) ;
pinMode(down_button , INPUT_PULLUP) ;
for(int i=16 ; i <= 23 ; i++) {
pinMode(i , OUTPUT) ;
}
}
void loop() {
up_state = digitalRead(up_button) ;
down_state = ! digitalRead(down_button) ;
//Serial.println("up button state :"+String(up_state)+" Down button state :"+String(down_state));
if(up_state == HIGH && level < 9){
level = level + 1 ;
delay(1000) ;
}
if(down_state == HIGH && level > 0 ){
level = level - 1 ;
delay(1000) ;
}
Serial.println("Level : "+String(level)) ;
switch (level){
case 0 : zero() ; break ;
case 1 : one() ; break ;
case 2 : two() ; break ;
case 3 : three() ; break ;
}
// if(level == 0){
// zero() ;
// }
// if(level == 1){
// one() ;
// }
// if(level == 2){
// two() ;
// }
// if(level == 3){
// three() ;
// }
delay(30) ;
}
void zero()
{
clean() ;
for(int i=16 ; i <= 22 ; i++) {
digitalWrite(i , HIGH);
}
}
void one(){
clean() ;
digitalWrite(seg_b , HIGH);
digitalWrite(seg_c , HIGH);
}
void two(){
clean() ;
for(int i=16 ; i <= 23 ; i++) {
if(i== 18|| i==22 ){
continue ;
}
digitalWrite(i , HIGH);
}
}
void three(){
clean() ;
for(int i=16 ; i <= 23 ; i++) {
if(i== 21|| i==22 ){
continue ;
}
digitalWrite(i , HIGH);
}
}
void clean(){
for(int i=16 ; i <= 23 ; i++) {
digitalWrite(i , LOW) ;
}
}