在這個項目中,我想結合兩個元件,即 1602 LCD 顯示器和 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 + "%");
}
以下是項目執行的結果: