一.系统概述

系统功能简述如下:

  1. 灯控制与定时功能:通过按键控制灯的开关,同时配备定时模块。设定时间后,显示屏显示倒计时,达到设定时间后控制蜂鸣器响起并自动熄灭灯光。

  2. 环境监测与控制:整合温湿度传感器实时采集环境数据。当温湿度超出设定范围时,系统将自动启动加湿器,达到预设值后自动停止,并在显示屏上显示当前的温湿度信息。

  3. 远程控制与显示:集成WiFi模块,实现手机的远程控制和数据实时显示,提高系统操作的便捷性。

在这里插入图片描述

二.电路设计

电路图设计概述如下,采用Altium Designer进行设计:

  1. 主控单元:使用STM32F103C8T6单片机作为系统的主控,构成最小系统电路。

  2. 时钟定时:通过DS1302时钟模块实现定时功能,使用SDA、SCK和DAT三条引脚与单片机连接。

  3. 数据显示:采用0.96寸OLED12864显示屏进行数据显示,使用IIC总线与单片机通信。

  4. 温湿度检测:集成DHT11温湿度传感器,通过one-wire总线与单片机的GPIO口连接。

  5. 阈值设定:使用独立按键进行阈值设定,按键一端接地,另一端接单片机的GPIO口。

  6. 数据上传:通过ESP8266-01S模块将检测到的数据上传至上位机,采用UART串口与单片机进行通信。

  7. 报警功能:使用有源蜂鸣器进行报警,蜂鸣器通过NPN三极管进行驱动。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#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(); //延时函数初始化
TIM4_Init(300,7200);
OLED_Init();
OLED_CLS();
while(DHT11_Init()){}
Adc_Init();
KEY1_Init();
Usart1_Init(9600);
Relay_init();
Beep_init();
Led0_init();
DS1302_GPIO_Init_Write_Time();
OLED_ShowCN(32,2,0);
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
OLED_CLS();
ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();
OLED_ShowCN(0,0,30);
OLED_ShowCN(0+16,0,31);
OLED_ShowCN(0,2,10);
OLED_ShowCN(0+16,2,11);
OLED_ShowCN(64,2,12);
OLED_ShowCN(64+16,2,13);
Beep=0;
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

四.资料内容

在这里插入图片描述
24-32-83

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐