这是我们今天的作业:用Arduino制作迷你"钢琴"。
我们再来看一下这节课的作业清单:
接下来我们就开始做作业吧!
1.画出一个蜂鸣器,初始化产生一个C4。
void setup(){
pinMode(2, INPUT);
pinMode(13, OUTPUT);
if (digitalRead(2) == 0) {
tone(13,262,1000);
}
}
void loop(){
}
2.让2弹出C4的音调。
void setup(){
pinMode(2, INPUT);
pinMode(13, OUTPUT);
if (digitalRead(2) == 0) {
tone(13,262,1000);
}
}
void loop(){
}
3.让3,4,5分别弹出D4,E4,F4的音乐。
void setup(){
pinMode(3, INPUT);
pinMode(13, OUTPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
if (digitalRead(3) == 0) {
tone(13,294,1000);
} else if (digitalRead(4) == 0) {
tone(13,330,1000);
} else if (digitalRead(5) == 0) {
tone(13,349,1000);
}
}
void loop(){
}
4.画出一个开关的线路连接图。
4(1)画出4个开关的线路连接图。
4(2)画出7个开关的线路连接图。
5.初始化弹奏C4-B4的节奏,时间间隔500毫秒。
void setup(){
pinMode(3, INPUT);
pinMode(13, OUTPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
if (digitalRead(3) == 0) {
tone(13,262,100);
} else if (digitalRead(4) == 0) {
tone(13,294,100);
} else if (digitalRead(5) == 0) {
tone(13,330,100);
} else if (digitalRead(6) == 0) {
tone(13,349,100);
} else if (digitalRead(7) == 0) {
tone(13,392,100);
} else if (digitalRead(8) == 0) {
tone(13,440,100);
} else if (digitalRead(9) == 0) {
tone(13,494,100);
} else if (digitalRead(10) == 0) {
tone(13,532,100);
}
}
void loop(){
}
6.初始化一个曲子,并且尝试用按键控制音律。
方法1:自动控制。(每拍500毫秒)
void setup(){
pinMode(8, OUTPUT);
tone(8,262,1000);
delay(1000);
tone(8,262,500);
delay(1000);
tone(8,220,500);
delay(1000);
tone(8,262,1000);
delay(1000);
tone(8,262,500);
delay(1000);
tone(8,220,500);
delay(1000);
tone(8,262,500);
delay(1000);
tone(8,220,500);
delay(1000);
tone(8,196,500);
delay(1000);
}
void loop(){
}
方法2:手动控制。
void setup(){
pinMode(3, INPUT);
pinMode(13, OUTPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
if (digitalRead(3) == 0) {
tone(13,262,500);
} else if (digitalRead(4) == 0) {
tone(13,294,500);
} else if (digitalRead(5) == 0) {
tone(13,330,500);
} else if (digitalRead(6) == 0) {
tone(13,349,500);
} else if (digitalRead(7) == 0) {
tone(13,392,500);
} else if (digitalRead(8) == 0) {
tone(13,440,500);
} else if (digitalRead(9) == 0) {
tone(13,494,500);
} else if (digitalRead(10) == 0) {
tone(13,532,500);
}
}
void loop(){
}
谢谢观看!!!
请勿抄袭!!!