IRrecv可以用来定义数组吗,描述数组内容的类型为IRrecv的红外接收对象?

蜂鸣器,按驱动形式来分一般分为两类,一种是有源蜂鸣器,另外一种是无源蜂鸣器。有源蜂鸣器上电就会响,可玩性不高,但无源蜂鸣器是一个很有意思的东西,可以通过改变输入的频率可以使它发出不同音调的声音,利用Arduino Uno和无源蜂鸣器实现播放音乐。

下图是C调中音符所对应的频率,用里面的频率我们就可以让无源蜂鸣器发出 Do、Re、Mi、Fa、Sol、La、Si。以此类推利用蜂鸣器播放音乐就简单了很多。
除了Do、Re、Mi…外,用无源蜂鸣器播放音乐还需要注意节拍,如果节拍处理不好的话,听起来就不是那首歌了,由于每一首歌的速度都不同,所以在节拍处理上每一首歌都不一样,最好就找4/4拍的儿歌来练练手,比如《小蜜蜂》。

其中IRremote.h红外的库需要注意一下,如何接收和处理遥控器发过来的值。

这个程序是首先通过把遥控器发过来的值在串口打印出来,利用Switch…case语句把红外遥控接收到的值和实际键值做比对。

这一句就是把Switch语句中传进来的形参和红外接收器接收到的值与按键1的值做对比

这一句就是把Switch语句中传进来的形参和红外接收器接收到的值与按键1的值做对比
从而达到按下按键1,播放《小蜜蜂》,按下按键2,播放《有酒今朝醉》

在上面程序的基础上加上一个简单的电子琴功能,分别用7个按钮控制音节,然后把C调分为3个部分,低、中、高(非音乐专用,勿喷!)。
上面做红外遥控播放《小蜜蜂》时,用到了遥控器的1、2两颗按键,现在根据上面的代码继续拓展。

通过按下红外遥控的3、4、5号按钮,实现三个C调不同音调的选择切换。
上电后,通过红外遥控器选择低、中、高声调的电子琴,按下按键即可实现蜂鸣器发出“Do、Re、Mi、Fa、Sol、La、Si”,可以试着弹奏自己喜欢的音乐。

无源蜂鸣器,可以通过给它输入不同的频率,发出不同的声音,本次实验就是利用它的这个工作特性实现了简单的歌曲播放,和简易的电子琴,欢迎留言交流,大家相互学习进步。

* 演示如何利用Arduino开发板接收红外遥控器控制信号, * 并利用接受到的信号遥控Arduino开发板上的红外LED。 * Arduino所接收到的红外遥控器信号内容也将通过串口监视器显示出来。 * 可前往以下网址获得: * 如需获得详细电路连接说明图,请参阅太极创客网站: * 此示例程序为配合太极创客制作的 * 《零基础入门学用ARDUINO教程-智能应用篇》使用 * / (太极创客官网) * 如需获得详细电路连接说明图,请参阅太极创客网站: * 此示例程序为配合太极创客制作的 * 《零基础入门学用ARDUINO教程-智能应用篇》使用 // 红外信号存储变量 // 记录收到的红外信号 // 将首个数值放弃(间隙) // 将信号转化为毫秒 // 细微调整信号内容,将信息变短将空档间隙变长从而取消红外接收信号的扰动 // 将toggle位放入信号代码中发送 // 如果接收到的红外信号可以通过decode函数成功解码 // 通过EEPROM读取红外信号信息 // 每次Arduino通电后,都会从EEPROM中读取存储的红外信号信息。 // 从而确保"学霸遥控器"在断电后依然可以保持上一次运行时所存储的 // 将红外信号信息储存于EEPROM // 每一次"学霸遥控器"接收到新的红外遥控信号 // 都将最新接收的红外遥控器储存于EEPROM // 从而确保信号信息不会因为Arduino断电而丢失

我要回帖

更多关于 如何定义数组 的文章

 

随机推荐