สอนใช้งาน Arduino UNO กับเซ็นเซอร์DHT11 และจอ LCD 16×2
สอนการใช้งานชุด Arduino UNO กับเซ็นเซอร์DHT11 และจอ LCD 16×2 สามารถนำไปประยุกต์ใช้ได้กับหลากหลายงาน เช่น ระบบควบคุมความชื้นในโรงเรือน ระบบควบคุมอุณหภูมิในตู้ฝักไข่ หรือระบบพ่นหมอกลดอุณหภูมิ เป็นต้น แสดงค่าอุณหภูมิและความชื้นบนจอ LCD
อุปกรณ์ที่ต้องใช้
การต่อวงจร
LCD to Arduino UNO
GND → GND
VCC → 5V
SDA → SDA
SCL → SCL
DHT11 ⇒ Arduino UNO
+ → 5V
S → D2
– → GND
ตัวอย่างโค้ด
#include “DHT.h”
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //ประกาศ Library ของจอ I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); // กำหนดจอเป็น 16*2
#define DHTPIN 2
#define DHTTYPE DHT11 // ประกาศตัวแปร DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
lcd.begin();
Serial.begin(9600);
Serial.println(F(“DHTxx test!”));
dht.begin();
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F(“Failed to read from DHT sensor!”));
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F(“Humidity: “));
Serial.print(h);
Serial.print(F(“% Temperature: “));
Serial.print(t);
Serial.print(F(“°C “));
Serial.print(f);
Serial.print(F(“°F Heat index: “));
Serial.print(hic);
Serial.print(F(“°C “));
Serial.print(hif);
Serial.println(F(“°F”));
lcd.setCursor(0, 0); //ฟังก์ชั่นในการกำหนดตำแหน่ง Cursor
lcd.print(“Humi = ” + String(h, 1) + ” %”); //แสดงค่าความซื้นบนLCD
lcd.setCursor(0, 1); //ฟังก์ชั่นในการกำหนดตำแหน่ง Cursor
lcd.print(“Temp = ” + String(t, 1) + ” C”); //แสดงค่าอุณหภูมิบนLCD
delay(1000);
}