你的位置:首頁 > 光電顯示 > 正文

DIY 多彩LED留聲機(jī),給未來自己留下一份想念

發(fā)布時間:2013-09-24 責(zé)任編輯:sherryyu

【導(dǎo)讀】“時光留聲機(jī)”從名字來看就具有浪漫的氣息。雖然在智能手機(jī)滿天飛的當(dāng)代,留聲機(jī)似乎顯得有點(diǎn)過時,但是偶爾的復(fù)古氣息不是一樣會帶給人不一樣的驚喜感受嗎?下面小編教你如何制作一個留聲機(jī),讓它作為未來你的一個神秘禮物吧,相信未來的你一定會很喜歡!

像是很多人小時候都幻想擁有哆啦A夢的道具一樣,這個靈感也來源于此。我們也制造了這個設(shè)備——時光留聲機(jī)。它的功能簡單說來,像是一臺帶有網(wǎng)絡(luò)和藍(lán)牙功能的錄音機(jī),又因?yàn)樗挥幸粋€按鈕,所以我們又起了個名字給它——One Button。

留聲機(jī)的功能介紹:

在生活中有這樣的情景:家里只有一輛摩托車,有人有急事要騎車出門,又不必告訴家中的每一個人。離開前,他只要對著盒子錄一段話,盒子的顏色就從藍(lán)色變成了紅色。別人看到后,點(diǎn)一點(diǎn)按鈕就知道了原因。用燈光來提醒不同時間到來的人,這是留聲機(jī)的第一個功能。

留聲機(jī)

留聲機(jī)的第二個功能是通過藍(lán)牙來遙控發(fā)聲,它的應(yīng)用場景或許是開不了口的道歉。文字通過手機(jī)發(fā)送到盒子,合成語音來幫你說出那句說不出口的抱歉,或許會讓你輕松一些,也少一些尷尬。

留聲機(jī)

留聲機(jī)的第三個功能是可以通過網(wǎng)絡(luò)來留言,我們希望它變成一個禮物,在送出去以后,你還可以源源不斷的送上祝福。WiFi模塊可以幫助設(shè)備從網(wǎng)絡(luò)上獲取微信信息。微信客戶端可以通過向該設(shè)備留言,將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò),同時會返回哪些發(fā)出的信息已被讀取,而哪些尚未被讀到。
[page]

留聲機(jī)的制作:我們是這樣完成它的制作的!

使用的材料有:

Arduino UNO;

ISD1820錄音模塊;

SYN6658TTS語音模塊;

藍(lán)牙模塊;

WiFi模塊;

RGB LED燈帶及其它。

首先,是將Arduino和錄音模塊連接起來,使用數(shù)字端口8號來播放聲音,使用9號端口來錄制聲音,再單獨(dú)制作按鈕連接在12號端口上。因?yàn)門TS語音模塊是通過串口通訊的,所以我們把它的RX和TX分別連接在Arduino的2、3號端口,藍(lán)牙模塊的RX和TX連接在4、5號端口。因?yàn)镽GB LED燈帶的三色要使用PWM控制,所以紅綠藍(lán)三色的控制分別連接在了6、10、11號端口。串口的WiFi模塊可以連接在7、13號端口。

電路連接的部分結(jié)束后,我們使用3D打印制作了留聲機(jī)的外殼,并將電路部分固定在了里面。關(guān)于通過android端手機(jī)藍(lán)牙控制的發(fā)聲過程,首先發(fā)現(xiàn)藍(lán)牙設(shè)備,并且連接上去。

留聲機(jī)的制作

輸入你要說的話,點(diǎn)擊發(fā)送就可以讓發(fā)聲模塊發(fā)聲。還可以通過點(diǎn)擊男聲和女生來變換聲音的語調(diào)。

藍(lán)牙連接流程:

下面是藍(lán)牙的連接原理圖,首先通過界面GUI點(diǎn)擊連接按鈕通過連接按鈕的事件hitConnectButton()來發(fā)出連接命令,命令A(yù)CTION_CONNECT發(fā)送給后臺服務(wù)Background Service通過checkAddressFormat來檢查地址格式,然后通過initBuletoothDevice()來調(diào)用藍(lán)牙連接庫BlueTooth Library來初始化藍(lán)牙連接。當(dāng)藍(lán)牙連接庫返ready()的時候Background Service開始啟動連接線程startConnectThread(),接著打開藍(lán)牙連接socket,當(dāng)返回socketOpen時啟動socket連接池管理socket。然后Background Service返回給GUI命令A(yù)CTION_CONNECTED,表示連接成功。同時通過updateButtonState()來更新界面的顯示狀態(tài)。

藍(lán)牙連接流程

[page]

數(shù)據(jù)格式生成代碼:

下面是從android手機(jī)端發(fā)送給發(fā)聲模塊的數(shù)據(jù)幀結(jié)構(gòu)。下面的代碼就是怎么樣在android上用java代碼生成這樣的數(shù)據(jù)格式。經(jīng)調(diào)試該發(fā)聲模塊目前能接受的是GBK的數(shù)據(jù)編碼格式,所以我們用message.getBytes(“GBK”)來生成該編碼格式。Msg_byte_len是數(shù)據(jù)幀總長度,byteHead代表幀頭,byteLen代表數(shù)據(jù)區(qū)長度,byteType代表命令字和命令參數(shù),然后將這些數(shù)據(jù)組合在destArray中,發(fā)送到發(fā)聲模塊上,發(fā)聲即可。

數(shù)據(jù)格式生成代碼

稍加調(diào)試,留聲機(jī)就基本能工作起來了。對我們最具挑戰(zhàn)的第三個功能——網(wǎng)絡(luò)留言功能,也使用微信的API測試成功。當(dāng)它被作為禮物送給對方的時候,你還可以在后面的日子里訪問它,很喜歡為它設(shè)計的廣告語:每一份愛都應(yīng)該得到禮物,每一份禮物都應(yīng)該持續(xù)不斷地得到祝福。
 
相關(guān)閱讀:
物盡其用,【拆解+改造+測試】升級LED紅外線人體感應(yīng)燈
http://m.forexsooq.com/opto-art/80021547

DIY數(shù)碼相機(jī)全程展現(xiàn),耗時半月
http://m.forexsooq.com/gptech-art/80021520

要采購盒子么,點(diǎn)這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉