基于arduino的温湿度监测系统的设计与实现

以arduino开发板为控制器平台,采用dth11传感器采集温湿度数据,液晶显示屏显示温湿度数据,并对超出规定范围的数据用蜂鸣器报警提示,并实现与手机的基本交互。

一、需求分析

a.  温湿度的实时检测和打印显示。每间隔一定时间,传感器周围空间的温湿度进行侦测,并将温湿度在液晶屏上打印显示出来。

b.  当温度和湿度超过预设范围时,蜂鸣器发出警报。程序下载前,会在程序中设置一组温湿度范围。当温度超出正常范围时,蜂鸣器发出蜂鸣;当湿度超出正常范围时,LED灯开始闪烁。

c.  在手机上同时打印输出当前温湿度。通过蓝牙HC-05模块将温湿度发送到蓝牙调试器应用上,实现温湿度在个人终端上的实时打印输出。

二、系统的工作原理

此温湿度监测系统主要涉及对温湿度进行检测、在液晶屏上打印温湿度、温湿度异常时进行报警提示和在个人终端上实时打印输出温湿度。

硬件方面,共有6个模块,分别是Arduino uno主控模块、DHT11传感器模块、LCD1602显示模块、无源蜂鸣器报警模块、LED灯模块和蓝牙HC-05模块。

传感器将此时的温湿度检测出来。为了获得准确准时的温湿度数据,必须每间隔一定时间便进行一次检测。

检测的温湿度数据由LCD1602显示模块进行打印输出。最上面一行进行湿度的打印输出,最下面一行进行温度的打印输出。

在下载程序之前,便已在程序中设置好了一个温度范围。当温度不在该范围时,蜂鸣器发出报警声提醒人员,及时启动制冷机器,将温度降低到合适程度。

在下载程序之前,便已在程序中设置好了一个湿度范围。当湿度在该范围时,LED灯保持常灭;当湿度不在该范围时,LED灯开始闪烁,并且湿度超出范围越多,LED灯闪烁得越快。它可以更直观地反映出空气中湿度的大小。

蓝牙HC-05模块实现了将传感器监测到的数据发送至蓝牙调试器应用,从而实现温湿度数据在手机端的同步实时显示,以便用户随时可以查看周边环境当前的温湿度。

三、系统总体设计

a.  系统总体设计框

 b.  系统总电路图

 c.  元器件清单表

元器件

数量

Arduino uno主板

1块

DHT11温湿度传感器

1块

LCD1602液晶显示屏

1块

蓝牙HC-05

1块

无源蜂鸣器

1块

发光二极管

1个

200欧姆电阻

1个

面包板

1个

杜邦线(公对母、公对公)

若干条

USB数据线

1条

四、源程序

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
#include <DHT.h>
DHT dht(2,DHT11);//实例化一个对象dht,定义接口2为DHT11的数据接口
SoftwareSerial BT(10,9);//设置接口
LiquidCrystal lcd(12,11,6,5,4,3);//设置接口
#define buzzer 7
#define led 8

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);//设置以每秒比特数(波特)为单位的串行数据传输的数据速率
  BT.begin(9600);//初始化蓝牙
  pinMode(buzzer,OUTPUT);
  pinMode(led,OUTPUT);
  dht.begin();//初始化DHT11
  Serial.println("DHT11准备就绪");
  lcd.begin(16,2);//初始化LCD
  Serial.println("蓝牙准备就绪");
  BT.println("蓝牙就绪");
  delay(1000);//延时1s
}

void loop() {
  // put your main code here, to run repeatedly:
  float h = dht.readHumidity();//定义浮点型变量h,记录湿度
  float t = dht.readTemperature();//定义浮点型变量t,记录温度
  //蓝牙与手机通信
  if(Serial.available())
  {//串口->手机端
    char x = Serial.read();
    BT.print(x);
    Serial.print(x);
  }
   if(BT.available())
  {//手机端->串口
    char p = BT.read();
    Serial.print(p);
  }
  
  //在串口监视器显示温湿度数据
  Serial.print("湿度是:");
  Serial.print(h);
  Serial.println("%");
  Serial.print("温度是:");
  Serial.print(t);
  Serial.println("°c");
  Serial.println("  ");
  //lcd显示
  lcd.clear();
  lcd.setCursor(0, 0);//在第一行第一列显示
  lcd.print("H:");
  lcd.print(h);//lcd打印湿度
  lcd.print("%");
  lcd.setCursor(0, 1);//在第二行第一列显示
  lcd.print("T:");
  lcd.print(t);//lcd打印温度
  lcd.print("°c");

  //蜂鸣器报警
  if(t>30)
  { //温度大于30度,蜂鸣器报警
    BT.println("温度过高!");
    tone(buzzer,800,2000);//在buzzer引脚上生成800赫兹持续2000ms的方波
  }
  //呼吸灯闪烁
  if(h>55)
  {//湿度大于55%,LED灯闪烁,湿度越大闪烁频率越大
    BT.println("湿度过高!");
    int s;
    s=400-h;
    digitalWrite(led,HIGH);//点亮LED
    delay(s);
    digitalWrite(led,LOW);//熄灭LED
    delay(s);
  }
  //蓝牙同步显示至手机
  BT.print("湿度是:");
  BT.print(h);
  BT.println("%");
  BT.print("温度是:");
  BT.print(t);
  BT.println("°c");
  
  delay(1000);//延时1s
}

五、成果展示

温湿度传感器检测的数据会在液晶屏进行显示。当温度超出预设范围会发出蜂鸣警报;当湿度超出预设范围时,小灯会开始闪烁。

温湿度会实时显示在蓝牙调试器应用的对话框,并且当气温和空气中的含水量异常时,会向蓝牙调试器发送报警信息。 

 

 

  • 22
    点赞
  • 278
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: Proteus基于Arduino 328的温湿度监测系统是一种使用Proteus软件和Arduino 328微控制器开发的设备,用于测量和监测环境中的温度和湿度。 Arduino 328是一种微控制器,具有开源硬件和软件平台,可以简化电子制作的过程。Proteus是一种虚拟电路设计和模拟软件,它允许开发人员创建和测试电路原型。 温湿度监测系统的工作原理如下:Arduino 328上安装了一个温湿度传感器,它可以检测周围环境的温度和湿度变化。传感器将收集到的数据发送给Arduino 328微控制器进行处理。 通过编程,Arduino 328可以将温湿度数据显示在液晶显示器上,或将数据传输到计算机或其他设备进行进一步分析和处理。系统还可以设置警报功能,当温度或湿度达到预设的临界值时,Arduino 328将触发警报,以提示用户采取相应的措施。 Proteus软件的优势在于其可以在虚拟环境中测试和验证电路原型,从而减少了物理原型制作和测试的时间和成本。通过Proteus,开发人员可以模拟电路的工作,观察温湿度变化对系统的影响,并进行调试和优化。 总之,Proteus基于Arduino 328的温湿度监测系统是一种便捷的环境监测设备,通过使用Proteus软件和Arduino 328微控制器,能够快速准确地测量并实时监测环境中的温度和湿度变化。 ### 回答2: Proteus是一款广泛应用于电子电路设计与仿真的软件工具,而Arduino是一种开源的硬件平台,结合两者可以实现温湿度监测系统。 基于Arduino 328的温湿度监测系统可以通过连接一个DHT11或DHT22传感器来实现。这两种传感器都具有读取环境温度和湿度的功能,并且与Arduino兼容。 在Proteus中,我们可以使用Arduino的编程语言进行编码,以便从传感器读取数据,并通过串口将数据传输给计算机进行处理。我们可以通过DHT库来操作传感器,并使用串口库将数据传输到计算机。 在电路方面,我们可以在Proteus的画布上绘制电路图,将Arduino与DHT传感器进行连接。Arduino的数字引脚可以与传感器的数据引脚相连,而Arduino的电源引脚可以与传感器的电源引脚相连。 完成电路设计后,我们可以在Proteus中进行仿真,以验证设计的正确性。通过启动仿真,我们可以观察到温湿度传感器的数据在计算机上显示,并确保数据的准确性。 通过Proteus基于Arduino 328的温湿度监测系统,我们可以方便地监测环境温度和湿度,并对数据进行处理和分析。这对于许多应用领域,如气象监测、温室控制和室内环境管理等都非常有用。同时,使用Proteus进行仿真可以有效地节省成本和时间,在实际制作之前验证系统的功能和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值