摘 要:本文設計一款基于單片機的音樂彩燈控制器,該控制器能使彩燈的閃爍節奏隨著音樂信號的變化而變化。文中詳細論述了音樂彩燈控制器的硬件原理電路,包括振蕩、時鐘、復位等模塊電路,以及如何在硬件電路的基礎上通過單片機進行軟件編程最終實現音樂與彩燈的同步控制。
關鍵詞:音樂彩燈;同步控制;信號采集
在現代生活中,很多場合都能看到彩燈的身影,用彩燈來裝飾街道和城市廣告牌已經成為了一種時尚。隨著科學技術的不斷發展,LED彩燈控制系統由以前的靠硬件電路設計逐漸轉變成以單片機為核心的軟硬件電路設計,利用程序實現彩燈的花樣顯示。因此,一款電路結構簡單、能實現按照不同模式閃亮,在不同場合、不同時段能按需要調節閃爍時間、模式、頻率等動態參數的多功能音樂彩燈控制器,越來越具有較高的實際意義和應用價值。
一、音樂彩燈控制器的原理分析
音樂彩燈控制器是將音樂這種可聽信號轉化為彩燈閃爍的可視信號的一種裝置,能為人們提供不同的視聽效果。本文所設計的控制器是將音樂信號經過FFT(Fast Fourier Transformation,即快速傅氏變換,是離散傅氏變換的快速算法)計算后產生n(led陣列燈數)個數據,然后將每一個數據發送到led陣列中相應的點上,從而實現音樂與彩燈的同步控制。
二、系統構成
本系統是一個基于單片機控制的音樂彩燈控制器,以實現將電腦、手機等音樂播放裝置所播放的聲音同步轉化成在led陣列板上閃爍的音樂噴泉。它的主要特點是重力自動換向、7種經典模式可調、20級亮度可調、掉電記憶。當單片機接收到音樂信號后,經過FFT算法計算出所采集到的音樂信號所對應的數值,然后將每個數值發送到每列的每個點上,從而實現將不同頻率的音樂信號以不同的形式在led陣列板上顯示出來,以達到音樂與彩燈的同步控制。
1.總體框圖
本設計是以STC12C5A60S2為主控芯片,將運算控制程序寫入單片機后實現彩燈與音樂的同步控制,整個系統由程序控制工作。用戶根據需求用按鍵調節亮度及工作模式,不需要改變硬件電路。總體框圖如圖1所示:
■
圖1 系統總體框圖
2.控制器外圍電路
控制器外圍電路除了具有單片機應有的時鐘、復位電路最小系統外,還有重力感應、通信串口和控制按鍵電路等。重力感應裝置采用水銀——金屬式水銀開關。水銀開關作為重力感應裝置具有體積小、價格低、工作穩定性強,可在惡劣條件下使用等特點。控制按鍵采用普通雙腳按鍵。
3.控制器
控制器是本系統的核心,采用STC12C5A60S2高性價比的單片機。該單片機為單時鐘/機器周期的單片機,具有高速、低功耗、超強抗干擾、低價等諸多優點的新一代8051單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。內部集成的MAX810專用復位電路,可以使復位電路更加簡單,復位腳可直接1K的電阻到地,同時自帶60K FLASH ROM,使單片機的運算速度和寫入擦寫速度更快一步。
4.Led陣列
Led陣列大小由192個高亮紅、綠、藍led彩燈按16*12分布組成。每一列的led顏色相同。陣列的每一列、每一排分別與單片機相應的I/O口相連進行通信。Led陣列可直接由單片機供電。同時,列與列、排與排之間的間距應該嚴格地掌握好,從而展示出更好的視覺效果。
三、控制算法
本控制器的基本程序算法是FFT,將音樂信號經過FFT算法運算之后生成n位數據,從而將音樂分頻,使音樂信號可以在led陣列的不同頻段顯示出來。下面對FFT算法進行簡單的介紹。
FFT(Fast Fourier Transformation),即為快速傅氏變換,是離散傅氏變換的快速算法,它是根據離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算法進行改進獲得的。FFT算法可以將一個信號變換到頻域。另外,FFT可以將一個信號的頻譜提取出來,這在頻譜分析方面也是經常用的。這就是該系統將音樂信號采用FFT變換的原因。同時FFT運算結果的點數與采樣的點數相同,所以當設定好led陣列的大小時也就確定了FFT運算結果的點數,從而知道FFT運算的采樣點數。該算法可以很好地將音樂信號與輸出信號同步處理,從而實現音樂與彩燈的同步控制。
FFT算法可以快速的將采樣的音樂信號運算得出結果,很好地滿足采樣與輸出的同步要求。但同時該算法對單片機的性能要求較為高,原始的8051單片機很難滿足該算法的需求。本文所設計的系統采用STC12C5A60S2單片機可以很好地運行該算法,因此本系統可以完美地將音樂信號與彩燈的閃爍進行同步處理,顯示隨著音樂的節奏進行跳躍的優美音樂噴泉。
參考文獻:
[1](美)舍茨.實用電子元器件與電路基礎[M].北京:電子工業出 版社,2009.
[2]楊光友.單片機微型計算機原理及接口技術[M].北京:中國水利水電出版社,2002.