Monitoring Suhu dan Kelembapan Pake DHT11 Pake Blynk via Wifi + Display LCD I2C dan Indikator LED di Wemos D1 Mini
- Adam Kusumah
- May 30
- 2 min read
Updated: Jun 7
Halo teman-teman, selamat datang di website Cosmo. di artikel ini kita akan belajar monitoring suhu dan kelembapan pakai DHT11 dengan Blynk via wifi lengkap dengan display LCD I2C dan indikator LED menggunakan wemos D1 Mini. untuk tutorial lengkapnya bisa di lihat pada video berikut.
Tutorial Video
Rangkaian

Penjelasan rangkaian
5V --> VCC DHT11 & LCD
D3 --> Out/Data DHT11
GND --> Anoda DHT11, LED merah & LED biru
D6 --> resistor 470 Ohm --> Katoda LED merah
D5 --> resistor 470 Ohm --> Katoda LED biru
D1 --> SCL LCD
D2 --> SDA LCD
Kode program
//ganti 3 baris kode di bawah ini dengan punya kalian masing-masing
#define BLYNK_TEMPLATE_ID "..."
#define BLYNK_TEMPLATE_NAME "..."
#define BLYNK_AUTH_TOKEN "..."
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const char* ssid = "ssid wifimu";
const char* pass = "password wifimu";
#define DHTPIN D3
#define DHTTYPE DHT11
#define LED_MERAH D6
#define LED_BIRU D5
#define LED_ERROR D7 // LED indikator untuk error sensor
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void sendSensorData() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (!isnan(temperature) && !isnan(humidity)) {
Serial.print("Suhu: ");
Serial.print(temperature, 1);
Serial.print(" °C, Kelembaban: ");
Serial.print(humidity);
Serial.println(" %");
Blynk.virtualWrite(V0, temperature);
Blynk.virtualWrite(V1, humidity);
lcd.clear();
lcd.setCursor(0, 0);
char suhuStr[6];
dtostrf(temperature, 4, 1, suhuStr); // Format suhu dengan 1 angka desimal
lcd.print("S:");
lcd.print(suhuStr);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(9, 0);
lcd.print("K:");
lcd.print(humidity, 1);
lcd.print("%");
if (temperature > 30 || humidity > 90) {
digitalWrite(LED_MERAH, HIGH);
digitalWrite(LED_BIRU, LOW);
Serial.println("Status: Panas");
lcd.setCursor(5, 1);
lcd.print("Panas");
} else if (temperature < 20) {
digitalWrite(LED_BIRU, HIGH);
digitalWrite(LED_MERAH, LOW);
Serial.println("Status: Dingin");
lcd.setCursor(5, 1);
lcd.print("Dingin");
} else {
digitalWrite(LED_MERAH, LOW);
digitalWrite(LED_BIRU, LOW);
Serial.println("Status: Normal");
lcd.setCursor(5, 1);
lcd.print("Normal");
}
digitalWrite(LED_ERROR, LOW); // LED indikator error mati jika sensor terbaca dengan baik
} else {
Serial.println("Gagal membaca data dari DHT11!");
// LED error berkedip sebagai indikasi sensor bermasalah
for (int i = 0; i < 3; i++) {
digitalWrite(LED_ERROR, HIGH);
delay(200);
digitalWrite(LED_ERROR, LOW);
delay(200);
}
}
}
void setup() {
Serial.begin(9600);
// Pastikan koneksi Wi-Fi tersedia
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("Terhubung ke WiFi!");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
dht.begin();
lcd.begin();
lcd.backlight();
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("Cosmo IoT");
lcd.setCursor(0, 1);
lcd.print("DHT11 Monitoring");
delay(3000);
pinMode(LED_MERAH, OUTPUT);
pinMode(LED_BIRU, OUTPUT);
pinMode(LED_ERROR, OUTPUT);
timer.setInterval(5000L, sendSensorData);
}
void loop() {
Blynk.run();
timer.run();
}Penjelasan Kode
Kode ini merupakan program berbasis ESP8266 untuk membaca suhu dan kelembapan menggunakan sensor DHT11, menampilkan data di LCD 16x2, dan mengirimkannya ke platform Blynk. Program ini menghubungkan perangkat ke Wi-Fi, lalu membaca data dari sensor setiap lima detik dan menampilkan hasilnya di Serial Monitor, LCD, serta Blynk. Jika suhu lebih dari 30°C atau kelembapan lebih dari 90%, LED merah (D6) menyala, dan LCD menunjukkan status "Panas". Jika suhu kurang dari 20°C, LED biru (D5) menyala, dan status "Dingin" ditampilkan. Jika pembacaan sensor gagal, LED error (D7) berkedip sebagai indikasi masalah. Program ini juga menampilkan teks "Cosmo IoT" sebagai tampilan awal sebelum mulai membaca data. Sistem ini dirancang untuk monitoring suhu dan kelembapan dengan indikasi LED serta tampilan real-time di LCD dan Blynk.
Penutup
Itu saja teman-teman, semoga video, rangkaian dan kodenya membantu proses pengerjaan proyek kalian. Jangan lupa kunjungi channel Youtube IQ+ untuk tutorial-tutorial video IoT lainnya. Jika ada masukan dan saran, silakan sampaikan melalui form di bawah. Sampai jumpa!



Comments