硬件开发_基于STM32单片机的香薰灯控制系统
本文介绍了一个智能环境监测与控制系统。系统采用STM32F103C8T6单片机作为主控,实现灯光定时控制、环境温湿度监测与自动调节功能。通过按键和WiFi模块(ESP8266)支持本地和远程控制,OLED显示屏实时显示数据。当温湿度超出设定范围时,系统自动启动加湿器,并可通过蜂鸣器报警。电路设计包含DS1302时钟模块、DHT11传感器等部件,程序采用模块化设计实现各功能。该系统集成环境监测、智能
一.系统概述
系统功能简述如下:
-
灯控制与定时功能:通过按键控制灯的开关,同时配备定时模块。设定时间后,显示屏显示倒计时,达到设定时间后控制蜂鸣器响起并自动熄灭灯光。
-
环境监测与控制:整合温湿度传感器实时采集环境数据。当温湿度超出设定范围时,系统将自动启动加湿器,达到预设值后自动停止,并在显示屏上显示当前的温湿度信息。
-
远程控制与显示:集成WiFi模块,实现手机的远程控制和数据实时显示,提高系统操作的便捷性。

二.电路设计
电路图设计概述如下,采用Altium Designer进行设计:
-
主控单元:使用STM32F103C8T6单片机作为系统的主控,构成最小系统电路。
-
时钟定时:通过DS1302时钟模块实现定时功能,使用SDA、SCK和DAT三条引脚与单片机连接。
-
数据显示:采用0.96寸OLED12864显示屏进行数据显示,使用IIC总线与单片机通信。
-
温湿度检测:集成DHT11温湿度传感器,通过one-wire总线与单片机的GPIO口连接。
-
阈值设定:使用独立按键进行阈值设定,按键一端接地,另一端接单片机的GPIO口。
-
数据上传:通过ESP8266-01S模块将检测到的数据上传至上位机,采用UART串口与单片机进行通信。
-
报警功能:使用有源蜂鸣器进行报警,蜂鸣器通过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
更多推荐



所有评论(0)