張宇 王善偉


摘要:本文介紹了一種基于STM32的遙控家用點陣屏的設計方法。以STM32F103C8T6單片機為控制核心,利用內部A/D采集光敏電阻信號和音頻信號,以調節屏幕亮度并得到音樂頻譜;利用STM32內部RTC時鐘獲取時間信息,利用DS18B20溫度傳感器獲取溫度信息。最終測試結果表明:該系統既可當萬年歷使用,又可以當成溫度計使用,還可以顯示多彩動態的音樂頻譜,帶來真正的視聽享受。
關鍵詞:STM32;點陣屏;FFT;RTC;DS18B20;頻譜;遙控
中圖分類號:TP23? ? ? ?文獻標識碼:A
文章編號:1009-3044(2019)16-0295-02
開放科學(資源服務)標識碼(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點陣屏,作為新的顯示媒體,可以顯示運動的發光圖文,顯示信息量比較大,可滿足戶內外的顯示要求,有著非常好的廣告和告示效果。LED點陣屏室外的應用很廣泛,室內的也有,但主要集中在政府和單位的室內宣傳顯示,家用的LED點陣屏顯示幾乎沒有。
隨著生活水平的提高,人們除了注重產品的性能外,也越來越注重產品的裝飾效果。現在的音響品質越做越好,外表也美觀,但是缺乏一種動態的音頻顯示效果。家用的萬年歷顯示屏也比較單調,只能固定的顯示時間日歷,缺乏吸引眼球的動態顯示效果。本文介紹了一種基于STM32控制的家用點陣屏的設計方案,滿足家用的實用性和裝飾性,填補家用點陣屏的空缺。
2 硬件系統設計
2.1 系統設計
基于STM32的家用點陣屏系統主要由點陣屏單元板、點陣屏控制板、遙控器三部分組成。其主控板由STM32系統模塊、音頻處理模塊、光敏電阻模塊、溫度感應模塊、蜂鳴器模塊、紅外接收模塊組成。如圖1所示,音頻輸入信號經過音頻處理電路,再經過STM32內部的A/D采集得到數字信號,通過軟件FFT快速傅里葉變換處理,將數據送到點陣屏顯示;光敏電阻電路把光信號轉化成電信號,經過A/D處理,STM32根據A/D處理得到的數據判斷光亮度,通過PWM來自動控制點陣屏的亮度;STM32通過溫度傳感器來讀取環境溫度,通過內部RTC來獲取時間數據,然后經過點陣屏顯示;紅外遙控接收電路用于與遙控器通信,獲取遙控器的按鍵值,讓控制器做出相應的處理,每接收到一次遙控信號,蜂鳴器都會響一聲。
2.2 點陣屏接口電路
本設計點陣屏單元板使用的是08接口的室內雙色點陣屏,如下圖2所示,通過單元板上的74HC138和74HC595和控制板上的STM32 I/O口相連,從而達到控制點陣屏顯示的作用,08接口控制共用到11個I/O口。
2.3 音頻輸入電路
本設計的音樂頻譜顯示需要音頻信號的輸入,但從數碼設備等輸出的音頻信號比較弱,需要放大再處理。如圖3所示,采用TDA2822將音頻信號放大后,然后送到STM32的AD進行轉換成數字信號,然后通過FFT處理,將頻譜顯示出來。AUDIO是TDA2822放大后輸出的信號。
3 系統軟件設計
3.1 系統控制流程
首先,將程序初始化,設定好相關的初始值,然后讀取溫度、時間數據,將其顯示出來,再讀取光敏電阻的電壓值,判斷光強度,然后自動調節點陣屏的亮度,并隨時處于紅外接收狀態。當接收到紅外信號時,判斷紅外信號的值,并根據該值來判定下一步動作,顯示相應的內容。
3.2 FFT音頻處理
用ADC模數轉換器對輸入進來的音頻模擬信號進行采樣,經過FFT快速傅里葉變換后,取出一些頻率項的幅度值,量化顯示,驅動點陣點亮對應LED燈。先用ADC模數轉換器對輸入進來的音頻模擬信號進行采樣,經過FFT快速傅里葉變換后,取出一些頻率項的幅度值,再量化顯示,驅動點陣點亮對應LED燈。流程圖如圖5。根據傅里葉分析,所有聲音可以拆分為數個或無數個正弦波信號,而它們又常常具有無數多的隨波分量,并且又常常是時刻變化著的,因此一個聲音的構成是相當復雜的。把聲音的頻率含量繪制成曲線,這就形成了頻譜。
4 總結
頻譜模塊的調試要分硬件電路部分和軟件部分,在不斷地修改和調試下才初步完成了要求,后面還需要優化,顯示更多的內容。基本實現了點陣屏對聲音頻譜的顯示,實時顯示溫度,時間的顯示,根據外界亮度實時調整屏幕亮度等功能,在家庭里面具有一定的實用性,有一定的開發前景。
參考文獻:
[1] 崔琳,朱磊,劉小龍,等.基于STM32F407的以太網通信模塊設計[J].計算機測量與控制,2018,26(1):260-263.
[2] 張波,丁樂.基于單片機的LED點陣屏的研究與設計[J].中國市場, 2017(15):290-291.
[3] 張仲明,郭東偉,呂巍,等.基于DS18B20溫度傳感器的溫度測量系統設計[J]. 實驗技術與管理,2018,35(5):82-85+94.
[4] 葉柳,黃志成,宋志平.基于頻譜面的黑白圖片彩色化[J].大學物理實驗, 2018, 31(1):50-53.
【通聯編輯:梁書】