用arduino做一个有显示屏的温湿度感应装置

实验器材:

1.装有arduino IDE笔记本一台。

2.dht11温湿度感应器。

3.1602液晶显示器。

4.电阻。

5.导线若干。

6.面包板。


首先先来看看1602液晶显示器和dht11的工作原理


1602LCD主要参数:

显示容量16*2

工作电压:4.5-5.5V(最佳5.0)

引脚参考LCD1602的官网介绍。


dht11:

产品名:温湿度传感器

型号:DHT11
厂商:奥松电子
参数:
相对湿度:
分辨率:0.1%RH        16Bit
精度:25℃  正负 %2
温度:
分辨率:0.1%RH        16Bit
量程范围:25        正负0.2℃ 至 -40℃ ~ -80
响应时间:1/e(63%)        10S
电气特性:供电DC3.5  - 5.5V 电流 0.3mA 待机60uA
采样周期:每次大于2
引脚说明
1VDD    供电 3.5V-5.5V DC
2DATA   串行数据,单总线,必须接上拉电阻 5.1K左右,这样空闲时 DATA总是为高电平
3GND    接地,电源负极
4NC     空脚

然后是需要的库:

liquidCrystal.h库是lcd1602扩展库,可以直接ide查找下载。

dht11.h库需要自己网上查找。

https://github.com/adafruit/DHT-sensor-library 

(我的资料里也有,也可以下载)


程序:

#include <DHT.h>
#define DHTPIN 8
#define DHTTYPE DHT11
#include <LiquidCrystal.h> 
DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal lcd(12,11,5,4,3,2);  //定义脚位
void setup()
{
  Serial.begin(9600);
  dht.begin();
  lcd.begin(16,2); //设置LCD显示的数目。16 X 2:16格2行。
  }


void loop()
{
  delay(2000);
  float h=dht.readHumidity();
  float t=dht.readTemperature();
  lcd.print("Humidity:");
  lcd.print(h);
  Serial.println("Humidity:");
  Serial.print(h,DEC);
  lcd.setCursor(0,1);  //将闪烁的光标设置到column 0, line 1 (注释:从0开始数起,line 0是显示第一行,line 1是第二行。)
  lcd.print("Temperature:");
  lcd.print(t);
  Serial.println("Temperature:");
  Serial.print(t,DEC);
 delay(2000); 

}

效果及连接图:

用arduino做一个有显示屏的温湿度感应装置

dht11采用的是3线连接