| 資料來源自 github_bengchet #define NOTE_C5 523 | |
| #define NOTE_E5 659 | |
| #define NOTE_G5 784 | |
| #define BUTTON 2 | |
| #define BUZZER 8 | |
| int melody[] = { | |
| NOTE_E5, NOTE_E5, 0, NOTE_E5, 0, NOTE_C5, NOTE_E5, 0, NOTE_G5 | |
| }; | |
| int noteDurations[] = { | |
| 10, 10, 10, 10, 10, 10, 10, 10, 10 | |
| }; | |
| int pin; | |
| int ledArrayHigh; | |
| int ledArrayLow; | |
| boolean mode = false; | |
| boolean buttonPressed = false; | |
| void setup() | |
| { | |
| delay(1000); | |
| pinMode(BUTTON, INPUT_PULLUP); | |
| for (pin = 3; pin < 14; pin++) { | |
| pinMode(pin, OUTPUT); | |
| } | |
| for (int thisNote = 0; thisNote < 9; thisNote++) { | |
| int noteDuration = 1000 / noteDurations[thisNote]; | |
| tone(BUZZER, melody[thisNote], noteDuration); | |
| int pauseBetweenNotes = noteDuration * 1.30; | |
| delay(pauseBetweenNotes); | |
| noTone(BUZZER); | |
| } | |
| } | |
| void loop() | |
| { | |
| for (pin = 0; pin < 5; pin++) { | |
| if (digitalRead(BUTTON) == LOW && | |
| buttonPressed == false) { | |
| buttonPressed = true; | |
| mode = !mode; | |
| pin = 0; | |
| if (mode == false) { | |
| tone(BUZZER, NOTE_C5, 100); | |
| delay(100); | |
| tone(BUZZER, NOTE_G5, 100); | |
| delay(100); | |
| noTone(BUZZER); | |
| } | |
| else if (mode == true) { | |
| tone(BUZZER, NOTE_G5, 100); | |
| delay(100); | |
| tone(BUZZER, NOTE_C5, 100); | |
| delay(100); | |
| noTone(BUZZER); | |
| } | |
| } | |
| if (mode == false) { | |
| ledArrayHigh = 13 - pin; | |
| ledArrayLow = 7 - pin; | |
| } | |
| else if (mode == true) { | |
| ledArrayHigh = 9 + pin; | |
| ledArrayLow = 3 + pin; | |
| } | |
| digitalWrite(ledArrayHigh, HIGH); | |
| digitalWrite(ledArrayLow, HIGH); | |
| delay(100); | |
| digitalWrite(ledArrayHigh, LOW); | |
| digitalWrite(ledArrayLow, LOW); | |
| if (pin == 4) delay(100); | |
| } | |
| if (buttonPressed == true) { | |
| buttonPressed = false; | |
| } | |
| } |
2019年11月29日 星期五
互動技術week10 maker uno 原本出廠時聲音設定
訂閱:
張貼留言 (Atom)
alanhc 互動技術-week17 [final]
回顧這學期的作品: 期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...
-
先把上次的程式覆蓋 void setup(){ pinMode(8,OUTPUT); pinMode(2,INPUT_PULLUP); } void loop(){ if(digitalRead(2)== LOW ) tone(8,520,...
-
1. 複習按住boutton可以發出聲音 void setup(){ pinMode(8, OUTPUT); pinMode(2, INPUT_PULLUP); } void loop(){ if(digitalRead(2)==LOW) tone(8,...
-
第一張圖是讓使用者的圈圈可以自己移動 但他有個缺點 就是圈圈會跑出視窗外面 於是加上了if 假使中心大於350就會使整個圓跑出去 於是就讓他往回彈 就變成成功的彈彈球 自己製作迷宮 先畫一張自己設計的地圖 並先試看看能不能匯入 並且...
沒有留言:
張貼留言