// create an array of notes
// the numbers below correspond to the frequencies of middle C, D, E, F, G and A
int notes[] = {262, 294, 330, 349, 392, 440};
void setup() {
//start serial communication
Serial.begin(9600);
}
void loop() {
// create a local variable to hold the input on pin A0
int keyVal = analogRead(A0);
// send the value from A0 to the Serial Monitor
Serial.println(keyVal);
// play the note corresponding to each value on A0 (0 Ohm)
if (keyVal == 1023) {
// play the first frequency in the array on pin 8
tone(8, notes[0]);
} else if (keyVal >= 970 && keyVal <= 1010) {
// play the second frequency in the array on pin 8 (220 Ohm)
tone(8, notes[1]);
} else if (keyVal >= 900 && keyVal <= 920) {
// play the third frequency in the array on pin 8 (560 Ohm)
tone(8, notes[2]);
} else if (keyVal >= 840 && keyVal <= 850) {
// play the fourth frequency in the array on pin 8 (1 kOhm)
tone(8, notes[3]);
} else if (keyVal >= 500 && keyVal <= 520) {
// play the fourth frequency in the array on pin 8 (4.7 kOhm)
tone(8, notes[4]);
} else if (keyVal >= 300 && keyVal <= 350) {
// play the fourth frequency in the array on pin 8 (10 kOhm)
tone(8, notes[5]);
} else {
// if the value is out of range, play no tone
noTone(8);
}
}
Comments
Please log in or sign up to comment.