Arduino自从出现以来可谓是频频出彩,喜爱电子制作的人们纷纷入手Arduino,用它做出了美轮美奂的作品,小编也不甘示弱——咱们做不了创客们的大作品,总可以做一些小的吧,正好今天入手了两个新模块——MP3和IIC Touch,就做了个好玩的小东西——基于Arduino的触控式MP3。
MP3模块的主要芯片就是WT5001,支持MP3解码,支持WAV格式,能够直接播放Micro SD卡和U盘里的歌曲,双通道LDO,自带实时时钟,配有标准的RS232串口控制。
IIC Touch模块是一款电容式触摸模块,核心器件是MPR121,一款电容式传感器控制器,通过IIC模式通信,可以连接12个触摸点。
小编结合手中的Arduino UNO控制器做了一个小实验——触摸式MP3,除了上面凉两款模块以外,我们还需要一个Arduino控制器,
使用了传感器扩展板之后,我们就可以轻松的使用串口和IIC接口了。
首先将MP3模块连接到扩展板的串口通信端口,然后再将Touch模块连接到IIC端口上,下面就让我们开始触控式音乐之旅吧!哦,忘了最重要的东西了——代码,篇幅有限,小编就在文章中公布部分源码,全部代码可以点击这里下载
void CheckStatus()
{
if ((status1&0x01)==0x01)
{
StateOfTouch1 =1;
}
else
{
if (StateOfTouch1 ==1) //如果CH0被触摸,则开始播放音乐
{
Serial.println("channel 0 has pressed..");
Serial.write(0x7E);
Serial.write(0x02);
Serial.write(0xA3);
Serial.write(0x7E);
StateOfTouch1 =0;
}
}
if ((status1&0x02)==0x02)
{
StateOfTouch2 =1;
}
else
{
if (StateOfTouch2 ==1) //若果CH1被触摸,则停止播放音乐
{
Serial.println("channel 1 has pressed..");
Serial.write(0x7E);
Serial.write(0x02);
Serial.write(0xA4);
Serial.write(0x7E);
StateOfTouch2 = 0;
}
}
if ((status1&0x04)==0x04)
{
StateOfTouch3 =1;
}
else
{
if (StateOfTouch3 ==1) //如果CH2被触摸,则播放下一曲
{
Serial.println("channel 2 has pressed..");
Serial.write(0x7E);
Serial.write(0x02);
Serial.write(0xA5);
Serial.write(0x7E);
StateOfTouch3 = 0;
}
}
if ((status1&0x08)==0x08)
{
StateOfTouch4 =1;
}
else
{
if (StateOfTouch4 ==1) //如果CH4被触摸,则进入循环播放模式
{
Serial.println("channel 3 has pressed..");
Serial.write(0x7E);
Serial.write(0x03);
Serial.write(0xA9);
Serial.write(0x02);
Serial.write(0x7E);
StateOfTouch4 =0;
}
}
}
上面的代码只设置了四个简单的功能,我们可以使用此模式进行音量的加减,以及其他播放模式的设置等功能。
这款MP3播放器还可以驱动自带电源的小型音箱,我们就可以把上面的小作品进行扩展了,利用Arduino蓝牙模块、无线数传模块等将有线控制变为无线控制,再把播放器隐藏起来,当有客人来的时候,我们只需要在特定的位置触摸一下,美妙的音乐就响起了,小编一定要抓紧时间做一个!
资料链接:
ArduinoUNO
http://www.alsrobot.cn/goods-141.html
Arduino传感器扩展板
http://www.alsrobot.cn/goods-147.html
蓝牙模块
http://www.alsrobot.cn/goods-414.html
APC220
http://www.alsrobot.cn/goods-55.html
RB230
http://www.alsrobot.cn/goods-53.html
Sparkfun中国区代理
近期新闻
热门新闻
奥松智能微信