用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秒

引脚说明

1、VDD    供电 3.5V-5.5V DC

2、DATA   串行数据,单总线,必须接上拉电阻 5.1K左右,这样空闲时 DATA总是为高电平

3、GND    接地,电源负极

4、NC     空脚

 

然后是需要的库:

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

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

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

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

 

程序:

#include
#define DHTPIN 8
#define DHTTYPE DHT11
#include  
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做一个有显示屏的温湿度感应装置_第1张图片

dht11采用的是3线连接

你可能感兴趣的:(嵌入式学习,嵌入式学习实践)