Project ini merupakan sistem cerdas yang dapat memantau kondisi lingkungan, khususnya suhu dan kelembaban secara otomatis. Sistem ini memanfaatkan teknologi IoT (Internet of Things) dengan menggunakan mikrokontroler ESP32 dan platform Blynk. Data yang diperoleh dari sensor DHT22 akan ditampilkan secara real-time pada aplikasi smartphone melalui Blynk. Jika kondisi lingkungan melampaui batas yang telah ditentukan, sistem akan memberikan peringatan berupa suara alarm dan juga dapat mengendalikan lampu secara otomatis.
Project ini adalah implementasi sistem IoT yang menggunakan mikrokontroler ESP32 untuk memonitor suhu dan kelembaban lingkungan secara real-time menggunakan sensor DHT22. Sistem ini terintegrasi dengan platform Blynk, memungkinkan pengguna untuk memantau data melalui aplikasi smartphone dan mengontrol lampu secara jarak jauh. Selain itu, sistem dilengkapi dengan buzzer yang memberikan peringatan otomatis jika suhu atau kelembaban melebihi batas yang telah ditentukan.
Tujuan Project
1. Memantau suhu dan kelembaban lingkungan secara real-time.
2. Memberikan peringatan otomatis melalui buzzer jika suhu atau kelembaban melampaui batas aman.
3. Memberikan kontrol lampu secara jarak jauh melalui aplikasi Blynk.
4. Menggunakan konsep IoT untuk kemudahan pengawasan lingkungan.
Fitur Utama
- Monitoring suhu dan kelembaban menggunakan sensor DHT22.
- Alarm otomatis menggunakan buzzer jika melebihi batas suhu/kelembaban.
- Kontrol lampu menggunakan aplikasi Blynk.
- Tampilan real-time data pada dashboard Blynk.
Cara Kerja Sistem
Sistem ini bekerja melalui beberapa tahap yang terintegrasi dengan baik. Pertama, sensor DHT22 mengumpulkan data suhu dan kelembaban lingkungan. Selanjutnya, data yang diterima diproses oleh ESP32. Setelah pengolahan, informasi suhu dan kelembaban tersebut dikirim ke dashboard aplikasi Blynk melalui koneksi Wi-Fi. Terakhir, jika suhu atau kelembaban melebihi ambang batas yang telah ditentukan, sistem akan mengaktifkan buzzer dan lampu indikator sebagai respon alarm. Serta ada kontrol lampu yang membuat pengguna dapat menghidupkan atau mematikan lampu melalui aplikasi Blynk.
Langkah-Langkah Pembuatan project ini
1. Alat dan Bahan
- ESP32
- Sensor DHT22
- Active Buzzer
- LED
- Resistor 330Ω (untuk LED)
- Kabel jumper dan breadboard
2. Rangkaiannya
- Hubungkan DHT22 ke ESP32:
- VCC → 3.3V
- GND → GND
- Data → GPIO4
- Hubungkan LED ke GPIO18 dengan resistor.
- Hubungkan buzzer ke GPIO19.
3. Langkah langkah pada Wokwi:
- Install library:
- DHT sensor library
- Blynk
- ESP32 board
- Salin kode program ke Wokwi dan sesuaikan kredensial Wi-Fi serta token Blynk.Berikut ini sketch kode program pada ESP32
#define BLYNK_TEMPLATE_ID "TMPL698i-NGsT"
#define BLYNK_TEMPLATE_NAME "ROOM CONTROL"
#define BLYNK_AUTH_TOKEN "h77GTdPuTSu4MqZwQJfd1WtDOe3kiNgy"
#include <DHT.h>
#include <BlynkSimpleEsp32.h>
// WiFi credentials
char ssid[] = "Wokwi-GUEST"; // Default Wokwi Wi-Fi
char pass[] = "";
// DHT Sensor settings
#define DHTPIN 4 // Pin where the DHT sensor is connected
#define DHTTYPE DHT22 // DHT11 or DHT22
DHT dht(DHTPIN, DHTTYPE);
// Virtual pins
#define VIRTUAL_TEMP V0
#define VIRTUAL_HUM V1
#define VIRTUAL_LED V2
// LED and Buzzer pins
const int LED_PIN = 18; // GPIO pin for LED
const int BUZZER_PIN = 19; // GPIO pin for Buzzer
// Thresholds
const float TEMP_THRESHOLD = 30.0; // Temperature threshold in °C
const float HUM_THRESHOLD = 70.0; // Humidity threshold in %
BlynkTimer timer;
void sendSensorData() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Send data to Blynk
Blynk.virtualWrite(VIRTUAL_TEMP, temperature);
Blynk.virtualWrite(VIRTUAL_HUM, humidity);
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
// Check thresholds and trigger buzzer/LED
if (temperature > TEMP_THRESHOLD || humidity > HUM_THRESHOLD) {
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_PIN, LOW);
}
}
BLYNK_WRITE(VIRTUAL_LED) {
int pinValue = param.asInt(); // Get value from Blynk app
digitalWrite(LED_PIN, pinValue);
}
void setup() {
// Debug console
Serial.begin(115200);
// Initialize DHT sensor
dht.begin();
// Initialize LED and Buzzer pins
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
// Connect to Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// Setup a timer to send data periodically
timer.setInterval(2000L, sendSensorData);
}
void loop() {
Blynk.run();
timer.run();
}
4. Pembuatan Pada Blynk
- Buat proyek di aplikasi Blynk.
- Tambahkan widget:
- Gauge untuk suhu dan kelembaban.
- Button untuk kontrol lampu.
- Ambil Auth Token dari project Blynk dan masukkan ke kode Arduino. berikut ini contoh Auth Token dari Blynk
#define BLYNK_TEMPLATE_ID "TMPL698i-NGsT"
#define BLYNK_TEMPLATE_NAME "ROOM CONTROL"
#define BLYNK_AUTH_TOKEN "h77GTdPuTSu4MqZwQJfd1WtDOe3kiNgy"
Kesimpulan
Sistem monitoring suhu dan kelembaban berbasis IoT ini menawarkan solusi praktis dan efisien untuk memantau kondisi lingkungan. Dengan integrasi antara perangkat keras (ESP32, sensor, aktuator) dan perangkat lunak (Blynk), sistem ini memungkinkan pengguna untuk mengakses data secara real-time dan melakukan kontrol dari jarak jauh. Penerapan sistem ini dapat memberikan manfaat dalam berbagai bidang, seperti rumah pintar, pertanian, industri, dan lainnya, untuk meningkatkan efisiensi dan kenyamanan.
0 Orang Menyukai Karya Ini