一.系统概述
环境监测与控制系统的设计包括以下功能及实现方式:
-
传感器选择与功能:系统集成了温度、光照和空气质量传感器,以实现对环境参数的实时数据采集,确保能够全面监测周围环境状况。
-
数据展示与操作界面:配置了显示屏,实时展示温度、光照强度和空气质量数值,并通过按键允许用户设定相应的阈值,以便进行个性化设置。
-
温度报警机制:当检测到的温度超出预定阈值时,系统会自动触发蜂鸣器,发出警报,及时提醒用户注意温度异常情况。
-
光照报警机制:一旦监测到的光照强度超过设定值,系统同样会激活蜂鸣器发出警报,提示用户光照强度异常。
-
空气质量报警机制:当空气质量检测结果超过指定阈值时,系统会触发蜂鸣器报警,提醒用户关注空气质量问题。
二.电路设计
电路设计采用Altium Designer软件:
-
主控单元:以STM32F103C8T6单片机作为系统的核心,构成最小系统电路,确保系统各功能模块的协调运行。
-
温湿度监测:使用DHT11传感器进行温湿度的检测,传感器通过单总线(one-wire)接口与单片机的GPIO引脚相连接,以便实时读取环境数据。
-
光强检测:采用光敏电阻模块来监测光照强度,传感器的模拟输出端与单片机的模拟输入端连接,以实现光强信号的采集。
-
数据显示:通过0.96寸OLED 12864显示屏呈现监测数据,采用I2C总线与单片机进行通信,以保障数据的即时更新和显示。
-
报警功能:系统配备有源蜂鸣器作为报警装置,使用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(); //延时函数初始化
Adc2_Init(); //ADC的IO初始化 完成对Guang
Adc2_Init_Kongqi();
KEY_Init(); //按键IO初始化
Beep_init(); //蜂鸣器初始化
while(DHT11_Init()){};
OLED_Init(); //OLED初始化
OLED_CLS(); //OLED清屏
/*******显示汉字**********/
OLED_ShowCN(0,0,10);
OLED_ShowCN(0+16,0,11);
OLED_ShowCN(0,2,12);
OLED_ShowCN(0+16,2,13);
OLED_ShowCN(0,4,14);
OLED_ShowCN(0+16,4,15);
Beep=1;//蜂鸣器初始化 系统上电后先让蜂鸣器停止叫
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
四.资料内容
24-32-22