基于STM32的温湿度采集声光报警控制系统设计报告原理 S1028-基于STM32的温湿度采集声光报警控制系统设计报告原理图proteus 功能描述 本次嵌入式课程设计综合实验的内容为基于STM32单片机的屋内室内温湿度采集控制系统 完成LCD液晶显示、DHT11温湿度测量、加湿器控制、风扇 控制等多项任务 1、以STM32为最小系统电路进行连接用液晶显示屏显示温度、湿度、温度阈值湿度阈值 2、用DHT11温湿度传感器进行温湿度的测量 3、可以通过按键可以设置温室度阈值 4、当温度达到设置的阈值时继电器导通风扇进行转动由此来达到散热降温的目的 当湿度不足设定的阈值时继电器导通加湿器开始工作 5、超过设定阈值将进行声学与光学报警 有哪些资料 1、原理图工程 2、源代码工程 3、仿真工程 4、报告-4546字最近在实验室折腾基于STM32的温湿度控制系统顺手把整个流程整理成了干货。这个项目用DHT11搞环境监测还能自动控制风扇加湿器实测效果挺有意思。废话不多说直接上硬菜。硬件架构挺典型STM32F103C8T6最小系统板扛大旗接上1602液晶做数据显示DHT11负责温湿度采集按键模块用来调阈值。执行部分用ULN2003驱动继电器控制风扇和加湿器启停。报警模块更简单一个蜂鸣器加红色LED完事。原理图里有个细节要注意——DHT11的数据线记得接10K上拉电阻不然容易读不到数据。基于STM32的温湿度采集声光报警控制系统设计报告原理 S1028-基于STM32的温湿度采集声光报警控制系统设计报告原理图proteus 功能描述 本次嵌入式课程设计综合实验的内容为基于STM32单片机的屋内室内温湿度采集控制系统 完成LCD液晶显示、DHT11温湿度测量、加湿器控制、风扇 控制等多项任务 1、以STM32为最小系统电路进行连接用液晶显示屏显示温度、湿度、温度阈值湿度阈值 2、用DHT11温湿度传感器进行温湿度的测量 3、可以通过按键可以设置温室度阈值 4、当温度达到设置的阈值时继电器导通风扇进行转动由此来达到散热降温的目的 当湿度不足设定的阈值时继电器导通加湿器开始工作 5、超过设定阈值将进行声学与光学报警 有哪些资料 1、原理图工程 2、源代码工程 3、仿真工程 4、报告-4546字先看传感器驱动部分。DHT11这货是单总线协议时序要求贼严格。代码里有个小坑必须用微秒级延时void DHT11_Start(void){ DHT11_OUT; GPIO_ResetBits(DHT11_PORT, DHT11_PIN); delay_ms(20); //保持低电平至少18ms GPIO_SetBits(DHT11_PORT, DHT11_PIN); delay_us(30); //主机拉高20-40us DHT11_IN; }读取数据时得循环检测响应信号这里用位带操作提速while(DHT11_INPUT retry100){ retry; delay_us(1); } //等待低电平响应 if(retry100) return 1; retry 0;阈值控制逻辑在主循环里实现重点在状态判断if(currentTemp tempThreshold){ FAN_CTRL(ON); BUZZER_Alert(); } else { FAN_CTRL(OFF); } //湿度不足时同理 if(currentHumi humiThreshold){ HUMI_CTRL(ON); LED_Alert(); } else { HUMI_CTRL(OFF); }按键处理用了状态机消抖比裸奔检测稳定多了。这里用外部中断触发避免轮询耗资源void EXTI0_IRQHandler(void){ if(EXTI_GetITStatus(EXTI_Line0)!RESET){ key_detect(KEY_TEMP_UP); //温度 EXTI_ClearITPendingBit(EXTI_Line0); } }Proteus仿真时有个坑——DHT11模型需要手动添加元件库。调试建议先跑硬件I2C再对接虚拟终端看串口输出。实测发现当温湿度同时超标时声光报警会交替触发这个在报告里建议加优先级处理。源码工程里有个骚操作用sprintf直接格式化LCD显示内容省去自己拼字符串的麻烦char lcd_buf[16]; sprintf(lcd_buf,T:%02dC H:%02d%%,temp,humi); LCD_WriteString(0,0,lcd_buf);最后说下继电器驱动ULN2003输入端记得反向代码里高低电平要和实际动作对应#define FAN_ON() GPIO_ResetBits(FAN_PORT, FAN_PIN) #define FAN_OFF() GPIO_SetBits(FAN_PORT, FAN_PIN)整套系统跑起来后实测从25℃升温到30℃触发阈值风扇大概3秒内启动加湿器响应更快些。建议阈值设置别太接近环境常态值避免继电器频繁开关影响寿命。整个项目最实用的其实是那个4546字的报告里面连PCB布线注意事项都写了。需要源码的兄弟注意看工程里的system_stm32f10x.c文件时钟配置要和仿真器里保持一致不然延时函数会抽风。