科技创新(2班)作业:用Arduino制作迷你钢琴

这是我们今天的作业:用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(){

}
手动控制程序图

谢谢观看!!!
请勿抄袭!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 13,415评论 0 13
  • 1,画出一个蜂鸣器,初始化一个C4。 2,让2弹出一个C4。 3,让3,4,5分别弹出D4,E4,F4的音乐。 4...
    MrLeo_胡阅读 2,865评论 0 1
  • 下面是这节课的目标: 1,画出一个蜂鸣器,初始化产生一个C4 这是项目的程序: 这是蜂鸣器: 2,让2弹出C4的音...
    万珂钰阅读 3,138评论 0 1
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 14,788评论 0 7
  • 一.我的混乱生活 儿子,爸爸的运动手环到什么地方去了?刚才还在沙发上的,一转眼就不见了。 爸爸你烦不烦嘛,每天不是...
    时间管理史振乾阅读 3,304评论 0 0

友情链接更多精彩内容