一.系統概述
智能路燈系統,具體包括以下主要功能:
1. 光敏檢測功能:
2. WIFI遠程控制:
- 使用ESP8266芯片實現WIFI連接功能,支持遠程控制。
- 使用手機APP可以對路燈進行遠程的開關。
3. 人體檢測燈光控制:
- 通過光電開關進行人體檢測。
- 如果檢測到光強低于閾值并且檢測到人就會控制LED燈亮。
4. 路燈定時開關:
- 使用DS1302進行時鐘定時。
- 按鍵設定開燈時間,當到達定時時間后控制開燈。
5. 按鍵設定閾值與控制:
- 通過按鍵進行光強閾值的設定。
- 使用按鍵直接進行路燈的開關。
二.電路設計
使用Altium Designer電路設計:
1. 使用光敏電阻模塊進行光強檢測,傳感器的模擬端與單片機的模擬輸入端相接;
2. 通過光電開關進行人體檢測,模塊的數據輸出腳與單片機的GPIO口直接連接;
3. 通過DS1302實現時鐘定時,并通過SDA、SCK、DAT三個引腳與單片機進行連接;
4. 使用獨立按鍵進行燈光控制和閾值設定,按鍵的一端接地,一端接單片機的GPIO口;
5. 通過ESP8266-01S將檢測到數據上傳到服務器端,通過UART串口與單片機進行通信。
三.程序設計
#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" /************************************************ 版權:小常硬件 公眾號:微信搜索“小常硬件“在公眾號免費下載相關模塊資料 ************************************************/ int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級 delay_init(); //延時函數初始化 KEY_Init(); Adc2_Init(); //光照 E18_D80_Init(); DS1302_GPIO_Init_Write_Time(); Led0_init(); TIM4_Init(2005,719); //定時器 72M/(719+1)=100KHz 1個計數周期是0.01ms OLED_Init(); //OLED初始化 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); delay_ms(100); OLED_CLS(); /*******顯示漢字**********/ OLED_ShowCN(0,0,14); OLED_ShowCN(0+16,0,15); // OLED_ShowCN(0,2,12); // OLED_ShowCN(0+16,2,13); // // Beep=1;//蜂鳴器初始化 系統上電后先讓蜂鳴器停止叫 while(1) { OLED_Display_Cotrol(); //顯示控制函數 } }上位機是HBuilder x開發的,并使用阿里云服務器進行數據處理
-
OLED
+關注
關注
119文章
6202瀏覽量
224254 -
STM32單片機
+關注
關注
59文章
549瀏覽量
58724 -
智能路燈
+關注
關注
6文章
97瀏覽量
22817
原文標題:STM32開發實例_基于STM32單片機的智能路燈系統(電路圖+程序+流程圖)
文章出處:【微信號:小常硬件,微信公眾號:小常硬件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論