基于Arduino的电子音乐发声器设计
引言
Arduino是一个基于开放原始代码的Simple I/O平台,由硬件(MCU及外围电路)和软件(编程接口和语言)两部分组成。它基于单片机系统开发,具有使用简单,功能多样,价格低廉等优点,广泛应用于电子系统设计和互动产品开发方面。目前市场所见电子音乐发声器调节不便,价格较高,不能很好地实现和使用者的交互。本电子音乐发声器的设计以ArduinoUNO板为控制核心,在相关乐理基础知识上,充分利用Arduino编辑器自带Tone扩展库,以数组形式输出各音符的指定频率和节拍,送到无源蜂鸣器和彩色LED,实现了音乐播放和随音乐节奏亮灭的LED效果。在操作方面,可以通过简单修改数组数据(音高和节拍)实现电子音乐的DIY,在欣赏美妙音乐的同时,充分发挥使用者的创造性。
1 系统硬件设计
本发声器以ArduinoUNO为控制核心,外部电路包括控制电路、蜂鸣器电路、LED显示节奏电路,系统硬件电路图如图1所示。开关S1对整个电路起控制作用,当检测到开关按下,即D3端口为高电平时,电路开始工作。预先组织好的音符数据(音高和节拍)通过数字端口D8发送到5V无源蜂鸣器J1,无源蜂鸣器接收到特定频率的(即特定的音高)方波去驱动它,可以发出“Do Re Mi Fa Sol La Si”的音乐效果。各数据加上延时(即节拍数据)即可实现乐曲的播放。无源蜂鸣器的优点是声音频率可控,可以和LED复用一个控制口。所以,D8端口的数据同时加到LED1、LED2、LED3上时,其节奏性的亮灭实现了节拍的显示。
2 软件设计
2.1 乐曲播放原理
2.1.1 单音符的演奏原理
一首乐曲由若干音符组成。从物理的角度来说,每一个音符唯一对应一个发声频率。Arduino只要把这个频率数据发送给蜂鸣器或喇叭,就会发出对应的音符。Arduino IDE自带的头文件“pitches.h”中以宏定义的形式给出了各个音符和频率的对应关系表。例如“#define NOTE_C4 262”语句给出了钢琴标准键盘小字一组C4(唱名为Do)按键对应的频率是262Hz。因此,只要能够识别给定的乐谱,就能得到一组对应该乐曲的频率数据,即制作出其数组形式的韵律函数。

最新活动更多
-
即日-12.14立即下载>> 戴尔科技智能制造精准白皮书限时下载
-
12月25日立即报名>> 【在线研讨会】智慧出行:亚马逊AWS赋能车联网行业
-
即日-12.31立即下载>> NI院校科研技术白皮书限时下载
-
即日-1.13立即下载>> 德国康佳特嵌入式技术应用案例白皮书限时下载
-
精彩回顾立即查看>> 亚马逊AWS智能产品IoT研讨会
-
精彩回顾立即查看>> 第21届中国国际高新技术成果交易会免费观展门票
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论