一.系統(tǒng)概述
聲控?zé)粝到y(tǒng)以STM32為核心控制單元,實(shí)現(xiàn)了聲音控制燈光效果、溫濕度監(jiān)測(cè)和顯示、以及音樂播放功能,同時(shí)支持遠(yuǎn)程控制和信息顯示,具體包括以下主要功能和相關(guān)硬件模塊:
1. 聲音傳感器與WS2812控制:
- 使用聲音傳感器采集環(huán)境聲音并轉(zhuǎn)化為模擬信號(hào)。
- 根據(jù)采集的模擬電壓信號(hào)判斷聲音強(qiáng)度。
- 控制WS2812 LED燈呈現(xiàn)不同的閃爍模式和顏色。
- 可通過WiFi連接,在手機(jī)端調(diào)節(jié)顏色風(fēng)格和閃爍模式。
2. 溫濕度傳感器與顯示屏控制:
- 控制溫濕度傳感器采集環(huán)境溫濕度數(shù)據(jù)。
- 控制顯示屏顯示采集到的溫濕度信息。
3. 語音播報(bào)模塊:
- 控制語音播報(bào)模塊播放歌曲。
- 在顯示屏上顯示當(dāng)前播放歌曲的名稱。
電路圖采用Altium Designer進(jìn)行設(shè)計(jì):
1. 通過STM32F103C8T6單片機(jī)作為系統(tǒng)主控,最小系統(tǒng)電路是整個(gè)電路的核心;
2. 使用KY-037聲音傳感器進(jìn)行聲音檢測(cè),模塊的模擬輸出腳與單片機(jī)的模擬輸入腳進(jìn)行連接;
3. 通過DHT11進(jìn)行溫濕度檢測(cè),并通過one-wire總線與單片機(jī)的GPIO腳進(jìn)行連接;
4. 使用獨(dú)立按鍵進(jìn)行聲音強(qiáng)度閾值,按鍵的一端接地,一端接單片機(jī)的GPIO口;
5. 通過ESP8266-01S將檢測(cè)到數(shù)據(jù)上傳到上位機(jī),通過UART串口與單片機(jī)進(jìn)行通信;
6. 使用JR6001進(jìn)行語音播報(bào),并通過UART串口與單片機(jī)進(jìn)行連接。
7. 通過0.96寸的OLED12864進(jìn)行數(shù)據(jù)顯示,采用IIC總線的形式與單片機(jī)進(jìn)行通信。
三.程序設(shè)計(jì)
#include "sys.h" #include "delay.h" #include "adc2.h" #include "math.h" #include "key.h" #include "OLED_I2C.h" #include "Control_Report_To_Police.h" /************************************************ 版權(quán):小常硬件 公眾號(hào):微信搜索“小常硬件“在公眾號(hào)免費(fèi)下載相關(guān)資料 ************************************************/ int main(void) { u32 JR6001_Uart_bound=9600; u32 ASR01_Uart_bound=9600; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí) delay_init(); //延時(shí)函數(shù)初始化 TIM4_Init(300,7200); while(DHT11_Init()){} KEY1_Init(); Adc_Init(); Led1_init(); OLED_Init(); OLED_CLS(); //OLED清屏 OLED_ShowCN(32,2,0); //小常硬件 OLED_ShowCN(32+16,2,1); OLED_ShowCN(32+32,2,2); OLED_ShowCN(32+32+16,2,3); JR6001_Uart1_init(&JR6001_Uart_bound); ASR01_Uart1_init(&ASR01_Uart_bound); ALi_ESP8266_GPIO_Init(); MQTT_Buff_Init(); AliIoT_Parameter_Init(); OLED_CLS(); OLED_ShowCN(0,0,10); OLED_ShowCN(0+16,0,11); OLED_ShowCN(0,2,12); OLED_ShowCN(16,2,13); OLED_ShowCN(0,4,14); OLED_ShowCN(16,4,15); JR6001_Uart1_Voice_Add(); while(1) { OLED_Display_Cotrol(); //顯示控制函數(shù) } }
四.實(shí)物圖
-
傳感器
+關(guān)注
關(guān)注
2552文章
51259瀏覽量
755001 -
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44586瀏覽量
636718 -
STM32
+關(guān)注
關(guān)注
2270文章
10912瀏覽量
356695 -
聲控?zé)?/span>
+關(guān)注
關(guān)注
2文章
24瀏覽量
17812
原文標(biāo)題:STM32開發(fā)實(shí)例_基于STM32單片機(jī)的聲控?zé)粝到y(tǒng)(電路圖+程序+流程圖)
文章出處:【微信號(hào):小常硬件,微信公眾號(hào):小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
STM32F1系列單片機(jī)的時(shí)鐘系統(tǒng)
![<b class='flag-5'>STM32</b>F1系列<b class='flag-5'>單片機(jī)</b>的時(shí)鐘<b class='flag-5'>系統(tǒng)</b>](https://file.elecfans.com//web2/M00/9A/2C/poYBAGQcH22AdLQtAAC8ZIuClnE265.jpg)
基于MSP430F5529單片機(jī)的聲控燈設(shè)計(jì)
51單片機(jī)聲控路燈設(shè)計(jì)
STM32單片機(jī)的最小系統(tǒng)
基于STM32單片機(jī)的TIM定時(shí)器中斷控制不同燈閃爍
hc05與單片機(jī)連接圖_STM32單片機(jī)最小系統(tǒng)詳解
![hc05與<b class='flag-5'>單片機(jī)</b>連接圖_<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>最小<b class='flag-5'>系統(tǒng)</b>詳解](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于STM32單片機(jī)的路燈系統(tǒng)設(shè)計(jì)
基于51單片機(jī)的聲控光控觸摸LED燈設(shè)計(jì)
基于STM32單片機(jī)的智能拐杖系統(tǒng)設(shè)計(jì)
![基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的智能拐杖<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)](https://file1.elecfans.com/web2/M00/A1/2A/wKgZomTxPbKAT38LAAALSuOBMcM322.jpg)
基于51單片機(jī)的聲控燈設(shè)計(jì)
基于51單片機(jī)的聲控燈設(shè)計(jì)
基于STM32單片機(jī)的智能冰箱控制系統(tǒng)設(shè)計(jì)
![基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的智能冰箱控制<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)](https://file1.elecfans.com/web2/M00/F2/B1/wKgZomZ6G_SATQp4AAAR2-dC_Pk153.jpg)
評(píng)論