#define SW1 16
#define SW2 4
#define A 17
#define B 5
#define C 18
#define D 19
#define E 21
#define F 23
#define G 22
boolean toggle = true;
void setup() {
pinMode(SW1, INPUT_PULLUP);
pinMode(SW2, INPUT_PULLUP);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
}
void loop() {
if(digitalRead(SW1)==HIGH && digitalRead(SW2)==HIGH && toggle==true){
ThreeTime(1000);
delay(2000);
SixTime(500);
delay(2000);
}
if(digitalRead(SW1)==HIGH && digitalRead(SW2)==LOW&& toggle==true){
ThreeTime(1000);
delay(2000);
SixTime(500);
delay(2000);
}
if(digitalRead(SW1)==LOW && digitalRead(SW2)==HIGH&& toggle==true){
ThreeTime(1000);
delay(2000);
SixTime(500);
delay(2000);
}
if(digitalRead(SW1)==LOW && digitalRead(SW2)==LOW&& toggle==true){
ThreeTime(1000);
delay(2000);
SixTime(500);
delay(2000);
}
toggle=!toggle;
}
void ThreeTime(int time){
if(digitalRead(SW1)==HIGH && digitalRead(SW2)==HIGH){
for(int i = 0;i<3;i++){
three();
delay(time);
no_blink();
delay(time);
}
}
if(digitalRead(SW1)==HIGH && digitalRead(SW2)==LOW){
for(int i = 0;i<3;i++){
two();
delay(time);
no_blink();
delay(time);
}
}
if(digitalRead(SW1)==LOW && digitalRead(SW2)==HIGH){
for(int i = 0;i<3;i++){
one();
delay(time);
no_blink();
delay(time);
}
}
if(digitalRead(SW1)==LOW && digitalRead(SW2)==LOW){
for(int i = 0;i<3;i++){
zero();
delay(time);
no_blink();
delay(time);
}
}
}
void SixTime(int time){
if(digitalRead(SW1)==HIGH && digitalRead(SW2)==HIGH){
for(int i=0;i<6;i++){
three();
delay(time);
no_blink();
delay(time);
}
}
if(digitalRead(SW1)==HIGH && digitalRead(SW2)==LOW){
for(int i=0;i<6;i++){
two();
delay(time);
no_blink();
delay(time);
}
}
if(digitalRead(SW1)==LOW && digitalRead(SW2)==HIGH){
for(int i=0;i<6;i++){
one();
delay(time);
no_blink();
delay(time);
}
}
if(digitalRead(SW1)==LOW && digitalRead(SW2)==LOW){
for(int i=0;i<6;i++){
zero();
delay(time);
no_blink();
delay(time);
}
}
}
void no_blink(){
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void zero(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
}
void one(){
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void two(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
}
void three(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
}