← Back to list

DHT & IR TELEGRAM

Monitoring Online Temperatur Menggunakan ESP32 dan Telegram Akun

Ade Yulio · 2025-07-16 01:35 · 0 claps · 4.2 min read
#penggunaan-esp32 #dht-22 #ir-sensor
Open on Medium ↗

DHT & IR TELEGRAM

Monitoring Online Temperatur Menggunakan ESP32 dan Telegram Akun

Komponen :

  1. ESP 32 (Micro Controller)
  2. DHT 22 (Sensor temperatur)
  3. PIR (Mendeteksi Gerakan)
  4. LCD (Modul Tampilan)
  5. Buzzer (Sebagai Alarm)
  6. Breadboard (Peletakan Komponen)
  7. Cable Jumper ( Menghubungkan Komponen)
  8. 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

www.vvn.my.id

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