DHT & IR TELEGRAM
Monitoring Online Temperatur Menggunakan ESP32 dan Telegram Akun
DHT & IR TELEGRAM
Monitoring Online Temperatur Menggunakan ESP32 dan Telegram Akun
Komponen :
- ESP 32 (Micro Controller)
- DHT 22 (Sensor temperatur)
- PIR (Mendeteksi Gerakan)
- LCD (Modul Tampilan)
- Buzzer (Sebagai Alarm)
- Breadboard (Peletakan Komponen)
- Cable Jumper ( Menghubungkan Komponen)
- Telegram Account (Monitoring)
Wiring :
DHT 22 ke ESP-32
VCC → 3V3
Data Output → 4
GND → GND
SENSOR IR KE ESP32
VCC → 3V3
GND → GND
Output → 14
LCD 16x2 (i2C) Ke ESP32
GND → GND
VCC → 3V3
SDA → 21
SCL → 22
BUZZER ke ESP32
VCC → 26
GND → GND
RANGKAIAN
Rangkai seperti berikut ini :

TUTORIAL
Berikut ini adalah tutorial nya
LANGKAH PERTAMA

Pastikan sudah meng install dan menambahkan librarry pada : wokwi dan Arduino Ide
LANGKAH KEDUA



Tambahkan bot telegram yaitu @BotFather lalau, lalukan :
- start -> untuk mulai chat baru
- create new bot -> untuk membuat bot baru
- masukan nama bot yang unik -> pastika nama bot uniq dan tidak sama
- catat Token dan URL Bot dan masukan pada baris id di codingan
LANGKAH KETIGA


Tambahkan bot telegram yaitu @myidbot lalau, lalukan :
- start -> memulai chat
- getid -> mendapatkan ID chat telegram
- catat id chat yang tampil dan masukan pada baris id di codingan
LANGKAH KEEMPAT


Klik link Url Bot yang di buat sebelumnya dari @BotFather lalau, lalukan :
- start
- lalu amati pesan yang masuk pada bot ketika program di jalankan
LANGKAH KELIMA

Masukan Token & ID Telegram pada baris kode di atas
LANGKAH KEENAM

Sesuaikan Pesan yang akan di kirimkan ke Telegram dengan mengedit baris code tersebut
RUNNING
jika semua step sudah di lakukan, selanjutnya running dan amati hasilnya
Running Before Detected Object
- Pastikan ssid / nama wifi & Password sesuai dengan pada router

Running After Detected Object
- Pastikan koneksi wifi berhasil sesuai dengan ssid yang di masukan pada codingan
- Pastikan ESP32 berhasil mendapatkan IP dari router


Tampilan Notifikasi di Aplikasi Telegram
- Akan ada notifikasi Bot Started up jika ESP32 berhasil terhubung ke bot telegram
- Notifikasi Gerakan Terdeteksi jika sensor mendeteksi objek “akan ada sedikit delay antara deteksi sensor dengan bot Telegram”
CODE UNTUK MENJALANKAN
include <WiFi.h>
include <WiFiClientSecure.h>
include <UniversalTelegramBot.h>
include <DHT.h>
include <Wire.h>
include <LiquidCrystal_I2C.h>
// — — WiFi Credentials — - const char ssid = “NAMA_WIFI_KAMU”; const char password = “PASSWORD_WIFI_KAMU”;
// — — Telegram Bot — -
define BOT_TOKEN “ISI_BOT_TOKEN”
define CHAT_ID “ISI_CHAT_ID”
// — — Pin Setup — -
define DHTPIN 4 // GPIO4
define IR_SENSOR_PIN 14 // GPIO14
define BUZZER_PIN 26 // GPIO26
define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// — — LCD I2C — - LiquidCrystal_I2C lcd(0x27, 16, 2); // Ganti ke 0x3F jika LCD tidak tampil
// — — Telegram Client — - WiFiClientSecure client; UniversalTelegramBot bot(BOT_TOKEN, client);
// — — Timer — - unsigned long lastMsgTime = 0; const long interval = 60000; // 1 menit bool obstacleDetected = false;
void setup() { Serial.begin(115200);
pinMode(IR_SENSOR_PIN, INPUT); pinMode(BUZZER_PIN, OUTPUT); digitalWrite(BUZZER_PIN, LOW); // pastikan buzzer mati dulu
dht.begin(); lcd.init(); lcd.backlight();
lcd.setCursor(0, 0); lcd.print(“Menghub. WiFi…”);
// WiFi connect WiFi.begin(ssid, password); client.setInsecure(); // nonaktifkan SSL check
while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(“.”); } Serial.println(“\nWiFi Terhubung”);
lcd.clear(); lcd.setCursor(0, 0); lcd.print(“ESP32 Terhubung!”);
bot.sendMessage(CHAT_ID, “✅ ESP32 aktif! IR + DHT22 + LCD + Buzzer siap digunakan.”, “”); }
void loop() { // Deteksi obstacle if (digitalRead(IR_SENSOR_PIN) == LOW && !obstacleDetected) { obstacleDetected = true; Serial.println(“🚨 Halangan Terdeteksi!”);
// Bunyikan buzzer digitalWrite(BUZZER_PIN, HIGH); delay(300); // bunyikan 300ms digitalWrite(BUZZER_PIN, LOW);
// Kirim ke Telegram bot.sendMessage(CHAT_ID, “🚨 Halangan terdeteksi oleh Sensor IR!”, “”);
// Tampilkan di LCD lcd.clear(); lcd.setCursor(0, 0); lcd.print(“🚨 Obstacle!”); lcd.setCursor(0, 1); lcd.print(“IR Aktif!”); }
if (digitalRead(IR_SENSOR_PIN) == HIGH) { obstacleDetected = false; digitalWrite(BUZZER_PIN, LOW); // pastikan buzzer mati }
// Kirim suhu & kelembapan if (millis() — lastMsgTime > interval) { lastMsgTime = millis();
float h = dht.readHumidity(); float t = dht.readTemperature();
if (isnan(h) || isnan(t)) { Serial.println(“❌ DHT22 Error”); lcd.setCursor(0, 0); lcd.print(“DHT Error “); return; }
String message = “🌡️ Suhu: “ + String(t) + “°C\n💧 Kelembapan: “ + String(h) + “%”; Serial.println(message);
lcd.clear(); lcd.setCursor(0, 0); lcd.print(“Suhu: “ + String(t) + “ C”); lcd.setCursor(0, 1); lcd.print(“Humidity: “ + String(h) + “%”);
bot.sendMessage(CHAT_ID, message, “”); } }
REFERENSI :
Motion Detection (Telegram) | Veven Blog
motion led cover
https://te.eng.uho.ac.id/virtualab/manager/display.html
https://repository.itk.ac.id/17633/5/03171075_chapter_2.pdf
[embed]
DOKUMENTASI


메타데이터
- post_id
- 2ea82a7d7bd0
- slug
- dht-ir-telegram-2ea82a7d7bd0
- url
- https://medium.com/@adeyulio1107/dht-ir-telegram-2ea82a7d7bd0
- canonical_url
- https://medium.com/@adeyulio1107/dht-ir-telegram-2ea82a7d7bd0
- author_url
- https://medium.com/@adeyulio1107
- status
- ok
- fetched_at
- 2026-07-18 23:31:09