互動技術
1.按OBUTTON可以發出聲音
程式碼:
void setup() {
// put your setup code here, to run once:
pinMode(8,OUTPUT);
pinMode(2,INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(2)==LOW) tone(8,520,1000);
else noTone(8);
}
2.按一個建發出一個聲音,按下一次會發出不同聲音
程式碼:
int Do=523;
int Re=587;
int Mi=659;
int song[9]={Do,Re,Mi,Do,Do,Re,Mi,Do,Mi};
int now=0;
bool UP=true;//之前是UP嗎?
void setup() {
// put your setup code here, to run once:
pinMode(8,OUTPUT);
pinMode(2,INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
if( UP && digitalRead(2)==LOW ){
tone(8,song[now],200);
UP=false;
now = (now+1)%9;//避免陣列song[now]超過而當掉
}
else{
UP=true;
}
delay(100);
}
3.用單芯線一端接地,一端接2,3,4,5,6,7,9,10可發出不同聲音
程式碼:
int Do=523;
int Re=587;
int Mi=659;
int song[9]={Do,Re,Mi,Do,Do,Re,Mi,Do,Mi};
int now=0;
bool UP=true;//之前是UP嗎?
void setup() {
for (int i=2;i<=13;i++){
pinMode(i,INPUT_PULLUP);
}
pinMode(8,OUTPUT);
}
void loop() {
if(digitalRead(2)==LOW) tone(8,523,200);//Do
if(digitalRead(3)==LOW) tone(8,587,200);//Re
if(digitalRead(4)==LOW) tone(8,659,200);//Mi
if(digitalRead(5)==LOW) tone(8,698,200);//Fa
if(digitalRead(6)==LOW) tone(8,784,200);//Sol
if(digitalRead(7)==LOW) tone(8,880,200);//La
///8要避開,因為它要OUTPUT用Buzzer發聲 tone(8,...
if(digitalRead(9)==LOW) tone(8,988,200);//Si
if(digitalRead(10)==LOW) tone(8,1047,200);//Higer Do
}
訂閱:
張貼留言 (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就會使整個圓跑出去 於是就讓他往回彈 就變成成功的彈彈球 自己製作迷宮 先畫一張自己設計的地圖 並先試看看能不能匯入 並且...
沒有留言:
張貼留言