const int speaker = 13; // 喇叭輸出腳位
const int sw[8] = {4, 5, 6, 7, 8, 9, 10, 11}; // 按鈕腳位
const int frequency[8] = {523, 587, 659, 694, 784, 880, 988, 1046}; // 音階頻率
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(sw[i], INPUT_PULLUP); // 啟用內建上拉電阻
}
}
void loop() {
bool isPressed = false;
for (int i = 0; i < 8; i++) {
if (digitalRead(sw[i]) == LOW) { // 按鈕被按下(LOW)
tone(speaker, frequency[i]); // 播放對應音階
isPressed = true;
break; // 只播放一個音階
}
}
if (!isPressed) {
noTone(speaker); // 沒有按任何鍵就停止聲音
}
}
留言
張貼留言