制作出來的實物圖如下:
ARM端
一、門禁系統
RFID識別舵機門禁
實現步驟:遙控小車攜帶RFID射頻卡通過小區入口,此時道閘紅燈亮。若RFID與小區戶主號碼一致,則控制舵機開啟道閘放行,同時關閉紅燈,開啟綠燈,延時一段時間后,關閉道閘和綠燈,紅燈亮起。
二、車庫系統
超聲波測距車位指示燈
實現步驟:車庫內安裝超聲波測距模塊,監測遙控小車進入設定范圍內后,表示車已入庫,此時車庫綠燈滅,紅燈亮;當遙控車駛出車庫后,車庫紅燈滅,綠燈亮,表示車位空。
三、燈光系統
1、路燈、房屋裝飾燈
實現步驟:光敏傳感器監測光照值過低時控制路燈和房屋裝飾燈開啟。
2、倉庫燈
實現步驟:光敏傳感器和聲音傳感器同時控制,當光照值和聲音值同時滿足條件時開啟倉庫燈。
3、室內燈
實現步驟:移動端(Android端)通過ESP8266 WI-FI通信模塊發送指令控制燈光。
四、溫控系統
溫濕度傳感器風扇降溫
實現步驟:DHT11溫濕度傳感器或DS18B290溫度傳感器監測數據,當檢測到的數值達到設定值后控制繼電器模塊開啟風扇(小)降溫。
五、防火系統
1、MQ-2煙霧傳感器BEEP0、LED0、風扇
實現步驟:MQ-2煙霧傳感器檢測煙霧濃度值超過設定值后控制繼電器開啟風扇排風系統,同時控制LED閃爍、BEEP報警。
2、MQ-2煙霧傳感器&&火焰傳感器或DS18B20溫度傳感器&&火焰傳感器BEEP1、LED1、水泵滅火器
實現步驟:
(1)當MQ-2和火焰傳感器條件同時滿足時(此時也滿足防火系統第一點的條件),BEEP0、BEEP1、LED0、LED1、風扇排風系統、水泵滅火器同時工作。
If(mq-2&&火焰傳感器){
BEEP0、BEEP1;
LED0、LED1;
風扇排風系統;
水泵滅火器;
}
(2)當DS18B20和火焰傳感器條件同時滿足時,控制BEEP1、LED1、水泵滅火器同時工作。
If(mq-2&&火焰傳感器){
BEEP1;LED1;
水泵滅火器;
}
六、雨滴監測系統
雨滴傳感器舵機控制窗戶關閉
實現步驟:當雨滴傳感器檢測值超過設定值時控制舵機關閉窗戶,低于設定值時重新打開窗戶。
七、紅外安防系統
HC-SR501或HC-SR505人體紅外傳感器LED、BEEP報警
實現步驟:當人進入紅外傳感器監控范圍時控制LED閃爍,BEEP報警。
八、視頻監控系統
實現步驟:攝像頭模塊采集圖像數據通過ESP8266 WI-FI通信模塊實時傳到移動端(Android端)。
九、語音播報系統
實現步驟:當門禁系統、車庫系統、溫控系統、防火系統、雨滴監測系統、紅外安防系統工作時通過語音模塊播報相應內容。
門禁系統->“放行”;
車庫系統->“車已入庫”;
溫控系統->“室溫過高,開啟降溫系統”;
防火系統->(1)“煙霧濃度過高,開啟排風系統”,(2)“監測到火災,開啟滅火系統”;
雨滴監測系統->“大雨,窗戶已關閉”;
紅外安防系統->“有人靠近”。
Android端
一、門禁系統
要求:
1、顯示RFID射頻卡內容顯示道閘狀態->“開啟/關閉”;(聯動)
2、發送指令控制道閘狀態->“開啟/關閉”按鈕。
二、車庫系統
要求:
顯示車位狀態->“車位有/無”
三、燈光系統
要求:
1、顯示路燈、房屋裝飾燈狀態->“開啟/關閉”
2、顯示倉庫燈狀態->“開啟/關閉”
3、發送指令控制室內燈狀態->“開啟/關閉”按鈕
四、 溫控系統
要求:
1、顯示溫濕度值顯示風扇(小)狀態->“開啟/關閉”;(聯動)
2、發送指令控制風扇(小)狀態->“開啟/關閉”按鈕
五、 防火系統
要求:
1、顯示煙霧濃度值顯示排風系統狀態“開啟/關閉”;(聯動)
2、顯示防火系統狀態->“正常/發生火災”顯示滅火系統狀態“開啟/關閉”。(聯動)
六、雨滴監測系統
要求:
1、顯示雨滴傳感器狀態->“小雨/大雨”顯示窗戶狀態->“開啟/關閉”;(聯動)
2、發送指令控制窗戶狀態->“開啟/關閉”按鈕。
七、紅外安防系統
要求:
顯示紅外安防系統狀態->“正常/有人靠近”顯示報警系統狀態->“開啟/關閉”。(聯動)
八、視頻監控系統
要求:
ViewPager控件顯示實時監控畫面。
九、語音播報系統
由底層實現。
主板IO接線說明:
ESP8266---------------PA2/3
{
新增:
火焰傳感器----------PA1
防火繼電器----------PA4
房燈繼電器----------PA5
排風繼電器----------PA6
防火蜂鳴器----------PA7
防火報警燈----------PA8
}
DHT11-----------------PA11
降溫繼電器------------PA12
RFID------------------PB0/1/13/14/15
超聲波模塊------------PB6/7
SG90舵機--------------PB8
聲音傳感器------------PB9
光敏傳感器------------PB10
倉庫燈----------------PB11
煙霧蜂鳴器------------PB12
煙霧紅藍報警燈--------PC10/3
門禁、車庫狀態燈------PC6/7/8/9(紅綠紅綠)
MQ-2煙霧傳感器--------PC1
單片機源程序如下:
- #include "stm32f10x.h"
- #include "sys.h"
- #include "uart.h"
- #include "dht11.h"
- #include "ultrasonic.h"
- #include "time.h"
- #include "rc522.h"
- #include "pwm.h"
- #include "mq.h"
- #include "usart2.h"
- #include "common.h"
- #include "fire.h"
- int main(void){
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中斷優先級分組
- delay_init(); //延時初始化
- UartInit(115200); //串口初始化
- USART2_Init(115200); //串口2初始化
- DHT11_Init(); //溫濕度傳感器初始化
- LedInit(); //板載LED初始化
- ZledInit(); //外接LED初始化
- BeepInit(); //蜂鳴器初始化
- JdqInit(); //繼電器初始化
- TIM2Init(29994,7199); //倉庫聲光控制LED
- TIM3Init(30200,7199); //RFID舵機門禁
- UltrasonicInit(); //車庫超聲波測距初始化
- Rc522Init(); //RFID-RC522初始化
- RFID_STATE_Init(); //RFID讀取狀態檢測IO初始化
- SG90Init(); //SG90舵機初始化
- MqInit(); //煙霧傳感器初始化
- FireInit(); //火焰傳感器初始化
- atk_8266_test(); //ESP8266 wifi初始化
- while(1){
- // delay_ms(50);
- delay_ms(500);
- // atk_8266_at_response(1); //判斷手機發送過來的指令
- // RFID_Work(); //*手機發指令控制門禁開/關
- // UltrasonicWork(); //*發數據到手機顯示車位狀態
- DHT11_Work(); //*發溫濕度數據到手機/*手機發指令控制降溫開/關
- // MqWork(); //*發煙霧濃度數據到手機
- // FireWork(); //*發防火系統狀態到手機
- }
- }
復制代碼
所有資料51hei附件下載:
這里僅分享STM32的主從機代碼,給大家學習用,僅供參考,切勿照搬
從機STM32代碼.7z
(164.74 KB, 下載次數: 30)
2022-1-22 23:57 上傳
點擊文件名下載附件
從機
主機 STM32代碼.7z
(231.43 KB, 下載次數: 28)
2022-1-22 23:57 上傳
點擊文件名下載附件
主機
|