NOWSEE00 NOWSEE00
关注数: 65 粉丝数: 37 发帖数: 2,296 关注贴吧数: 47
求助!求教开关控制蜂鸣器播放音乐的问题 大是想做一个,能按键控制蜂鸣器发出音乐 可是按键按下后 必须唱完那首歌才停止,不能实现再按一次,就能随时让他停 研究了半天,我的菜鸟水平知识量真的是做不到TTTTTATTTTT。老师教了按键控制的代码,但蜂鸣器的音乐不能用 buzzer=HIGH 这样控制TAT,不知道怎样放到if的条件里………… 跪求大佬的帮助!!!(重点部分已加粗) 因为是个设计作业,但水平有限,实际还想做到音游节奏大师的效果,就……能if触摸板+音节同时实现就success…………如果有大佬能指导,可有偿TAAAAAAAT!!!! 现在找到的代码是根据网上大神的蜂鸣器播放教程稍微修改的(如下) #define NTD0 -1 #define NTD1 294 #define NTD2 330 #define NTD3 350 #define NTD4 393 #define NTD5 441 #define NTD6 495 #define NTD7 556 #define NTDL1 147 #define NTDL2 165 #define NTDL3 175 #define NTDL4 196 #define NTDL5 221 #define NTDL6 248 #define NTDL7 278 #define NTDH1 589 #define NTDH2 661 #define NTDH3 700 #define NTDH4 786 #define NTDH5 882 #define NTDH6 990 #define NTDH7 112 //c pinlv #define WHOLE 1 #define HALF 0.5 #define QUARTER 0.25 #define EIGHTH 0.25 #define SIXTEENTH 0.625 int tune[]= { NTD3,NTD3,NTD4,NTD5, NTD5,NTD4,NTD3,NTD2, NTD1,NTD1,NTD2,NTD3, NTD3,NTD2,NTD2, NTD3,NTD3,NTD4,NTD5, NTD5,NTD4,NTD3,NTD2, NTD1,NTD1,NTD2,NTD3, NTD2,NTD1,NTD1, NTD2,NTD2,NTD3,NTD1, NTD2,NTD3,NTD4,NTD3,NTD1, NTD2,NTD3,NTD4,NTD3,NTD2, NTD1,NTD2,NTDL5,NTD0, NTD3,NTD3,NTD4,NTD5, NTD5,NTD4,NTD3,NTD4,NTD2, NTD1,NTD1,NTD2,NTD3, NTD2,NTD1,NTD1 }; float durt[]= { 1,1,1,1, 1,1,1,1, 1,1,1,1, 1+0.5,0.5,1+1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1+0.5,0.5,1+1, 1,1,1,1, 1,0.5,0.5,1,1, 1,0.5,0.5,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,0.5,0.5, 1,1,1,1, 1+0.5,0.5,1+1, }; int length; int buzzer=7; int button=6; int led=3; void setup() { pinMode(buzzer,OUTPUT); pinMode(led,OUTPUT); length=sizeof(tune)/sizeof(tune[0]); } void loop() int buttonState=digitalRead(button); if (buttonState == HIGH) { { for(int x=0;x<length;x++) { tone(buzzer,tune[x]); delay(400*durt[x]); noTone(buzzer); } delay(2000); }
1 下一页