目錄
1.硬體總體框圖
2.材料準備
3.IO口的連接
4.自制的模塊
5.源程式及其相關模塊資料
6.最終效果演示
1.硬體總體框圖

作業原理:電腦,手機等外部設備3.5mm耳機孔輸出音頻信號,經過繼電器模塊的音源選擇后,繼電器模塊的輸出分為兩路,一路給有源音響播放音樂,一路經過音頻信號調理電路輸入到STM32單片機的引腳進行采樣和AD轉換后由程式進行FFT變換,將FFT變換結果的幅值譜顯示在LED全彩顯示屏上,語音播放模塊用于播放鬧鐘語音報時及鬧鈴音樂,默認情況下繼電器模塊選擇外界設備的音源,當鬧鐘時間到時,繼電器動作切換為語音模塊音源,
2.材料準備
STM32F103核心板
全彩LED顯示屏單元板 P4 64*32 (16掃,75介面)滿足此條件的LED屏都行,大家可以上某寶買
DS3231模塊
雙路繼電器模塊
DY-SV5W語音模塊
按鍵模塊(自制)
音頻調理電路(自制)
若干個3.5mm音頻母座,一條3.5mm公對公音頻線
16P的牛角座及其16P的灰排線
能夠提供3A左右的5V直流電源一個,可以是開關電源或電源配接器
由于LED顯示屏的內部芯片是5V邏輯電平為了確保單片機與LED顯示屏通信正常建議增加兩塊八路3.3V轉5V的電平轉換模塊,確保電平匹配通信正常,
3.IO口的連接
看程式中的宏定義即可
這里說一下LED顯示屏75介面的定義

由于LED顯示屏是64*32的,75介面的ABCD是行選信號輸入,因此最多只能選擇16行,而LED顯示屏是32行的,因此這里分為兩個16行的上下半屏同時進行動態掃描,因此RGB資料也分為上下半屏,DR1表示上半屏的紅色資料串行輸入,DR2表示下半屏的紅色資料串行輸入,其他的類似,CLK是移位脈沖,LED屏一共有64列,因此每顯示一行都需要移入64次的資料,并且上下半屏的RGB資料需要同時移入,因為每次行選中的是上下半屏各一行,LAT是用于鎖存資料,這樣資料移位時,不會改變鎖存器的輸出,OE是使能輸入,當OE低電平時打開整個螢屏的顯示,OE高電平時關閉整個螢屏的顯示,利用OE就可以很方便的通過PWM控制整體亮度,以及消除鬼影,
4.自制的模塊

按鍵模塊 原理圖
圖中IO連接只是一個示例,大家可以自己定義,
接下來就是焊接,,,


按鍵模塊實物

音頻調理電路
電腦或手機耳機孔輸出的音頻信號是交流小信號,信號的振幅較小,而STM32單片機AD轉換能夠轉換的信號是0V~3.3V的直流信號,因此音頻信號需要經過音頻信號調理電路抬升電平并且進行一定程度的放大,才能輸入到STM32單片機的引腳進行采樣和AD轉換,因此利用可以作為運放使用的耳放TDA1308,使它作業在單電源供電3.3V模式下的反相比例放大,通過R1和R2分壓向同相輸入端提供直流偏置電壓,將音頻信號的電平抬升1.65V,這樣輸出的音頻信號就是在1.65V電平基準上做擺幅的直流信號了,這里只取左右聲道的其中一個聲道進行采樣,并且根據傅里葉變換的原理,信號反相并不影響其幅值譜,只對相位譜有影響,而我們顯示的音樂頻譜是幅值譜,所以不影響顯示的正確性, 當然也可以將電路做成反相加法電路,將左右聲道合成為一路輸出,

黃色框選中的即音頻信號調理模塊
接下來是各模塊的焊接,,,

最終的電路板整體

5.源程式及其相關模塊資料
鏈接: https://pan.baidu.com/s/1qWe_9N8qMwU5upi2mXLJLQ 提取碼: j3ex
有關FFT演算法部分的程式,建議參考:第四章快速傅立葉變換(FFT) - 百度文庫 (baidu.com)
6.最終效果演示
https://www.bilibili.com/video/BV1dw41197LB?share_source=copy_web
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291584.html
標籤:其他
上一篇:目標檢測也就是這么簡單
