模擬走廊燈,根據聲音和距離模擬走廊燈。
使用聲音傳感器來檢測聲音,使用超聲波模塊來測量距離(有效距離2cm~400cm),若檢測到有聲音且距離足夠近,LED 燈就會被點亮。
關鍵詞:STM32F407ZGT6,聲控,超聲波測距,感應燈
IMG20210331162642.jpg (3.31 MB, 下載次數: 55)
下載附件
調試結果
2021-3-31 16:35 上傳
下面是部分代碼:
- #include "stm32f4xx.h"
- #include "led.h"
- #include "systic.h"
- #include "usart.h"
- #include "sk_sr.h"
- #include "stdio.h"
- #include "HC.h"
- int main()
- {
- u8 data;//保存聲音的數值 1/0
- float distance;//保存超聲波檢測到的距離
- int i;
- led_init(); //LED初始化
- delay_init(168);//168M
- usart1_init(9600);//波特率9600
- SK_SR_init();//聲音初始化
- CH_SR04_Init(10000,72);//超聲波初始化,計數10000,分頻72
- while(1)
- {
- data = SK_SR_input();//接收聲音值 //1有聲,0無聲
- distance=Senor_Using();//接收超聲波檢測到的距離值
- printf("data=%d,distance=%.1fcm\r\n",data,distance);
- //判斷燈亮的條件:有聲且距離范圍為2cm~4m
- if(data == 1 && distance>=2 && distance<=400)
- {
- LED1=0;//燈亮30s
- for(i=0;i<30;i++)
- delay_ms(1000);
- }
- else
- {
- LED1=1; //滅LED1
- }
- }
- }
復制代碼
全部代碼51hei下載地址:
聲控距離感應燈項目.7z
(346.9 KB, 下載次數: 43)
2021-3-31 20:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|