DIY系列之二:MP3播放器皮帶扣
在上面的圖片中,你可以看到我決定如何擺放PCB背面的組件。音頻插孔在電路板頂部,這樣的話耳機(jī)可以直接從皮帶扣穿出。為了允許用戶從播放器中去除電池,電池連接器上沒有任何組件。
我們必須避免電池和組件之間的連接,因為該組件可能會意外地導(dǎo)致電池短路(我知道這一點(diǎn)是因為我做了它的第一個版本,這款主板燒起來并在我的手指上留下了標(biāo)記!要小心)。所以我把USB連接器放在底部,并把導(dǎo)航開關(guān)放在側(cè)面,這樣的話就不會干擾到電池。
請注意,兩個電池都由分別的標(biāo)記,但只有一個有標(biāo)識。你或許會問為什么這么做呢?事實是,我不是這個意思。在送出Gerber文件前,我沒有檢查它。看看這張截圖的布局。
提請你注意右上角的粉色大正方形。 microSD插槽被放置在頂部的板面。電池直接擺放在它之下??吹诫姵氐木G色方塊連接器了嗎?這是電池接觸的地連接。注意如果電池支持架焊接好了以后,microSD插槽就焊接在這上面,Vcc接觸正好與支持架相連接。這將會比較麻煩,因為microSD的屏蔽連接到地面,我們就會通過200毫安的電池有一個從Vcc對地的短路。不好,非常糟糕!幸運(yùn)的是,我在有人受傷前發(fā)現(xiàn)了這個問題。
現(xiàn)在,我們已經(jīng)成功地把所有東西都擺放在PCB上了,我們可以繼續(xù)進(jìn)行有趣的部分:編寫代碼!
代碼編寫
使得事情按照我希望的方式進(jìn)行是一件很有樂趣的事情。我開始通過加載SparkFun LPC2148的USB引導(dǎo)程序,這點(diǎn)您可以通過閱讀本教程來了解。引導(dǎo)程序可以讓我把固件文件放置到SD卡上,隨后LPC2148將自動重新設(shè)定新的代碼。這樣每次我要測試新代碼,就可以實現(xiàn)更快的代碼開發(fā)。
當(dāng)引導(dǎo)程序被加載到板上后,我就開始寫“真實”的代碼,或這說是實際運(yùn)行的MP3播放器的代碼。在編寫任何代碼之前,我不得不決定如何對設(shè)備進(jìn)行操作。由于沒有一個屏幕,從播放列表選擇一首歌曲是比較麻煩的。所以我決定的第一件事是,能夠隨機(jī)播放歌曲。
這是比較容易實現(xiàn)的。我還需要能夠使播放器啟動/停止、改變音量、更換歌曲。我有三個按鈕和一個加速度計來完成這些任務(wù)。我定義向上和向下的導(dǎo)航開關(guān)按鈕來改變音量,中間的按鈕來暫停/播放當(dāng)前歌曲。
唯一缺少的功能,就是改變所播放的歌曲。當(dāng)然,我決定使用加速度傳感器來檢測運(yùn)動的變化。通俗地說,改變樂曲,用戶只需做一個“臀部推力。”這是正確的,讓你身體語言來進(jìn)行操作!
我還添加了一些有趣的東西,如果加速度計檢測到用戶的舞蹈,三色LED將開始閃爍。實現(xiàn)這些代碼是不是太困難。我開始使用MP3板上的示例代碼,拋開所有我不需要的東西。然后,我只是改變了一些控制,并增加了LED的功能。變變變!皮帶扣MP3播放器就誕生了。
我希望你已經(jīng)能夠從本教程中學(xué)會了一些東西。
本文原作者:SparkFun Electronics Inc
評論