Pendahuluan
ESP8266 adalah modul WiFi yang populer untuk proyek Internet of Things (IoT). Dengan menghubungkannya ke sensor DHT11, kita dapat dengan mudah melakukan monitoring suhu dan kelembaban secara real-time. Artikel ini akan membahas cara menghubungkan ESP8266 dengan DHT11 dan menampilkan data melalui Serial Monitor atau web server sederhana.
Alat dan Bahan
Untuk proyek ini, Anda membutuhkan:
- ESP8266 (NodeMCU atau Wemos D1 Mini)
- Sensor
DHT11
- Resistor
10KΩ (opsional)
- Kabel
jumper
- Breadboard
- Arduino
IDE
Langkah-Langkah Pembuatan
1. Instalasi Library
Sebelum mulai coding, kita perlu menginstal library
yang diperlukan:
- Buka
Arduino IDE.
- Pergi
ke Sketch > Include Library > Manage Libraries.
- Cari DHT
sensor library by Adafruit dan klik Install.
- Cari Adafruit
Unified Sensor dan install.
- Pastikan
juga Anda memiliki ESP8266 Board Manager yang telah terinstal.
2. Rangkaian Koneksi
Hubungkan komponen sesuai diagram berikut:
- DHT11
VCC → 3.3V
ESP8266
- DHT11
GND → GND
ESP8266
- DHT11
Data → D4
(GPIO2) ESP8266
- Resistor
10KΩ
(opsional) antara VCC dan Data DHT11
3. Kode Program
Gunakan kode berikut untuk membaca data dari DHT11 dan
menampilkannya di Serial Monitor:
#include <ESP8266WiFi.h>
#include <DHT.h>
#define DHTPIN D4
// Pin Data DHT11 ke GPIO2 (D4)
#define DHTTYPE DHT11
// Jenis sensor DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
Serial.println("Memulai Sensor DHT11...");
}
void loop() {
float suhu =
dht.readTemperature();
float
kelembaban = dht.readHumidity();
if
(isnan(suhu) || isnan(kelembaban)) {
Serial.println("Gagal membaca sensor DHT11!");
return;
}
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" °C | Kelembaban: ");
Serial.print(kelembaban);
Serial.println(" %");
delay(2000);
// Update setiap 2 detik
}
4. Upload dan Uji Program
- Sambungkan ESP8266 ke PC
melalui kabel USB.
- Pilih board yang sesuai di Tools
> Board.
- Pilih port yang benar di Tools
> Port.
- Klik Upload dan tunggu
hingga selesai.
- Buka Serial Monitor
untuk melihat data suhu dan kelembaban.
Menampilkan Data di Web Server (Opsional)
Agar lebih menarik, kita bisa menampilkan data suhu
dan kelembaban melalui halaman web. Berikut kode untuk membuat web server
sederhana:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DHT.h>
const char* ssid = "Nama_WiFi";
const char* password = "Password_WiFi";
#define DHTPIN D4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
ESP8266WebServer server(80);
void handleRoot() {
float suhu =
dht.readTemperature();
float
kelembaban = dht.readHumidity();
String page =
"<html><h1>Monitoring Suhu & Kelembaban</h1>";
page +=
"<p>Suhu: " + String(suhu) + " °C</p>";
page +=
"<p>Kelembaban: " + String(kelembaban) + "
%</p></html>";
server.send(200, "text/html", page);
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while
(WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("WiFi terhubung!");
dht.begin();
server.on("/", handleRoot);
server.begin();
}
void loop() {
server.handleClient();
}
5. Mengakses Web Server
- Sambungkan ESP8266 ke jaringan
WiFi.
- Buka Serial Monitor
untuk melihat alamat IP ESP8266.
- Buka browser dan ketik alamat
IP tersebut.
- Data suhu dan kelembaban akan
muncul di halaman web.
Kesimpulan
Dengan menggunakan ESP8266 dan sensor DHT11, kita
dapat dengan mudah memantau suhu dan kelembaban dari jarak jauh. Data dapat
diakses melalui Serial Monitor atau halaman web sederhana. Proyek ini dapat
dikembangkan lebih lanjut dengan menambahkan fitur seperti pengiriman
notifikasi ke Telegram atau penyimpanan data ke database.
Tidak ada komentar:
Jangan lupa like, share, komentar, dan subscribe channel youtube kami. Terimakasih.