在這個項目中,我想結合兩個元件,即 1602 LCD 顯示器和 DHT11 溫濕度傳感器,以創建一個實際可用的數位溫度計。

在我們開始之前,先閱讀 DHT11 教學,該教學解釋了如何從傳感器讀取數據:

link

然後再閱讀 1602 LCD 教學,其中我解釋了如何將數據寫入顯示器:

link

完成後,從電路的角度來看,你只需要將兩個電路添加到同一個基於 Arduino 的項目中:

link

實際效果如下:

images images images

從程式碼方面來看,我們做了類似的事情。首先,我們先引入 DHTLiquidCrystal 函式庫,然後初始化這兩個元件。

我們在 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 + "%");
}

以下是項目執行的結果:

images