系统功能:
手机开启2.4G WiFi热点后再给系统上电
系统操作说明:
上电后OLED显示 “欢迎使用智能路灯系统请稍后”,两秒后显示Connecting...表示
正在连接阿里云,正常连接阿里云后显示第一页面,如长时间显示Connecting...请
检查WiFi网络是否正确。
第一页面第一行显示温湿度信息,第二行显示烟雾和雨量值,第三行显示路灯状态(打开
或关闭状态),第四行显示系统模式(手动或自动)。
手动模式下短按B3按键可开关路灯
短按B4按键可切换系统模式
系统连接阿里云后,可在阿里云平台查看到系统上报的温湿度值,雨量和烟雾值,路灯状态。
主要功能模块原理图:
电源时钟烧录接口:
单片机和按键输入电路:
传感器采集电路:
资料获取地址
系统主要功能模块代码
初始化代码:
/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init */InitVar();/* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_USART2_UART_Init();MX_ADC1_Init();/* USER CODE BEGIN 2 *///uart2打开接收中断HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);InitOled();InitOledDisp();ResetDHT11();//初始化ESP8266ESP8266_Init(); HAL_Delay(100);OledFill(0x00); //全屏熄灭 /* USER CODE END 2 */
系统控制代码;
//系统信息更新void SystemControl(void){static uint8_t updateCnt = 0;updateCnt++; if(updateCnt>=SYSTEM_UPDATE_INTER){updateCnt = 0;if(DHT11ReadData()==0) //DHT11温湿度读取OK{;} Aliyun_SendData();}ReadSensorVal();}
读传感器数据:
//读传感器值void ReadSensorVal(void){//计算雨量值getRainVal = ReadADCChannel(ADC_CHANNEL_0);//计算烟雾值getMQ2Val = ReadADCChannel(ADC_CHANNEL_4);//自动模式下根据光照强度开关灯if(sysMode==AUTO_MODE){//读光照传感器状态 if(GetIntensityStatus()==HIGH_LEVEL){LIGHT_ON();lightState = true;}else{LIGHT_OFF(); lightState = false;}}}
此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。