🛠 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

  1. Integrasikan DHT11, LDR, dan Ultrasonik pada satu ESP.
  2. Tampilkan data sensor di OLED atau LCD 16x2.
  3. Kirim data sensor ke Blynk dan ThingSpeak secara bersamaan.
  4. Buat alarm LED atau buzzer jika suhu terlalu tinggi atau jarak terlalu dekat.
  5. 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