張宇 王善偉
摘要:本文介紹了一種基于STM32的遙控家用點陣屏的設(shè)計方法。以STM32F103C8T6單片機為控制核心,利用內(nèi)部A/D采集光敏電阻信號和音頻信號,以調(diào)節(jié)屏幕亮度并得到音樂頻譜;利用STM32內(nèi)部RTC時鐘獲取時間信息,利用DS18B20溫度傳感器獲取溫度信息。最終測試結(jié)果表明:該系統(tǒng)既可當(dāng)萬年歷使用,又可以當(dāng)成溫度計使用,還可以顯示多彩動態(tài)的音樂頻譜,帶來真正的視聽享受。
關(guān)鍵詞:STM32;點陣屏;FFT;RTC;DS18B20;頻譜;遙控
中圖分類號:TP23? ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)16-0295-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
Abstract: This paper introduces a design method of the telecontrol household lattice screen based on STM32. This screen uses STM32F103C8T6 SCM as its contorl core and an internal A/D module which captures the photoresistance signal to adjust the screen luminance to get musical spectrum. Moreover, screen uses internal RTC clock of STM32 to acquire time information and uses DS18B20 temperature sensor to attain temperature information. The final test results show that the system can be used not only as a calendar, but also as a thermometer. It can also display colorful and dynamic music spectrum, bringing real audio-visual enjoyment.
Key words: STM32;Lattice screen; FFT; RTC;DS18B20;spectrum;Remote control
1引言
LED點陣屏,作為新的顯示媒體,可以顯示運動的發(fā)光圖文,顯示信息量比較大,可滿足戶內(nèi)外的顯示要求,有著非常好的廣告和告示效果。LED點陣屏室外的應(yīng)用很廣泛,室內(nèi)的也有,但主要集中在政府和單位的室內(nèi)宣傳顯示,家用的LED點陣屏顯示幾乎沒有。
隨著生活水平的提高,人們除了注重產(chǎn)品的性能外,也越來越注重產(chǎn)品的裝飾效果?,F(xiàn)在的音響品質(zhì)越做越好,外表也美觀,但是缺乏一種動態(tài)的音頻顯示效果。家用的萬年歷顯示屏也比較單調(diào),只能固定的顯示時間日歷,缺乏吸引眼球的動態(tài)顯示效果。本文介紹了一種基于STM32控制的家用點陣屏的設(shè)計方案,滿足家用的實用性和裝飾性,填補家用點陣屏的空缺。
2 硬件系統(tǒng)設(shè)計
2.1 系統(tǒng)設(shè)計
基于STM32的家用點陣屏系統(tǒng)主要由點陣屏單元板、點陣屏控制板、遙控器三部分組成。其主控板由STM32系統(tǒng)模塊、音頻處理模塊、光敏電阻模塊、溫度感應(yīng)模塊、蜂鳴器模塊、紅外接收模塊組成。如圖1所示,音頻輸入信號經(jīng)過音頻處理電路,再經(jīng)過STM32內(nèi)部的A/D采集得到數(shù)字信號,通過軟件FFT快速傅里葉變換處理,將數(shù)據(jù)送到點陣屏顯示;光敏電阻電路把光信號轉(zhuǎn)化成電信號,經(jīng)過A/D處理,STM32根據(jù)A/D處理得到的數(shù)據(jù)判斷光亮度,通過PWM來自動控制點陣屏的亮度;STM32通過溫度傳感器來讀取環(huán)境溫度,通過內(nèi)部RTC來獲取時間數(shù)據(jù),然后經(jīng)過點陣屏顯示;紅外遙控接收電路用于與遙控器通信,獲取遙控器的按鍵值,讓控制器做出相應(yīng)的處理,每接收到一次遙控信號,蜂鳴器都會響一聲。
2.2 點陣屏接口電路
本設(shè)計點陣屏單元板使用的是08接口的室內(nèi)雙色點陣屏,如下圖2所示,通過單元板上的74HC138和74HC595和控制板上的STM32 I/O口相連,從而達(dá)到控制點陣屏顯示的作用,08接口控制共用到11個I/O口。
2.3 音頻輸入電路
本設(shè)計的音樂頻譜顯示需要音頻信號的輸入,但從數(shù)碼設(shè)備等輸出的音頻信號比較弱,需要放大再處理。如圖3所示,采用TDA2822將音頻信號放大后,然后送到STM32的AD進行轉(zhuǎn)換成數(shù)字信號,然后通過FFT處理,將頻譜顯示出來。AUDIO是TDA2822放大后輸出的信號。
3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)控制流程
首先,將程序初始化,設(shè)定好相關(guān)的初始值,然后讀取溫度、時間數(shù)據(jù),將其顯示出來,再讀取光敏電阻的電壓值,判斷光強度,然后自動調(diào)節(jié)點陣屏的亮度,并隨時處于紅外接收狀態(tài)。當(dāng)接收到紅外信號時,判斷紅外信號的值,并根據(jù)該值來判定下一步動作,顯示相應(yīng)的內(nèi)容。
3.2 FFT音頻處理
用ADC模數(shù)轉(zhuǎn)換器對輸入進來的音頻模擬信號進行采樣,經(jīng)過FFT快速傅里葉變換后,取出一些頻率項的幅度值,量化顯示,驅(qū)動點陣點亮對應(yīng)LED燈。先用ADC模數(shù)轉(zhuǎn)換器對輸入進來的音頻模擬信號進行采樣,經(jīng)過FFT快速傅里葉變換后,取出一些頻率項的幅度值,再量化顯示,驅(qū)動點陣點亮對應(yīng)LED燈。流程圖如圖5。根據(jù)傅里葉分析,所有聲音可以拆分為數(shù)個或無數(shù)個正弦波信號,而它們又常常具有無數(shù)多的隨波分量,并且又常常是時刻變化著的,因此一個聲音的構(gòu)成是相當(dāng)復(fù)雜的。把聲音的頻率含量繪制成曲線,這就形成了頻譜。
4 總結(jié)
頻譜模塊的調(diào)試要分硬件電路部分和軟件部分,在不斷地修改和調(diào)試下才初步完成了要求,后面還需要優(yōu)化,顯示更多的內(nèi)容。基本實現(xiàn)了點陣屏對聲音頻譜的顯示,實時顯示溫度,時間的顯示,根據(jù)外界亮度實時調(diào)整屏幕亮度等功能,在家庭里面具有一定的實用性,有一定的開發(fā)前景。
參考文獻(xiàn):
[1] 崔琳,朱磊,劉小龍,等.基于STM32F407的以太網(wǎng)通信模塊設(shè)計[J].計算機測量與控制,2018,26(1):260-263.
[2] 張波,丁樂.基于單片機的LED點陣屏的研究與設(shè)計[J].中國市場, 2017(15):290-291.
[3] 張仲明,郭東偉,呂巍,等.基于DS18B20溫度傳感器的溫度測量系統(tǒng)設(shè)計[J]. 實驗技術(shù)與管理,2018,35(5):82-85+94.
[4] 葉柳,黃志成,宋志平.基于頻譜面的黑白圖片彩色化[J].大學(xué)物理實驗, 2018, 31(1):50-53.
【通聯(lián)編輯:梁書】