基于STM32单片机的蔬菜大棚温湿度控制系统设计

描述

一.系统概

系统内使用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(ttmax)
    {
      Led4_Low;
    }else if(tminhmax)
    {
      Led1_Low;
    }else if(hmin

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分