#include "pitch.h"
#define SPEAKER_PIN 6
const uint8_t buttonPins[] = { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39};
const int buttonTones[] = {
NOTE_C3, NOTE_D3, NOTE_E3, NOTE_F3, NOTE_G3,
NOTE_A3, NOTE_B3, NOTE_C4, NOTE_D4, NOTE_E4,
NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5,
NOTE_D5, NOTE_E5, NOTE_F5
};
const int numTones = sizeof(buttonPins) / sizeof(buttonPins[0]);
void setup() {
for (uint8_t i = 0; i < numTones; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
pinMode(SPEAKER_PIN, OUTPUT);
}
void loop() {
int pitch = 0;
for (uint8_t i = 0; i < numTones; i++) {
if (digitalRead(buttonPins[i]) == LOW) {
pitch = buttonTones[i];
}
}
if (pitch) {
tone(SPEAKER_PIN, pitch);
} else {
noTone(SPEAKER_PIN);
}
}