ocrobot:kit:arduino_star_kit:tutorial012
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
ocrobot:kit:arduino_star_kit:tutorial012 [2017/04/07 10:03] – 外部编辑 127.0.0.1 | ocrobot:kit:arduino_star_kit:tutorial012 [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ======简易乐器====== | ||
+ | <WRAP center round info 100%> | ||
+ | 这个例程展示怎样用一个无源蜂鸣器和5个微动开关,做出来一个简易乐器。 | ||
+ | </ | ||
+ | ATmega328P芯片内部其实有上拉的功能,可以使用ATmega328P内部的上拉功能替代外部上拉。 | ||
+ | | ||
+ | {{: | ||
+ | |||
+ | 上拉电阻 | ||
+ | | ||
+ | |||
+ | 上拉电阻的作用 | ||
+ | | ||
+ | =====搭建电路===== | ||
+ | {{: | ||
+ | =====代码===== | ||
+ | <code cpp> | ||
+ | #define time 50 | ||
+ | void setup() | ||
+ | { | ||
+ | for (int i=2; i<=6; i++) // | ||
+ | { | ||
+ | pinMode(i, | ||
+ | } | ||
+ | } | ||
+ | void loop() | ||
+ | { | ||
+ | //D2 | ||
+ | if(digitalRead(2)==LOW) | ||
+ | { | ||
+ | delay(5); | ||
+ | if(digitalRead(2)==LOW) | ||
+ | { | ||
+ | | ||
+ | | ||
+ | { | ||
+ | delay(1); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | //D3 | ||
+ | if(digitalRead(3)==LOW) | ||
+ | { | ||
+ | delay(5); | ||
+ | | ||
+ | { | ||
+ | | ||
+ | | ||
+ | { | ||
+ | delay(1); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | //D4 | ||
+ | | ||
+ | { | ||
+ | delay(5); | ||
+ | if(digitalRead(4)==LOW) | ||
+ | { | ||
+ | | ||
+ | while(digitalRead(4)==LOW) | ||
+ | { | ||
+ | delay(1); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | //D5 | ||
+ | if(digitalRead(5)==LOW) | ||
+ | |||
+ | { | ||
+ | | ||
+ | if(digitalRead(5)==LOW) | ||
+ | { | ||
+ | tone(7, | ||
+ | | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | //D6 | ||
+ | if(digitalRead(6)==LOW) | ||
+ | |||
+ | { | ||
+ | delay(5); | ||
+ | if(digitalRead(6)==LOW) | ||
+ | { | ||
+ | | ||
+ | | ||
+ | { | ||
+ | delay(1); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 简洁版 | ||
+ | <code cpp> | ||
+ | #define time 50 | ||
+ | int button[6]={6, | ||
+ | int freq[6]={523, | ||
+ | int buzzer=7; | ||
+ | void setup() { | ||
+ | for(int i=1; | ||
+ | pinMode(button[i-1], | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | for(int i=1; i<6; i++){ | ||
+ | if(digitalRead(button[i-1])==LOW){ | ||
+ | delay(5); | ||
+ | while(digitalRead(button[i-1])==LOW){ | ||
+ | tone(buzzer, | ||
+ | delay(1); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | {{youku> | ||
+ | [[ocrobot: |
ocrobot/kit/arduino_star_kit/tutorial012.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1