const int A = 7;
const int B = 6;
const int C = 12;
const int D = 11;
const int E = 10;
const int F = 9;
const int G = 8;
const int speaker = 13;
const int freqShift = 5;
const int freqA = 440; //for A
const int freqB = 493; //for B
const int freqC = 261; //for C
const int freqD = 294; //for D
const int freqE = 329; //for E
const int freqF = 349; //for F
const int freqG = 392; //for G
int currentOctave = 0;
float multiplier;
void
setup()
{
pinMode(freqShift, INPUT);
digitalWrite(freqShift, HIGH);
pinMode(A, INPUT);
digitalWrite(A,HIGH);
pinMode(B, INPUT);
digitalWrite(B,HIGH);
pinMode(C, INPUT);
digitalWrite(C,HIGH);
pinMode(D, INPUT);
digitalWrite(D,HIGH);
pinMode(E, INPUT);
digitalWrite(E,HIGH);
pinMode(F, INPUT);
digitalWrite(F,HIGH);
pinMode(G, INPUT);
digitalWrite(G,HIGH);
}
void loop()
{
if (digitalRead(freqShift) == LOW) {
currentOctave++;
if (currentOctave > 4){
currentOctave = -3;
}
}
multiplier = pow(2, currentOctave);
if(digitalRead(A) == LOW)
{
tone(speaker, freqA * multiplier);
delay(500);
noTone(speaker);
}
if(digitalRead(B) == LOW)
{
tone(speaker, freqB * multiplier);
delay(500);
noTone(speaker);
}
if(digitalRead(C) == LOW)
{
tone(speaker, freqC * multiplier);
delay(500);
noTone(speaker);
}
if(digitalRead(D) == LOW)
{
tone(speaker, freqD * multiplier);
delay(500);
noTone(speaker);
}
while(digitalRead(E) == LOW)
{
tone(speaker, freqE * multiplier);
delay(500);
noTone(speaker);
}
while(digitalRead(F) == LOW)
{
tone(speaker, freqF * multiplier);
delay(500);
noTone(speaker);
}
while(digitalRead(G) == LOW)
{
tone(speaker, freqG * multiplier);
delay(500);
noTone(speaker);
}
}