const int switchpin[4] = {14, 15, 16, 17};
const int seg7pin[8] = {2, 3, 4, 5, 6, 7, 8, 9};
const int Buzzpin = 10;
const byte digit[16] = {0x3F, 0x06, 0x5B, 0x4F,0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
void setup() {
for (int i = 0; i < 8; i++) {pinMode(seg7pin[i], OUTPUT); }
for (int i = 0; i < 4; i++) {pinMode(switchpin[i], INPUT);}
pinMode(Buzzpin, OUTPUT);
}
void loop() {
int z = readSwitchValue();
showOn7Segment(z);
playNoteForValue(z);
delay(100);
}
int readSwitchValue() {
int result = 0;
for (int i = 0; i < 4; i++) {int bit = digitalRead(switchpin[i]);
result |= (bit << i);
}
return result;
}
void showOn7Segment(int s) {
byte pattern = digit[s & 0x0F];
for (int i = 0; i < 8; i++) {
bool bitState = !(pattern & (1 << i));
digitalWrite(seg7pin[i], bitState);
}
}
void playNoteForValue(int z) {
int frequency = 0;
switch (z) {
case 1:
tone( Buzzpin,659,150);
delay(150);
tone( Buzzpin,659,150);
delay(150);
tone( Buzzpin,659,150);
delay(150);
tone( Buzzpin,523,150);
delay(150);
tone( Buzzpin,659,150);
delay(150);
tone( Buzzpin,784,150);
delay(150);
tone( Buzzpin,392,150);
delay(150);
break;
case 2:
tone(Buzzpin, 330, 600);
delay(550);
tone(Buzzpin, 392, 600);
delay(550);
tone(Buzzpin, 440, 600);
delay(550);
tone(Buzzpin, 392, 600);
delay(300);
tone(Buzzpin, 392, 600);
delay(550);
tone(Buzzpin, 392, 600);
delay(900);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 550);
delay(550);
tone(Buzzpin, 392, 600);
delay(550);
tone(Buzzpin, 392, 600);
delay(550);
tone(Buzzpin, 392, 600);
delay(550);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 300);
delay(300);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(1200);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 300);
delay(300);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 294, 600);
delay(1200);
tone(Buzzpin, 262, 300);
delay(1200);
tone(Buzzpin, 294, 300);
delay(300);
tone(Buzzpin, 294, 300);
delay(300);
tone(Buzzpin, 294, 300);
delay(300);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 262, 600);
delay(600);
tone(Buzzpin, 440, 300);
delay(600);
tone(Buzzpin, 440, 600);
delay(1200);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 294, 300);
delay(300);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(1200);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(1200);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 300);
delay(300);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(1200);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 440, 300);
delay(300);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 330, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(900);
tone(Buzzpin, 330, 600);
delay(900);
tone(Buzzpin, 294, 600);
delay(900);
tone(Buzzpin, 262, 600);
delay(1200);
tone(Buzzpin, 294, 900);
delay(900);
tone(Buzzpin, 294, 900);
delay(900);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 262, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 440, 600);
delay(1200);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 600);
delay(600);
tone(Buzzpin, 392, 300);
delay(300);
tone(Buzzpin, 440, 600);
delay(600);
tone(Buzzpin, 330, 300);
delay(300);
tone(Buzzpin, 294, 600);
delay(600);
tone(Buzzpin, 262, 600);
delay(1200);
break;
case 3:
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,494,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,600);
delay(600);
tone( Buzzpin,330,600);
delay(900);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,494,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,600);
delay(600);
tone( Buzzpin,330,600);
delay(1200);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,440,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,440,600);
delay(900);
tone( Buzzpin,392,300);
delay(600);
tone( Buzzpin,262,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,600);
delay(600);
tone( Buzzpin,294,600);
delay(1200);
tone( Buzzpin,262,600);
delay(600);
tone( Buzzpin,294,600);
delay(900);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,494,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,600);
delay(600);
tone( Buzzpin,330,600);
delay(900);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,494,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,600);
delay(600);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,494,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,440,600);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,294,600);
delay(600);
tone( Buzzpin,330,600);
delay(900);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,440,300);
delay(300);
tone( Buzzpin,392,300);
delay(600);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,440,300);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,330,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,294,300);
delay(300);
tone( Buzzpin,262,600);
delay(600);
tone( Buzzpin,262,600);
delay(900);
break;
case 4:
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,659,300);
delay(300);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,392,600);
delay(300);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,440,300);
delay(600);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,587,600);
delay(900);
tone( Buzzpin,659,300);
delay(600);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(30);
tone( Buzzpin,659,300);
delay(300);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,392,600);
delay(300);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,440,300);
delay(600);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,659,600);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,300);
delay(150);
tone( Buzzpin,587,300);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,659,300);
delay(300);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,392,600);
delay(300);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,440,300);
delay(600);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,659,300);
delay(600);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,523,300);
delay(600);
tone( Buzzpin,440,300);
delay(300);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,523,300);
delay(600);
tone( Buzzpin,440,300);
delay(300);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,523,600);
delay(600);
break;
case 5:
tone( Buzzpin,440,600);
delay(600);
tone( Buzzpin,494,600);
delay(600);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,523,300);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,587,300);
delay(600);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,440,600);
delay(600);
tone( Buzzpin,440,600);
delay(600);
tone( Buzzpin,440,600);
delay(600);
tone( Buzzpin,440,300);
delay(150);
tone( Buzzpin,440,300);
delay(150);
tone( Buzzpin,494,300);
delay(300);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,523,300);
delay(600);
tone( Buzzpin,440,600);
delay(600);
tone( Buzzpin,494,600);
delay(600);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,523,300);
delay(600);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,659,600);
delay(300);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,587,300);
delay(900);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,659,600);
delay(300);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,659,300);
delay(300);
tone( Buzzpin,698,600);
delay(300);
tone( Buzzpin,659,300);
delay(300);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,523,600);
delay(300);
tone( Buzzpin,587,600);
delay(300);
tone( Buzzpin,523,300);
delay(900);
tone( Buzzpin,784,300);
delay(150);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,659,600);
delay(300);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,587,600);
delay(600);
tone( Buzzpin,587,300);
delay(300);
tone( Buzzpin,587,300);
delay(600);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,523,300);
delay(300);
tone( Buzzpin,784,600);
delay(600);
tone( Buzzpin,784,300);
delay(300);
tone( Buzzpin,659,600);
delay(300);
tone( Buzzpin,659,600);
delay(600);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,523,300);
delay(150);
tone( Buzzpin,523,300);
delay(900);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,523,600);
delay(600);
tone( Buzzpin,494,300);
delay(150);
tone( Buzzpin,392,600);
delay(600);
tone( Buzzpin,392,600);
delay(300);
tone( Buzzpin,392,300);
delay(300);
tone( Buzzpin,392,300);
delay(150);
tone( Buzzpin,392,300);
delay(900);
tone( Buzzpin,349,600);
delay(600);
tone( Buzzpin,349,300);
delay(300);
tone( Buzzpin,349,600);
delay(300);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,349,600);
delay(300);
tone( Buzzpin,330,600);
delay(600);
tone( Buzzpin,349,600);
delay(600);
tone( Buzzpin,349,600);
delay(600);
tone( Buzzpin,330,600);
delay(300);
tone( Buzzpin,262,300);
delay(1200);
break;
default:
break;
}
}