在这个项目中,我想结合两个组件,1602液晶显示器
和DHT11温度和湿度传感器
来创建一个我们可以在现实世界中实际使用的数字温度计。
在我们开始之前,请阅读DHT11教程,在那里我们编写了一个从传感器读取数据的程序。
并阅读1602 LCD教程,在那里我解释了如何向显示屏写入数据。
一旦你这样做了,从电路的角度来看,你需要做的就是将这两个电路添加到同一个基于Arduino的项目中。
这里是实践中的情况。
在代码方面,我们做了一件类似的事情。我们首先包括DHT
和LiquidCrystal
库,然后我们初始化这两个组件。
我们在setup()
中初始化它们,在loop()
中,我们每2秒检查一次来自传感器的数据,并将其打印到LCD显示器上。
#include <LiquidCrystal.h>
#include <DHT.h>
DHT dht(2, DHT11);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
dht.begin();
lcd.begin(16, 2);
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
return;
}
lcd.setCursor(0, 0);
lcd.print((String)"Temp: " + t + "C");
lcd.setCursor(0, 1);
lcd.print((String)"Humidity: " + h + "%");
}
下面是项目的运行情况。