|
“有屏幕的地方,就有壞蘋果”,足以說明壞蘋果的流行。壞蘋果搭配的視頻是黑白風格的,特別適合單色屏來顯示。單片機有不少好玩的東東,壞蘋果就是其中一個。下面我簡單介紹一下自己用STC8A8K64S4A12單片機演示壞蘋果的過程。
這次用到的硬件有:STC8A8K64S4A12單片機、0.96寸 OLED、SD卡槽和VS1053音頻解碼IC。首先,我們需要下載一個壞蘋果的視頻文件,這個視頻文件網上很容易找到,就不貼鏈接了。STC8A8K64S4A12單片機的性能不高,不能用于軟解視頻文件。不過,STC8A8K64S4A12單片機驅動OLED顯示圖片還是綽綽有余的。需要把視頻畫面截取成多個畫面,我用PotPlayer軟件,選擇視頻-連續截取畫面,在尺寸設置欄目,設置截取為自定義尺寸128×64,在格式設置欄目,設置BMP,在截圖設置欄目,設置采集數量9999,設置按幀間隔 每幀1。
截取完成后,能截取處多張BMP格式的圖片。此時的BMP圖片不是純粹的單色灰度,帶有不少其他信息,為了把這部分信息剔除,用Image2Lcd軟件,將BMP圖片批量轉換成單色的BMP圖片。
這樣,每張圖片大小為1084個字節,前面60個字節是BMP的文件大小、分辨率等信息,后面1024個字節是像素信息,對應128×64分辨率。PC端的BMP圖片顯示順序是列:左→右,行:下→上。以根據這個特點,寫BMP圖片顯示的處理函數時,要最先填充第七頁的128個數據,然后是第六頁···直到第零頁的128個數據。為了方便單片機讀取圖片數據,我將所有的BMP文件復制合并為一個bin文件。合并的方法也很簡單,將所有的BMP文件復制到SD中,利用開源fatfs文件系統,讓單片機每次加載BMP內的數據,再寫入到一個合并bin文件的末尾。經過多輪操作后,就可以完成所有的BMP文件的合并。
壞蘋果的音頻也是用PotPlayer軟件獲取,選擇聲音-音軌-聲音錄制,格式設置欄目,選擇格式:MP3,質量:128kbps。這樣就能得到MP3格式壞蘋果音頻文件了。音頻數據的解碼是用VS1053,單片機將音頻數據流傳輸給VS1053,VS1053就能自動識別和解碼,非常方便。
經過上面的步驟,現在已經有了一個合并的bin圖像文件和一個mp3音頻文件,把這兩個文件放在SD卡的根目錄下面。接下來就是數據的顯示處理了。要實現同時帶動畫和聲音的壞蘋果,需要在每輪依次讀取圖像數據和音頻數據,然后驅動OLED顯示和VS1053。程序實現方面我就不細講了,代碼有注釋。
下面是演示視頻的鏈接地址:https://v.youku.com/v_show/id_XN ... 42.soresults.dtitle
下面badapple工程圖
下面是硬件實物圖
相關工程和文件會傳到附錄中,需要的可以下載。
|
-
-
badapple.rar
2020-2-19 20:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
4.92 MB, 下載次數: 89, 下載積分: 黑幣 -5
工程相關文件
|