🛠 Integrasi Sensor IoT dengan ESP32 / ESP8266
Memahami cara menghubungkan berbagai jenis sensor ke ESP32/ESP8266 dan mengirim data ke dashboard online atau Web Server.
🎯 Tujuan: Siswa mampu membaca data dari sensor digital maupun analog, mengolahnya, dan menampilkan di layar atau mengirim ke platform IoT.
🔧 Komponen yang Dibutuhkan
- ESP32 / ESP8266 NodeMCU
- Sensor DHT11 / DHT22 (Suhu & Kelembaban)
- Sensor MQ-2 (Gas / Asap)
- Sensor LDR (Cahaya)
- Sensor Ultrasonik HC-SR04 (Jarak)
- LED + resistor 220Ω
- Kabel jumper dan breadboard
- Software: Arduino IDE + Library sensor (DHT, NewPing, etc.)
1️⃣ Konsep Integrasi Sensor
ESP32/ESP8266 dapat membaca berbagai jenis sensor:
- Digital Sensor: Sensor yang menghasilkan nilai HIGH/LOW, contoh tombol, PIR sensor, MQ-2 (digital output)
- Analog Sensor: Sensor yang menghasilkan nilai 0–1023 (ESP32 = 0–4095), contoh LDR, MQ-2 analog, potensiometer
- Data sensor dapat diolah di ESP dan dikirim ke Web Server, Dashboard Blynk, ThingSpeak, atau MQTT.
2️⃣ Contoh Integrasi Beberapa Sensor
Menggabungkan sensor DHT11, LDR, dan Ultrasonik untuk membaca suhu, cahaya, dan jarak:
#include <DHT.h>
#include <NewPing.h>
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// Sensor Ultrasonik
#define TRIG 5
#define ECHO 18
#define MAX_DISTANCE 200
NewPing sonar(TRIG, ECHO, MAX_DISTANCE);
// Sensor LDR
#define LDRPIN 34
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(LDRPIN, INPUT);
}
void loop() {
// Membaca DHT11
float suhu = dht.readTemperature();
float kelembaban = dht.readHumidity();
// Membaca Ultrasonik
unsigned int jarak = sonar.ping_cm();
// Membaca LDR
int cahaya = analogRead(LDRPIN);
// Tampilkan ke Serial Monitor
Serial.print("Suhu: "); Serial.print(suhu); Serial.print(" °C, ");
Serial.print("Kelembaban: "); Serial.print(kelembaban); Serial.print(" %, ");
Serial.print("Jarak: "); Serial.print(jarak); Serial.print(" cm, ");
Serial.print("Cahaya: "); Serial.println(cahaya);
delay(2000);
}
3️⃣ Mengirim Data Sensor ke Dashboard
ESP bisa mengirim semua sensor sekaligus ke ThingSpeak atau Blynk:
- Blynk: Gunakan Virtual Pin V1–V4 untuk Suhu, Kelembaban, Jarak, Cahaya
- ThingSpeak: Gunakan Field1–Field4 untuk data sensor
- MQTT: Publish data sensor dalam format JSON, contoh:
{"suhu":28,"kelembaban":65,"jarak":50,"cahaya":300}
📝 Aktivitas Siswa
- Integrasikan DHT11, LDR, dan Ultrasonik pada satu ESP.
- Tampilkan data sensor di OLED atau LCD 16x2.
- Kirim data sensor ke Blynk dan ThingSpeak secara bersamaan.
- Buat alarm LED atau buzzer jika suhu terlalu tinggi atau jarak terlalu dekat.
- Coba buat dashboard di smartphone menggunakan Blynk dengan tombol kontrol LED dan status sensor real-time.
📘 Penjelasan
- ESP32/ESP8266 dapat membaca sensor analog dan digital secara bersamaan.
- Gunakan library sesuai jenis sensor:
DHT,NewPing,MQTT, dll. - Data sensor bisa ditampilkan di Serial Monitor, layar LCD/OLED, atau dashboard online.
- Gunakan
millis()untuk interval pembacaan agar sistem tetap responsif. - Sensor bisa digabungkan dengan aktuator (LED, buzzer) untuk membuat proyek IoT interaktif.
No comments:
Post a Comment