硬件设计_基于STM32单片机的室内数据检测系统
本文介绍了一个基于STM32F103C8T6的智能室内环境监测与控制系统。系统通过DHT11传感器、MQ-135模块和光敏电阻分别采集温湿度、CO2浓度和光照强度数据,采用ESP8266无线模块实现远程数据传输。具备自动和手动两种控制模式:自动模式下,当环境参数超过阈值时自动调节风扇、加湿器或LED灯;手动模式下可通过PC端远程控制。系统还包含蜂鸣器报警功能,当CO2超标时发出警报。电路设计采用A
一.系统概述
系统实现了对室内环境数据的监测和控制,主要功能模块及控制逻辑如下:
-
温湿度传感器模块
• 实时采集室内温湿度数据。
• 在自动模式下,当温度超出预设阈值时,启动风扇以降低温度;当湿度超出预设阈值时,启动加湿器以调节湿度。 -
CO2传感器模块
• 实时监测室内CO2浓度。
• 当CO2浓度超过设定阈值时,触发蜂鸣器报警,提示需要通风或采取其他措施。 -
光照传感器模块
• 实时获取室内光照强度。
• 在自动模式下,当光照不足(低于设定阈值)时,自动开启LED灯。 -
无线通信模块
• 将各项环境数据通过无线通信模块上传到PC端,实现远程监控和数据显示。 -
PC端控制按钮
• 在PC端设定各参数阈值,并可选择自动或手动控制模式。
• 在手动模式下,通过PC端设计的控制按钮实现对风扇、加湿器、LED灯等调节装置的远程开关控制。

二.电路设计
电路图采用Altium Designer进行设计:
- 系统以STM32F103C8T6单片机作为主控,构成整个电路的最小系统核心;
- 利用MQ-135模块检测CO2浓度,将模块的模拟输出端直接连接至单片机的模拟输入端;
- DHT11传感器用于温湿度检测,通过one-wire总线与单片机的GPIO口进行连接;
- 采用光敏电阻模块来检测光照强度,其模拟输出端与单片机的模拟输入端相连;
- 通过ESP8266-01S模块,将采集到的数据经UART串口上传到上位机;
- 系统采用有源蜂鸣器实现报警功能,通过NPN三极管对蜂鸣器进行驱动。


三.程序设计
#include “sys.h”
#include “delay.h”
#include “adc.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Beep_Led_Relay.h”
#include “Control_Report_To_Police.h”
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Beep_init();
Beep=1;//蜂鸣器初始化 系统上电后先让蜂鸣器停止叫
uart_init(9600);
OLED_Init(); //OLED初始?
Relay_init(); //PB8
Adc_Init(); //PA1 光照
Adc_Init2(); //PB0 二氧化碳
while(DHT11_Init()){} //PA12
OLED_CLS(); //OLED清屏
Usart2_Init(115200); //串口初始化为115200
if(esp8266_start_trans()){}
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
四.资料内容

24-32-110
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)