Skip to main content

今天马克笔设计留学的程老师继续为大家带来关于Arduino的知识,在之前的文章中已经介绍过了很多常见的传感器,比如超声波传感器,人体红外传感器,光敏电阻等等。这次我们来讲一讲稍微复杂一点的模块—SD卡模块。

其实,就音乐播放这一块来讲的话,很多同学应该都用过蜂鸣器这一模块,蜂鸣器是一种电子发声元器件,可以发出”beep”的声音。采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种。有源蜂鸣器:内部带有震荡源,只要一通电就会发出固定频率的声音。无源蜂鸣器:内部不带震荡源,需要使用2KHz到5KHz的脉冲信号驱动发声,声音频率可变。从外观上来看两种蜂鸣器形状相似,有源蜂鸣器底部有密封,无源蜂鸣器底部可看到电路板。两种蜂鸣器都标注有正负极。使用过蜂鸣器的人应该都知道,它发出的声音并不好听,比较刺耳,所以今天我们不把蜂鸣器的连接方式作为重点,还是回到SD卡模块上。如下图所示,SD卡模块上有六个引脚,还有插SD卡的卡槽。

在整个程序中,我们引用的第三方库是SPI和SD库,就是在示例程序中显示得“#include ”和“#include ”。我们使用SD实用程序库函数来设置变量。具体下载安装第三方库的步骤我在之前的文章中详细讲过,不清楚的同学可以翻之前的文章看一看。我们需要把这两个库下载安装到Arduino IDE的路径里。

当然,如果你想用Arduino制作一个属于自己的音乐播放器,还需要一个arduino speaker。插入模块的这张SD卡是Micro SD card,我们需要把想要的音乐放入卡中,注意需要把音频/音乐文件转换为WAV格式,即它们应该是.wav文件。这是因为,上面我们提到的第三方库只支持WAVE文件格式的PCM音频(.wav)。

所以,我们第一步是转换mp3文件到.wav文件。我们可以使用任何音频转换器软件,VLCMediaPlayer中的转换选项或任何在线工具。我经常使用的是ONLINE-CONVERT.com的在线工具。它支持多种文件,如存档,音频,文档等。上传mp3文件并在可选设置中设置以下内容:更改位分辨率:8位;更改采样率:16000Hz;更改音频通道:单声道;PCM格式:PCM无符号8位;按照上述的格式修改完成后,点击开始转换,转换后的文件将自动下载。

我们在连线SD卡模块时可以遵循以下连线规则,这个是我们引用的库中定义好的数字口模式。Arduino Uno <—–> Sd Card 模块;GND <—–> GND;5V <—–> +5;CS <—–> Pin 4;MOSI <—–>Pin 11;SCK <—–> Pin 13;MISO<—–> Pin 12。Arduino speaker这部分的连接非常简单,只有红色和黑色两根线,红色这根线我们会连接arduino开发板上的数字口,黑色线我们会连接arduino的负极接口。

将ArduinoUNO连接到计算机和ArduinoIDE,使用示例中给出的代码。在代码中,进行必要的更改,即在voidsong()函数中,将文件名替换为SD卡中的歌曲名称。举个例子,我们将所有音频文件命名为song1.wav,song2.wav等,那在函数中需使用相同的名称。我们要在进行必要的更改后,上传代码。

看完上面的内容,大家就可以着手制作一个属于自己的音乐播放器了,YouTube上还有很多用各种输入设备控制SD卡模块的视频,比如用人体红外传感器去实现歌曲的切换,建议大家在测试这种带有控制的电路时,首先保证电路的几个组成部分都能单独正常使用,这样我们在之后检查问题时,才会快速地测试出电路的问题。

图片来源于网络

如何用Arduino实现动画效果(1) —点阵模块
可以用Arduino实现的几种常见灯光效果
Arduino基础线路怎么连接
如何为Arduino IDE安装添加库

文章作者:程雅秋
英国皇家艺术学院产品设计硕士
擅长产品服务系统设计、用户体验设计和硬件Arduino交互

任何关于院校和作品集的问题
欢迎随时沟通
知无不言,言无不尽

0 0 vote
Article Rating
订阅
提醒
guest
0 评论
Inline Feedbacks
View all comments