arduino蜂鸣器发声教案_第1页
arduino蜂鸣器发声教案_第2页
arduino蜂鸣器发声教案_第3页
arduino蜂鸣器发声教案_第4页
arduino蜂鸣器发声教案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4课 蜂鸣器发声一、学生情况分析蜂鸣器发声是本课程的第四课,经过上一节课的学习,学生初步了解按钮,掌握选择结构以及数字口的输入,体验Arduino机器人控制和按钮控制LED编程的过程。这一节课主要是让学生们的电路发出声音。二、教学目标1.通过制作蜂鸣器发声实验,初步了解蜂鸣器,掌握蜂鸣器的接线方法。2.体验不同蜂鸣器的不同接线方法以及发出声音的不同要求。3.体验蜂鸣器编程的过程,激发对编程的兴趣。三、教学重难点教学重点:蜂鸣器的连接方法、tone函数的使用教学难点:tone函数的使用四、教学流程 1复习旧知,引入新课。教师:上节课我们制作了按键控制的LED,其中用到了哪些知识呢?通过制作按钮

2、控制的LED,初步了解按钮,掌握选择结构以及数字口的输入。按钮控制LED一般应用在走廊的灯、台灯等需要启动才会亮的灯上。今天我们来学习声音,能让电路发出声音的元器件。 出示课题蜂鸣器发声。2教学新课(1)元器件介绍1)蜂鸣器,是一种电子发声元器件,可以发出beep beep的声音。蜂鸣器在电路中用字母“FM”、“H”或“HA” 或“ZZG”、“LB”、“JD”等表示。蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种,两者的区别是:内部是否有震荡源。有源蜂鸣器内部带震荡源,所以只要一通电就会叫;无源蜂鸣器内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的波形脉冲信号去驱动它。有源蜂鸣器往往比

3、无源的略贵,就是因为里面多个震荡电路。2)PNP型三极管(型号8550),在该电路中三极管相当于一个开关,其引脚如下图:1脚=E(发射极,电路图中带箭头的那个)2脚=B(基极,电路图中跟R相接的那个)3脚=C(集电极,与E相对的那个)运行原理如下:1当输出高电平,三极管B极与E极间没有电压差,三极管E极与C极间不通,有源蜂鸣器FM没有电流通过,蜂鸣器不响。2当输出低电平,三极管B极与E极间形成电压差,三极管E极与C极之间导通,电流通过蜂鸣器FM,如果是有源蜂鸣器,则立即发出beep声。3)Arduino与蜂鸣器的接线有源蜂鸣器和无源蜂鸣器脚的数目不同,因此接线方式不同。无源蜂鸣器模块有三个管脚

4、,其中标注-的管脚接地(GND),中间的管脚接 5V,标注S的管脚接信号(数字I/O)。有源蜂鸣器是一通电就响的,两个脚分别是正负极,两个脚一长一短,短脚为负极,长脚为正极接VCC。 有源蜂鸣器 无源蜂鸣器(2)基础任务:初步尝试使用无源蜂鸣器发声1)任务描述蜂鸣器发出beep beep声音,响一秒,停两秒。2)搭建硬件无源蜂鸣器模块有三个管脚,其中标注-的管脚接地(GND),中间的管脚接 5V,标注S的管脚接信号(数字I/O)。3)编写程序(3)基础任务:初步尝试使用有源蜂鸣器发声1)任务描述1.当输出高电平,三极管B极与E极间没有电压差,三极管E极与C极间不通,蜂鸣器FM没有电流通过,蜂鸣

5、器不响。2.当输出低电平,三极管B极与E极间形成电压差,三极管E极与C极之间导通,电流通过蜂鸣器FM,立即发出beep声。2)搭建硬件如图,用一个PNP型三极管做为控制开关, 图中FM是蜂鸣器。三极管C极接GND,E极接有源蜂鸣器的负端(短脚),三极管的B极接1K欧姆电阻 . 再接到Arduino D3脚 , 有源蜂鸣器的正端(长脚)接VCC。3)编写程序(3)提高任务:蜂鸣器的应用1)任务描述使用无源蜂鸣器,播放一首葫芦娃2)搭建硬件无源蜂鸣器标注-的管脚接地(GND),中间的管脚接 5V,标注S的管脚接信号(数字I/O)。3)编写程序#define NOTE_D0 -1 #define N

6、OTE_D1 262 #define NOTE_D2 293 #define NOTE_D3 329 #define NOTE_D4 349 #define NOTE_D5 392 #define NOTE_D6 440 #define NOTE_D7 494 #define NOTE_DL1 147 #define NOTE_DL2 165 #define NOTE_DL3 175 #define NOTE_DL4 196 #define NOTE_DL5 221 #define NOTE_DL6 248 #define NOTE_DL7 278 #define NOTE_DH1 523 #

7、define NOTE_DH2 586 #define NOTE_DH3 658 #define NOTE_DH4 697 #define NOTE_DH5 783 #define NOTE_DH6 879 #define NOTE_DH7 987 /以上部分是定义是把每个音符和频率值对应起来,其实不用打这么多,但是都打上了,后面可以随意编写D调的各种歌,我这里用NOTE_D+数字表示音符,NOTE_DH+数字表示上面有点的那种音符,NOTE_DL+数字表示下面有点的那种音符。这样后面写起来比较好识别。 #define WHOLE 1 #define HALF 0.5 #define QUAR

8、TER 0.25 #define EIGHTH 0.25 #define SIXTEENTH 0.625 /这部分是用英文对应了拍子,这样后面也比较好看 int tune = NOTE_DH1,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_D0, NOTE_DH1,NOTE_D6,NOTE_D5,NOTE_DH1,NOTE_D6,NOTE_D0,NOTE_D6, NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_D0,NOTE_D6, NOTE_DH1,NOTE_D6,NOTE_D5,NOTE_DH1,NOTE_D6,NOTE_D0, NOTE_D1,NOT

9、E_D1,NOTE_D3, NOTE_D1,NOTE_D1,NOTE_D3,NOTE_D0, NOTE_D6,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D6, NOTE_D5,NOTE_D1,NOTE_D3,NOTE_D0, NOTE_DH1,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D6, NOTE_D5,NOTE_D1,NOTE_D2,NOTE_D0, NOTE_D7,NOTE_D7,NOTE_D5,NOTE_D3, NOTE_D5, NOTE_DH1,NOTE_D0,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D5,NOTE_D6,NOTE_

10、D6, NOTE_D0,NOTE_D5,NOTE_D1,NOTE_D3,NOTE_D0, NOTE_DH1,NOTE_D0,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D5,NOTE_D6,NOTE_D6, NOTE_D0,NOTE_D5,NOTE_D1,NOTE_D2,NOTE_D0, NOTE_D3,NOTE_D3,NOTE_D1,NOTE_DL6, NOTE_D1, NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D6, NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D6, NOTE_DH1,NOTE_D0,NOTE_D7,NOTE_D5, NOTE_

11、D6, ;/这部分就是整首曲子的音符部分,用了一个序列定义为tune,整数 float duration= 1,1,0.5,0.5,1, 0.5,0.5,0.5,0.5,1,0.5,0.5, 0.5,1,0.5,1,0.5,0.5, 0.5,0.5,0.5,0.5,1,1, 、 1,1,1+1, 0.5,1,1+0.5,1, 1,1,0.5,0.5,1, 0.5,1,1+0.5,1, 0.5,0.5,0.5,0.5,1+1, 0.5,1,1+0.5,1, 1+1,0.5,0.5,1, 1+1+1+1, 0.5,0.5,0.5+0.25,0.25,0.5+0.25,0.25,0.5+0.25,0

12、.25, 0.5,1,0.5,1,1, 0.5,0.5,0.5+0.25,0.25,0.5+0.25,0.25,0.5+0.25,0.25, 0.5,1,0.5,1,1, 1+1,0.5,0.5,1, 1+1+1+1, 0.5,1,0.5,1+1, 0.5,1,0.5,1+1, 1+1,0.5,0.5,1, 1+1+1+1 ;/这部分是整首曲子的接拍部分,也定义个序列duration,浮点(数组的个数和前面音符的个数是一样的,一一对应么) int length;/这里定义一个变量,后面用来表示共有多少个音符 int tonePin=9;/蜂鸣器的pin void setup() pinMode

13、(tonePin,OUTPUT);/设置蜂鸣器的pin为输出模式 length = sizeof(tune)/sizeof(tune0);/这里用了一个sizeof函数,可以查出tone序列里有多少个音符 void loop() for(int x=0;xlength;x+) tone(tonePin,tunex);/此函数依次播放tune序列里的数组,即每个音符 delay(400*durationx);/每个音符持续的时间,即节拍duration,400是调整时间的越大,曲子速度越慢,越小曲子速度越快 noTone(tonePin);/停止当前音符,进入下一音符 delay(5000);/

14、等待5秒后,循环重新开始 3. 拓展提升如果我们能够控制好频率和节拍,那就有可能演奏出动听的音乐。因此,我们首先需要搞清楚各音调的频率,具体见下表:低音:音调音符1#2#3#4#5#6#7#A221248278294330371416B248278294330371416467C131147165175196221248D147165175196221248278E165175196221248278312F175196221234262294330G196221234262294330371中音:音调音符1234567A441495556589661742833B49555662466174

15、2833935C262294330350393441495D294330350393441495556E330350393441495556624F350393441495556624661G393441495556624661742高音:音调音符1#2#3#4#5#6#7#A88299011121178132214841665B990111211781322148416651869C525589661700786882990D5896617007868829901112E66170078688299011121248F700786882935104911781322G7868829901049117813221484我们知道了音调的频率后,下一步就是控制音符的演奏时间。每个音符都会播放一定的时间,这样才能构成一首优美的曲子,而不是生硬的一个调的把所有的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论