查看“蜂鸣器”的源代码
←
蜂鸣器
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language| 蜂鸣器}} {| style="width: 800px;" |- | ==目的== 本教程将通过三个案例介绍如何使用Microduino蜂鸣器。 [[File:MicroduinoBuzzer.jpg|600px|center]] ==设备== *'''[[mCookie-CoreUSB/zh]]''' *'''[[Microduino-BUZZER/zh]]''' *'''[[mCookie-Hub/zh]]''' *其他硬件设备 **USB数据连接线 一根 [[File:MicroduinoBuzzer-Equipment.jpg|600px|center]] ==简介== 一般蜂鸣器分为有源蜂鸣器和无源蜂鸣器。Microduino蜂鸣器采用的是无源蜂鸣器。 *有源蜂鸣器 **内部有振荡、驱动电路。加电压信号(高电平)就可以响。 ***优点:是用起来方便。 ***缺点:频率固定了,就只一个单音。 *无源蜂鸣器 **无源内部不带震荡源,用直流信号无法令其鸣叫。必须用变化的电源信号才能驱动它。 ***优点:声音频率可控,可以做出“多来米发索拉西”的效果。 ***缺点:控制稍微复杂。 ==实验一:让蜂鸣器响起来== ===搭建模块电路=== *Setup 1:用连接线将传感器安装到Hub模块的相应接口(6)上。 [[File:MicroduinoBuzzer-D6.jpg|600px|center]] *Setup 2:将Hub模块与CoreUSB模块无上下顺序叠加起来。 [[File:MicroduinoBuzzer-hub-coreusb.jpg|600px|center]] ===调试=== *Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。 [[File:CoreUSB_Ble_pc.jpg|600px|center]] * Setup 2:加载代码,将程序代买拷贝到IDE中。 <source lang="cpp"> #define buzzer_pin 6 //定义蜂鸣器驱动引脚 #define buzzer_fre 600 //定义蜂鸣器输出频率 void setup() { pinMode(buzzer_pin,OUTPUT); } void loop() { tone(buzzer_pin,buzzer_fre); //驱动蜂鸣器 } </source> 在工具的板卡中选择Microduino-Core USB,端口中选择好对应的端口号(COMXX)。点击向右的箭头(—>)下载程序,出现上传完成提示,程序就已经写进CoreUSB模块中了。 成功之后可以听到蜂鸣器发出响声了。 *“tone(pin,fre)”函数 **指定引脚(pin)输出频率(fre)的信号。 **用户可以更改buzzer_fre的值观察蜂鸣器有啥变化。 ==实验二:蜂鸣器报警== *将程序代重新拷贝到IDE中。并下载到Core板卡。 <source lang="cpp"> #define buzzer_pin 6 //定义蜂鸣器驱动引脚 void setup() { pinMode(buzzer_pin,OUTPUT); } void loop() { for(int i=200;i<=800;i++) //用循环的方式将频率从200HZ 增加到800HZ { tone(buzzer_pin,i); //在四号端口输出频率 delay(5); //该频率维持5毫秒 } delay(2000); //最高频率下维持2秒钟 for(int i=800;i>=200;i--) { tone(buzzer_pin,i); delay(10); //该频率维持10毫秒 } } </source> “for(int i=200;i<=800;i++)”说明:i的值开始为200,然后for函数执行一次i的值加1,直到i大于800时才退出for循环。用户可以更改相关参数观察蜂鸣器有啥变化。 <br>实验采用用for循环的方式来更改频率,从而持续发出不同的声音,达到了报警的效果。 ==实验三:播放歌曲== *程序代码 <source lang="cpp"> #define buzzer_pin 6 //定义蜂鸣器驱动引脚 int song[] = { 262, 262, 294, 262, 349, 330, 262, 262, 294, 262, 392, 349, 262, 262, 523, 440, 349, 330, 294, 494, 494, 440, 349, 392, 349 }; int noteDurations[] = { 4, 4, 2, 2, 2, 1, 4, 4, 2, 2, 2, 1, 4, 4, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 1 }; void setup() { pinMode(buzzer_pin, OUTPUT); } void loop() { song_play(); } void song_play() { for (int thisNote = 0; thisNote < 25; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(buzzer_pin, song[thisNote], noteDuration); int pauseBetweenNotes = noteDuration * 1.20; delay(pauseBetweenNotes); noTone(buzzer_pin); } }</source> “song_play()”为播放音乐函数,“song[]”里面存放音调(频率),“noteDurations[]”为节拍。 <br>音乐由tone()函数控制,改动该函数即可改变音乐旋律,代码有两种形式分别为:tone(pin, frequency, duration)或tone(pin, frequency) <br>第一个函数中,pin代表连接扬声器的管脚,frequency代表发声频率,duration代表持续的时间,单位是毫秒。 <br>如果用第二个函数,则还需另外的noTone()函数来控制音乐的停止noTone(pin)。 *将激活后的电池盒与BM模块相连,将所有模块堆叠在一起,顺序随意,搭建完成。 [[File:MicroduinoBuzzer-Equipment-ok.jpg|600px|center]] |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
蜂鸣器
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息