前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了智能家居背景音樂(lè)控制系統(tǒng)探究范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:為了創(chuàng)造溫馨愉悅的居家環(huán)境,解決目前智能家居存在的網(wǎng)絡(luò)連接復(fù)雜、控制信號(hào)不穩(wěn)定的問(wèn)題,設(shè)計(jì)一種基于藍(lán)牙無(wú)線通信技術(shù)的智能家居音樂(lè)控制系統(tǒng)。系統(tǒng)采用ArduinoUNOR3作為主控器,BluetoothBee藍(lán)牙無(wú)線數(shù)傳模塊作為通信模塊,通過(guò)智能終端App控制MP3播放器,實(shí)現(xiàn)不同曲目間的有序播放。測(cè)試結(jié)果顯示,該系統(tǒng)實(shí)現(xiàn)了智能控制的功能,可以極大地提升家居的智能化水平。
關(guān)鍵詞:ArduinoUNOR3主控板;智能終端;藍(lán)牙模塊;家居音樂(lè);AppInventor編程
1概述
伴隨著科技的迅速發(fā)展,萬(wàn)物互聯(lián)的時(shí)代已進(jìn)入我們的生活。物聯(lián)網(wǎng)技術(shù)的發(fā)展,使人們對(duì)居家環(huán)境的要求越來(lái)越高,搭載物聯(lián)網(wǎng)技術(shù)的智能家居將會(huì)給大家?guī)?lái)不一樣的體驗(yàn)。智能家居是以住宅為平臺(tái),將傳感器技術(shù)、網(wǎng)絡(luò)通信技術(shù)、嵌入式技術(shù)及自動(dòng)控制技術(shù)應(yīng)用到住宅中,使住宅中的各項(xiàng)家居設(shè)施關(guān)聯(lián)在一起,進(jìn)而實(shí)現(xiàn)家居生活的智能化控制,使居家環(huán)境更加溫馨、舒適。設(shè)計(jì)一種基于藍(lán)牙無(wú)線通信技術(shù)完成智能家居背景音樂(lè)的控制系統(tǒng),實(shí)驗(yàn)表明,將藍(lán)牙技術(shù)應(yīng)用于智能家居控制能夠與家居環(huán)境高度契合,有效提升智能家居用戶體驗(yàn)。
2系統(tǒng)方案
系統(tǒng)總體方案如圖1所示。主控板的型號(hào)為Ar-duinoUNOR3,是整個(gè)系統(tǒng)的信息處理中心;傳感器擴(kuò)展板對(duì)主控板的引腳和功能進(jìn)行延伸和擴(kuò)展;MP3播放模塊的型號(hào)為DFRduinoPlayer,是一種解碼功能十分出色的語(yǔ)音處理模塊,接收主控板發(fā)送的指令,播放對(duì)應(yīng)的歌曲;藍(lán)牙模塊可以實(shí)現(xiàn)短距離無(wú)線通信,是智能終端與Arduino主控板進(jìn)行通信的橋梁;智能終端安裝專(zhuān)用的App程序,利用其自帶的藍(lán)牙模塊與Arduino端建立無(wú)線通信,向Arduino端發(fā)送命令,以控制播放哪首歌曲。
3系統(tǒng)硬件
3.1Arduino控制器
ArduinoUNO是基于ATmega328的微控制器板,是比較常用的開(kāi)源硬件。它有14個(gè)數(shù)字I/O引腳、6個(gè)模擬輸入引腳、16MHz陶瓷諧振器、IIC接口和復(fù)位按鈕。它包含微控制器所需的一切功能,只需使用USB線纜將其連接到計(jì)算機(jī)就可開(kāi)始工作。其軟件開(kāi)發(fā)平臺(tái)為ArduinoIDE,編程語(yǔ)言類(lèi)似于C/C++,可以實(shí)現(xiàn)各種智能產(chǎn)品的開(kāi)發(fā)。
3.2Arduino擴(kuò)展板
傳感器擴(kuò)展板采用疊層設(shè)計(jì),擴(kuò)展板不僅將Ar-duinoUno的全部數(shù)字與模擬接口以線序形式擴(kuò)展出來(lái),還特設(shè)復(fù)位按鈕、藍(lán)牙無(wú)線數(shù)傳接口、RS485接口(D0-RX、D1-TX、D2-EN)、IIC/TWI接口(A4-SDA、A5-SCL)、12864液晶串行與并行接口、SD卡模塊接口、3.3V輸出端口,獨(dú)立擴(kuò)展更加易用。對(duì)于電子技術(shù)知識(shí)較薄弱的初學(xué)者來(lái)說(shuō),不再為繁瑣復(fù)雜電路連線而頭疼,這款傳感器擴(kuò)展板真正意義上實(shí)現(xiàn)了電路簡(jiǎn)化,能夠很容易地將常用傳感器連接起來(lái)。完成電路連接后,編寫(xiě)相應(yīng)的Arduino程序下載到Arduino主控板中就可輕松完成各種互動(dòng)作品。
3.3藍(lán)牙模塊
BluetoothBee藍(lán)牙無(wú)線數(shù)傳模塊采用XBEE造型設(shè)計(jì),體積尺寸緊湊,兼容傳感器擴(kuò)展板底座,適用于各種3.3V的單片機(jī)系統(tǒng),模塊可以使用AT指令設(shè)置主從模式、波特率、配對(duì)密碼、用戶信息等。
3.4MP3播放模塊
DFRduinoPlayerMP3語(yǔ)音播放模塊支持的音頻格式有WAV、MP3、MIDI,支持的通信方式有串口(UART)、IIC。串口通信默認(rèn)的波特率是19200bps,I-IC通信的地址為0X35。插在MP3播放模塊上的SD卡需先格式化為FAT格式,并在根目錄下新建sound文件夾,將音頻歌曲文件存放在sound文件夾內(nèi),如圖5所示。由于Arduino主控板通過(guò)藍(lán)牙向智能終端發(fā)送的是字符的ASCII碼,而這種傳輸方式不適合中文漢字傳送,所以需為中文歌曲文件命名為英文名或漢語(yǔ)拼音名。sound文件夾內(nèi)6首歌曲如下:GHSY(光輝歲月)、WQS(忘情水)、GXDY(故鄉(xiāng)的云)、PYBK(朋友別哭)、KLLJ(快樂(lè)老家)、XF(小芳)。其指令格式如表1所示。
3.5吸頂喇叭
吸頂喇叭被放在天花板上,將線材隱藏于無(wú)形,接收MP3模塊輸出的音樂(lè)進(jìn)行播放,給居家創(chuàng)造和諧輕松的氛圍。如圖6所示。傳感器擴(kuò)展板插在Arduino主控板上,藍(lán)牙模塊插入擴(kuò)展板的Xbee插槽內(nèi),MP3播放模塊的+5V、GND、SCL、SDA接到傳感器擴(kuò)展板的IIC接口上,MP3模塊的音頻輸出接到吸頂喇叭上,并在MP3模塊上插入已下載音樂(lè)的SD卡。在擴(kuò)展板上通過(guò)跳線帽選擇IIC通信模式。
4系統(tǒng)軟件
4.1Arduino端程序代碼
Arduino主控板代碼中保存有歌曲清單,當(dāng)智能終端向Arduino端發(fā)送索取歌曲清單指令時(shí),將歌曲清單傳送給智能終端,智能終端讀取后在相應(yīng)組件顯示歌曲名,以備播放歌曲使用。主控板與智能終端之間的通信協(xié)議為:主控板收到100向智能終端發(fā)送歌曲清單;主控板收到1~6,播放第一首到第六首歌曲之中的某一首;主控板收到7播放上一首歌曲;主控板收到8播放下一首歌曲;主控板收到9暫停播放;主控板收到10繼續(xù)播放。
4.2智能終端程序代碼
智能終端的App采用AppInventor進(jìn)行編程,它是一種圖形化編程工具,功能強(qiáng)大,可快速開(kāi)發(fā)Android系統(tǒng)應(yīng)用程序。4.2.1藍(lán)牙連接“連接藍(lán)牙”按鍵應(yīng)在“搜索藍(lán)牙”完成后被激活。圖7代碼完成智能終端與Arduino主控板的藍(lán)牙連接,以實(shí)現(xiàn)后續(xù)無(wú)線通信。4.2.2“歌曲X”鍵。定義兩個(gè)全局變量,number用于存放當(dāng)前正在播放歌曲的序號(hào),playbill用于存放歌曲名。當(dāng)“歌曲1”后面的按鈕被按下時(shí),如果其有節(jié)目,則通過(guò)藍(lán)牙向Arduino發(fā)送播放歌曲1的命令,并同時(shí)在當(dāng)前播放歌曲組件上顯示當(dāng)前播放歌曲的名稱(chēng),將播放歌曲的序號(hào)改變?yōu)楫?dāng)前序號(hào),如圖8所示。歌曲2到歌曲6的代碼設(shè)計(jì)同歌曲1。4.2.3“刷新”鍵點(diǎn)擊。“刷新”按鈕,智能終端通過(guò)藍(lán)牙向Arduino發(fā)送索取節(jié)目單命令,并判斷藍(lán)牙是否收到數(shù)據(jù)。如果收到數(shù)據(jù),將歌曲名稱(chēng)在相應(yīng)組件進(jìn)行顯示,同時(shí)將歌曲名稱(chēng)保存到數(shù)據(jù)庫(kù)中。由于從Arduino主控板發(fā)送的每個(gè)歌曲名稱(chēng)后面都帶有回車(chē)符和換行符,所以歌曲名稱(chēng)的長(zhǎng)度是19字節(jié),最后的兩個(gè)字節(jié)對(duì)智能終端來(lái)說(shuō)是無(wú)用的,可以只接收而不處理。部分代碼如圖9所示。4.2.4“上一首”、“下一首”鍵點(diǎn)擊“上一首”按鈕,向Arduino主控板發(fā)送相應(yīng)命令,同時(shí)更新“當(dāng)前播放歌曲”所顯示的內(nèi)容為新歌曲,將播放歌曲的序號(hào)改變?yōu)樾滦蛱?hào)。部分代碼如圖10所示?!跋乱皇住辨I的設(shè)計(jì)方法與“上一首”鍵相同,部分代碼如圖11所示。4.2.5“暫停/播放”鍵。變量fre用于記錄“暫停/播放”鍵按下的是奇數(shù)次還是偶數(shù)次,如果是奇數(shù)次被按下,則向Arduino發(fā)送“暫?!泵?;如果是偶數(shù)次被按下,則向Arduino發(fā)送“繼續(xù)播放”命令。如圖12所示。4.2.6App初始化初始化時(shí)先將“連接藍(lán)牙”鍵失能,待“搜索藍(lán)牙”配對(duì)完成后,再將其激活使能,以完成通信雙方的連接。從數(shù)據(jù)庫(kù)中獲取歌曲清單,如果數(shù)據(jù)庫(kù)中有數(shù)據(jù),將歌曲清單傳送到相應(yīng)的組件進(jìn)行顯示;如果數(shù)據(jù)庫(kù)中沒(méi)有數(shù)據(jù),通過(guò)點(diǎn)擊“刷新”按鈕獲取歌曲清單。部分代碼如圖13所示。4.2.7智能終端程序運(yùn)行。在智能終端運(yùn)行程序的實(shí)際效果如圖14所示。
5結(jié)語(yǔ)
設(shè)計(jì)基于ArduinoUNOR3微控制器、藍(lán)牙模塊、MP3播放模塊及智能終端的家居音樂(lè)控制系統(tǒng),可以進(jìn)行本地?zé)o線觸控操作。經(jīng)運(yùn)行驗(yàn)證表明,該系統(tǒng)簡(jiǎn)單易用、延時(shí)極小、運(yùn)行穩(wěn)定。曼妙輕柔的音樂(lè)縈繞在身邊,營(yíng)造一種溫馨的居家氛圍,提高了人們的生活質(zhì)量。
作者:崔俊 單位:重慶安全技術(shù)職業(yè)學(xué)院