一.系统概述
系统内使用STM32单片机进行主控,系统内使用显示屏实时显示温湿度,当检测到温度超过设定阈值就会控制启动风扇进行降温,当检测到温度低于阈值就会加热,当检测到湿度低于阈值就会控制水泵进行灌溉,当检测到湿度超过阈值就会进行报警。
二.仿真概述
1. 使用LCD1602进行温湿度显示,本次程序设置的阈值温度28℃和湿度80%
2. 当检测到温度超过设定阈值就会通过风扇进行降温
3. 当检测到温度低于阈值就会控制加热
4. 当检测到湿度大于设定阈值就会控制报警
5. 当检测到湿度低于就会控制灌溉
三.程序设计
#include#include #include #include "dht11.h" #include int main(void) { u8 t,h,tmax=28,tmin=27,hmax=80,hmin=79; Lcd1602_Init();//pa0-7 pb8-10 DHT11_Init();//pa12 Led1_Init();//pc0-4 Key_Init();//pb12-15 Lcd1602_Write_String(0x80,2,(u8*)"T:"); Lcd1602_Write_String(0xc0,2,(u8*)"H:"); Lcd1602_Write_String(0x80+4,2,(u8*)"c"); Lcd1602_Write_String(0xc0+4,2,(u8*)"%"); Led1_High; Led2_High; Led3_High; Led4_High; while(1) { DHT11_Read_Data(&t,&h); Lcd1602_Write_Num8(0x82,t); Lcd1602_Write_Num8(0xc2,h); if(t tmax) { Led4_Low; }else if(tmin hmax) { Led1_Low; }else if(hmin
全部0条评论
快来发表一下你的评论吧 !