2017年7月13日星期四

使用LM386制作Arduino音乐播放器


在我们的项目中添加声音或音乐总是会使其看起来更酷一些,听上去更有吸引力。特别是如果您使用的是Arduino开发板,并且有很多空余的引脚,只需要添加一个SD卡模块和一个普通的扬声器即可轻松添加音效。在本文中,我将向您展示使用您的Arduino开发板来播放音乐以及添加音效是多么容易。感谢Arduino社区开发了一些库,可以使用快速而简便的方式实现。。我们也在这里使用了LM386芯片进行放大和噪声消除。

需要的硬件:
1.  Arduino UNO开发板
2.  SD卡读卡器模块
3.  SD卡
4.  LM386音频放大器芯片
5.  10uf电解电容
6.  100uf电解电容
7.   1K和10K电阻
8.  按键
9.  面包板
10.  连接导线

准备WAV音频文件:
为了使用Arduino开发板从SD卡播放声音,我们需要.wav格式的音频文件,因为Arduino开发板可以播放wav特定格式的音频文件。要制作一个arduino mp3播放器,使用arduino开发板有很多可用的mp3扩展板。或者为了在arduino中播放mp3文件,有些网站可以用来将您计算机上的任何音频文件转换成特定的WAV文件。

所以要将任何音频文件转换为wav格式,请按照以下步骤操作:
步骤1:点击“Online Wav Converter”进入网站。

步骤2:Arduino可以播放下列格式的wav文件。稍后您可以尝试各种设置,但以下这些设置经过验证是质量最好的。
位分辨率
8位
采样率
16000 Hz
音频频道
PCM格式
PCM无符号8位

步骤3:在网站上点击“choose file”,选择要转换的文件。然后进入上述设置。一旦完成,它应该看起来类似下面的图像:



步骤4:现在,点击“Convert File”,您的音频文件将转换为.Wav文件格式。转换完成后也会自动下载。

步骤5:最后格式化您的SD卡,并保存.wav音频文件。在添加此文件之前,请确保格式化。还要记住您的音频文件的名称。同样地,您可以选择任何四个音频,并使用名称1、2、3和4(名称不应更改)保存这些文件。我转换了四首歌,并将它们保存为1.wav、2.wav、3.wav和4.wav,如下所示。

电路原理和硬件:
该Arduino音频文件播放器的电路原理图很简单。完整的电路图如下图所示。

我们知道我们的音频文件保存到SD卡中,因此我们将一个SD卡读卡模块连接到Arduino接口。 Arduino和SD卡使用SPI通信协议进行通信。因此,模块连接到Arduino的SPI引脚接口,如上图所示。在下表中进一步列出。
Arduino
SD卡模块
+5V
VCC
GND
GND
12引脚
MISO(主进从出)
11引脚
MOSI(主出从进)
13引脚
SCK(同步时钟)
4引脚
CS(芯片选择)

现在,Arduino将可以从SD卡读取音乐文件,并将其在9引脚上播放。但是由Arduino的9脚上产生的音频信号不会发出声音。因此,我们使用LM386低电压音频放大器IC进行放大。
上图所示的放大器设计为增益为200,Vdd(引脚6)由Arduino的5V引脚供电。如果要增加/减少音量,您可以增加/减少提供给此引脚的电压。它可以最大承受15V。点击此链接了解更多关于LM386的200增益放大配置。
我们还有两个按钮连接到Arduino的引脚2和3。这些开关分别用于播放歌曲的下一曲目,和播放/暂停音乐。我已经测试过这些按钮了,您可以随时播放歌曲。

您可以将此电路完全组装在面包板上,如下图所示

编程Arduino:
一旦我们准备好了硬件和SD卡,我们就差一步来播放这些歌曲了。将SD卡插入SD卡模块中,然后按照以下步骤操作。
步骤1:如前所述,我们将在该项目中使用库。库文件的链接如下。点击它,选择“Clone or download”,然后选择下载保存ZIP。
●  TMRpcm库

步骤2:通过选择Sketch-> Include Library - > Add .ZIP Library(如下所示),然后选择我们刚刚下载的ZIP文件,将此Zip文件添加到Arduino IDE中。

步骤3:本文末尾给出了arduino音乐播放器项目的完整程序,只需将其复制并粘贴到Arduino程序中即可。现在,点击上传并准备播放你的音频文件。

程序很容易看懂,它们有注释行。但是,我在下面也解释了TMRpcm库的重要函数。

播放音频文件:
您可以使用以下代码播放SD卡模块内存储的Wav格式的任何音频。
  1. music.play( “3.wav”);
  2. // object name.play(“FileName.wav”);
复制代码
您可以在要播放音频的地方使用该代码行。

暂停音频文件:
要暂停音频文件,您可以简单地调用下面的代码行。
  1. music.pause();
  2. //objectname.pause();
复制代码

快进/快退音频:
没有直接的方式来快进或快退音频文件,但您可以使用下面的代码行在特定时间播放歌曲。这可以结合使用一些其他代码实现快进/快退音频。
  1. music.play( “2.wav”,33); //从第33秒播放歌曲
  2. //objectname.play("Filename.wav",time in second);
复制代码

设置音频的质量:
库给我们两个品质的音乐,一个是作为普通模式,另一个是2X采样。
  1. music.quality(0); //正常模式
  2. music.quality(1); // 2X采样模式
复制代码

设置音频音量:
是的,您可以通过软件来控制音频的音量。您可以使用下面的代码行简单地设置音量。较高的音量往往影响音频的质量,因此尽可能使用硬件控制。
  1. music.setVolume(5); //播放歌曲在音量5
  2. //objectname.setVolume(Volume level);
复制代码

Arduino音乐播放器:
在编程Arduino之后,只需按下连接到2引脚的按钮,您的Arduino将为您播放第一首歌曲(保存为1.wav)。现在,您可以再次按下按钮将您的曲目更改为要播放的下一首歌曲2.wav。同样,您可以导航到所有四首歌曲。
您还可以通过按连接到3引脚的按钮来播放/暂停歌曲。按一下可暂停歌曲,然后再次按下可从停止的位置播放歌曲。
希望你能喜欢这个项目。现在释放您的创造力,在您的项目中使用它们。你可以做一个说话时钟、语音助手、说话机器人、语音警报安全系统等等。如果你有任何问题,可以通过论坛与我联系。

更多详细内容请参考:https://www.yiboard.com/thread-728-1-1.html

没有评论:

发表评论