arduino蜂鸣器发声教案.docx

上传人:公**** 文档编号:548116130 上传时间:2023-10-26 格式:DOCX 页数:11 大小:212.49KB
返回 下载 相关 举报
arduino蜂鸣器发声教案.docx_第1页
第1页 / 共11页
arduino蜂鸣器发声教案.docx_第2页
第2页 / 共11页
arduino蜂鸣器发声教案.docx_第3页
第3页 / 共11页
arduino蜂鸣器发声教案.docx_第4页
第4页 / 共11页
arduino蜂鸣器发声教案.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《arduino蜂鸣器发声教案.docx》由会员分享,可在线阅读,更多相关《arduino蜂鸣器发声教案.docx(11页珍藏版)》请在金锄头文库上搜索。

1、arduino蜂鸣器发声教案arduino蜂鸣器发声教案 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(arduino蜂鸣器发声教案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为arduino蜂鸣器发声教案的全部内容。第4课 蜂鸣器发声一、学生情况分析蜂鸣器发声是本课程的第四课,经过上一节课的学习,学生初步了解按钮,掌

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

3、启动才会亮的灯上。今天我们来学习声音,能让电路发出声音的元器件。 出示课题蜂鸣器发声。2教学新课(1)元器件介绍1)蜂鸣器,是一种电子发声元器件,可以发出beep beep”的声音。蜂鸣器在电路中用字母“FM”、“H或“HA” 或“ZZG”、“LB”、“JD”等表示。蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种,两者的区别是:内部是否有震荡源。有源蜂鸣器内部带震荡源,所以只要一通电就会叫;无源蜂鸣器内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的波形脉冲信号去驱动它。有源蜂鸣器往往比无源的略贵,就是因为里面多个震荡电路。2)PNP型三极管(型号8550),在该电路中三极管相当于一个开

4、关,其引脚如下图:1脚=E(发射极,电路图中带箭头的那个)2脚=B(基极,电路图中跟R相接的那个)3脚=C(集电极,与E相对的那个)运行原理如下:1当输出高电平,三极管B极与E极间没有电压差,三极管E极与C极间不通,有源蜂鸣器FM没有电流通过,蜂鸣器不响。2当输出低电平,三极管B极与E极间形成电压差,三极管E极与C极之间导通,电流通过蜂鸣器FM,如果是有源蜂鸣器,则立即发出beep声。3)Arduino与蜂鸣器的接线有源蜂鸣器和无源蜂鸣器脚的数目不同,因此接线方式不同。无源蜂鸣器模块有三个管脚,其中标注-的管脚接地(GND),中间的管脚接 5V,标注”S的管脚接信号(数字I/O)。有源蜂鸣器是

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

6、器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 NOTE_D1 262 #define NOTE_D2 293 #define NOTE_D3 3

7、29 #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 #define NOTE_DH2 586 #define NOTE_DH3 658 #define NOTE_

8、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 QUARTER 0。25 define EIGHTH 0。25 define SIXTEENTH 0.625 /这部分是

9、用英文对应了拍子,这样后面也比较好看 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,NOTE_D1,NOTE_D3, NOTE_D1,NOTE_D1,NOTE_D3,NOTE_D0, NOTE_D6,NOT

10、E_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_D6, NOTE_D0,NOTE_D5,NOTE_D1,NOTE_D3,NOTE_D0, NOTE_DH1,NOTE

11、_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_D6, ;/这部分就是整首曲子的音符部分,用了一个序列定义为tune,整数 float duration= 1,1,

12、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。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。

13、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(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是调整时间的越大,曲子速度越慢,越小曲子速度

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 公司方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号