Pada era teknologi yang semakin maju ini, sistem otomasi rumah menjadi semakin populer. Salah satu cara untuk meningkatkan keamanan rumah adalah dengan menggunakan sistem pendeteksi gerak. Dalam artikel ini, kita akan membahas bagaimana cara merancang bot pendeteksi gerak menggunakan ESP32 dan PIR sensor serta menghubungkannya dengan notifikasi melalui Telegram.
1. Apa itu ESP32 dan PIR Sensor?
ESP32 adalah modul microcontroller yang memiliki konektivitas Wi-Fi dan Bluetooth. Modul ini populer di kalangan penggemar proyek IoT (Internet of Things) karena kemampuannya yang tinggi dan harga yang terjangkau.
PIR Sensor (Passive Infrared Sensor) adalah sensor yang digunakan untuk mendeteksi gerakan. Sensor ini bekerja dengan mendeteksi perubahan energi inframerah, yang biasanya dipancarkan oleh manusia dan hewan. Sensor PIR banyak digunakan pada sistem keamanan dan otomatisasi.
2. Komponen yang Diperlukan
Berikut adalah daftar komponen yang perlu disiapkan untuk merakit sistem pendeteksi gerak ini:
- ESP32 Module
- PIR Sensor
- Breadboard dan Jumper Wires
- Power Supply 5V
- Smartphone dengan aplikasi Telegram
- Akses ke Internet
3. Skema Koneksi
- Koneksi ESP32 dengan PIR Sensor:
- VCC PIR Sensor ke 5V ESP32
- GND PIR Sensor ke GND ESP32
- OUT PIR Sensor ke salah satu pin digital ESP32 (misalkan pin GPIO 13)
Skema koneksi ini memungkinkan ESP32 untuk membaca sinyal keluaran dari PIR Sensor.
4. Pemrograman ESP32
Setelah komponen terhubung, langkah selanjutnya adalah memprogram ESP32 agar dapat mendeteksi gerakan dan mengirimkan notifikasi ke Telegram. Berikut merupakan langkah-langkah yang harus dilakukan:
4.1. Setting Up Telegram Bot
- Buka aplikasi Telegram dan cari "BotFather".
- Kirim pesan "/newbot" untuk membuat bot baru.
- Ikuti instruksi untuk memberikan nama dan username untuk bot Anda.
- Setelah bot dibuat, Anda akan menerima token API. Simpan token ini, karena Anda akan membutuhkannya dalam pemrograman.
4.2. Pemrograman menggunakan Arduino IDE
- Buka Arduino IDE dan instal library yang diperlukan, seperti "WiFi.h" dan "UniversalTelegramBot.h".
- Buat sketch baru dan masukkan kode berikut:
#include <WiFi.h>
#include <UniversalTelegramBot.h>
// Ganti dengan token bot Anda
#define BOT_TOKEN "YOUR_BOT_TOKEN_HERE"
// Ganti dengan SSID dan password Wi-Fi Anda
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
// Inisialisasi objek bot dan Wi-Fi
WiFiClient client;
UniversalTelegramBot bot(BOT_TOKEN, client);
// Set pin untuk PIR Sensor
const int PIR_PIN = 13;
volatile bool motionDetected = false;
void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
// Menghubungkan ke Wi-Fi
connectWiFi();
Serial.println("Connected to Wi-Fi");
// Mengatur interupsi untuk mendeteksi gerakan
attachInterrupt(digitalPinToInterrupt(PIR_PIN), motionISR, RISING);
}
void loop() {
if (motionDetected) {
sendTelegramNotification();
motionDetected = false; // reset indikator
}
}
void motionISR() {
motionDetected = true; // set flag ketika gerakan terdeteksi
}
void connectWiFi() {
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected.");
}
void sendTelegramNotification() {
String message = "Gerakan terdeteksi!";
bot.sendMessage("YOUR_CHAT_ID", message, "");
}
Catatan: Gantilah YOUR_BOT_TOKEN
dengan token yang Anda dapatkan dari BotFather, dan YOUR_SSID
serta YOUR_PASSWORD
dengan kredensial Wi-Fi Anda. Juga, ganti YOUR_CHAT_ID
dengan ID chat Telegram Anda, yang dapat Anda peroleh dengan mengirimkan pesan ke bot Anda setelah dibuat.
5. Menguji Sistem
Setelah semua perangkat terhubung dan kode diprogram, sambungkan ESP32 ke sumber daya dan aktifkan PIR Sensor. Ketika sensor mendeteksi gerakan, Anda akan menerima notifikasi di Telegram. Cobalah bergerak di depan PIR Sensor untuk memastikan sistem berfungsi dengan baik.
6. Penyempurnaan Sistem
Setelah sistem berjalan, ada beberapa penyempurnaan yang bisa dilakukan:
- Pengaturan Sensitivitas dan Delay: Sesuaikan sensitivitas sensor PIR dan tambahkan delay sebelum pengulangan notifikasi untuk menghindari spam.
- Penggunaan Database: Mengintegrasikan database untuk menyimpan log aktivitas gerakan yang terdeteksi.
- Antarmuka Web: Membuat antarmuka web untuk memonitor aktivitas secara real-time.
7. Kesimpulan
Desain bot pendeteksi gerak menggunakan ESP32 dan PIR Sensor untuk notifikasi Telegram adalah proyek yang menarik dan bermanfaat. Dengan beberapa komponen yang sederhana, Anda dapat membuat sistem keamanan yang efektif untuk rumah Anda. Selain itu, dengan notifikasi real-time melalui Telegram, Anda dapat mengawasi rumah Anda dari jarak jauh. Semoga artikel ini bermanfaat dan selamat mencoba!