相關(guān)商品
























【創(chuàng)客學(xué)堂】基于Arduino和MP3 Player的觸摸播放器
編輯:Peter2013-08-22 130708050 瀏覽次數(shù):3069
Arduino自從出現(xiàn)以來(lái)可謂是頻頻出彩,喜愛(ài)電子制作的人們紛紛入手Arduino,用它做出了美輪美奐的作品,小編也不甘示弱——咱們做不了創(chuàng)客們的大作品,總可以做一些小的吧,正好今天入手了兩個(gè)新模塊——MP3和IIC Touch,就做了個(gè)好玩的小東西——基于Arduino的觸控式MP3。
MP3模塊的主要芯片就是WT5001,支持MP3解碼,支持WAV格式,能夠直接播放Micro SD卡和U盤(pán)里的歌曲,雙通道LDO,自帶實(shí)時(shí)時(shí)鐘,配有標(biāo)準(zhǔn)的RS232串口控制。
IIC Touch模塊是一款電容式觸摸模塊,核心器件是MPR121,一款電容式傳感器控制器,通過(guò)IIC模式通信,可以連接12個(gè)觸摸點(diǎn)。
小編結(jié)合手中的Arduino UNO控制器做了一個(gè)小實(shí)驗(yàn)——觸摸式MP3,除了上面涼兩款模塊以外,我們還需要一個(gè)Arduino控制器,
一個(gè)Arduino傳感器擴(kuò)展板,
使用了傳感器擴(kuò)展板之后,我們就可以輕松的使用串口和IIC接口了。
首先將MP3模塊連接到擴(kuò)展板的串口通信端口,然后再將Touch模塊連接到IIC端口上,下面就讓我們開(kāi)始觸控式音樂(lè)之旅吧!哦,忘了最重要的東西了——代碼,篇幅有限,小編就在文章中公布部分源碼,全部代碼可以點(diǎn)擊這里下載
void CheckStatus()
{
if ((status1&0x01)==0x01)
{
StateOfTouch1 =1;
}
else
{
if (StateOfTouch1 ==1) //如果CH0被觸摸,則開(kāi)始播放音樂(lè)
{
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被觸摸,則停止播放音樂(lè)
{
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被觸摸,則進(jìn)入循環(huán)播放模式
{
Serial.println("channel 3 has pressed..");
Serial.write(0x7E);
Serial.write(0x03);
Serial.write(0xA9);
Serial.write(0x02);
Serial.write(0x7E);
StateOfTouch4 =0;
}
}
}
上面的代碼只設(shè)置了四個(gè)簡(jiǎn)單的功能,我們可以使用此模式進(jìn)行音量的加減,以及其他播放模式的設(shè)置等功能。
這款MP3播放器還可以驅(qū)動(dòng)自帶電源的小型音箱,我們就可以把上面的小作品進(jìn)行擴(kuò)展了,利用Arduino藍(lán)牙模塊、無(wú)線數(shù)傳模塊等將有線控制變?yōu)闊o(wú)線控制,再把播放器隱藏起來(lái),當(dāng)有客人來(lái)的時(shí)候,我們只需要在特定的位置觸摸一下,美妙的音樂(lè)就響起了,小編一定要抓緊時(shí)間做一個(gè)!
資料鏈接:
ArduinoUNO
http://www.gharee.com/goods-141.html
Arduino傳感器擴(kuò)展板
http://www.gharee.com/goods-147.html
藍(lán)牙模塊
http://www.gharee.com/goods-414.html
APC220
http://www.gharee.com/goods-55.html
RB230
http://www.gharee.com/goods-53.html
Sparkfun中國(guó)區(qū)代理
用戶(hù)評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶(hù)評(píng)論