Membangun Bot Pengukur Tinggi Air Berbasis ESP32 dengan Pemberitahuan di Telegram

3 min read 23-08-2024
Membangun Bot Pengukur Tinggi Air Berbasis ESP32 dengan Pemberitahuan di Telegram

Pendahuluan

Di era Internet of Things (IoT) saat ini, banyak proyek yang dapat memperkaya pengetahuan dan pengalaman kita dalam teknologi modern. Salah satunya adalah membuat perangkat pengukur tinggi air menggunakan ESP32 yang dapat mengirimkan notifikasi melalui aplikasi pesan Telegram. Proyek ini sangat berguna untuk memantau ketinggian air di berbagai lokasi, seperti waduk, sungai, atau bahkan kolam renang. Dalam artikel ini, kita akan membahas langkah-langkah untuk membangun bot pengukur tinggi air tersebut.

Alat dan Bahan yang Diperlukan

Sebelum memulai proyek ini, kita perlu menyiapkan beberapa alat dan bahan berikut:

  • ESP32 Dev Board: Sebagai otak dari proyek ini.
  • Sensor Ultrasonik HC-SR04: Untuk mengukur tinggi air.
  • Breadboard dan Kabel Jumper: Untuk menyambungkan komponen.
  • Power Supply: Baterai atau adaptor untuk memberi daya pada ESP32.
  • Aplikasi Telegram: Untuk menerima notifikasi.
  • Koneksi Internet: Melalui Wi-Fi untuk ESP32.

Pemrograman ESP32

Persiapan Lingkungan Pengembangan

  1. Install Arduino IDE dan pastikan Anda menginstal ESP32 Board Package melalui Board Manager.
  2. Pastikan Anda menginstal library untuk Telegram Bot. Anda dapat mencari dan menginstalnya melalui Library Manager di Arduino IDE.

Membuat Bot di Telegram

  1. Buka aplikasi Telegram dan cari bot bernama BotFather.
  2. Ketik /newbot dan ikuti instruksi untuk membuat bot baru.
  3. Setelah bot dibuat, Anda akan mendapatkan token API. Simpan token ini, karena akan diperlukan dalam kode program.

Kode Program

Berikut adalah kode program sederhana untuk mengukur tinggi air dan mengirimkan notifikasi ke Telegram:

#include <WiFi.h>
#include <TelegramBot.h>

#define trigPin 23
#define echoPin 22

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
const char* telegramToken = "YOUR_TELEGRAM_BOT_TOKEN";
const char* chatId = "YOUR_CHAT_ID";

TelegramBot bot(telegramToken);
long duration;
int distance;

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, password);

    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);

    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

    Serial.println("Connected to WiFi!");
}

void loop() {
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);

    duration = pulseIn(echoPin, HIGH);
    distance = duration * 0.034 / 2;

    Serial.print("Distance: ");
    Serial.println(distance);

    if (distance < 20) { // Threshold in cm
        String message = "Warning! Tinggi air mencapai " + String(distance) + " cm";
        bot.sendMessage(chatId, message);
        delay(60000); // Delay 1 menit sebelum memeriksa lagi
    }

    delay(2000);  // Delay 2 detik untuk pembacaan berikutnya
}

Penjelasan Kode

  • WiFi: Kode menghubungkan ESP32 ke jaringan WiFi yang telah ditentukan.
  • Sensor HC-SR04: Menggunakan pin GPIO untuk mengukur jarak dengan memanfaatkan gelombang ultrasonik.
  • TelegramBot: Menggunakan token dan chat ID untuk mengirim pesan peringatan jika tinggi air melebihi ambang batas yang ditentukan (dalam contoh ini, 20 cm).

Menyambungkan Komponen

Berikut adalah cara melakukan sambungan antara ESP32 dan sensor HC-SR04:

  • Trig Pin ke pin 23 di ESP32.
  • Echo Pin ke pin 22 di ESP32.
  • Sumber daya perlu disambungkan dengan benar agar ESP32 dan sensor mendapatkan daya yang cukup.

Uji Coba Sistem

Setelah segala sesuatunya terpasang dan kode di-upload ke ESP32, lakukan uji coba dengan menempatkan sensor di atas permukaan air. Pastikan ESP32 terhubung ke jaringan WiFi dan juga sudah terdaftar pada bot Telegram.

  1. Amati output pada Serial Monitor di Arduino IDE untuk memastikan pengukuran ketinggian air.
  2. Lakukan pengujian dengan memasukkan berbagai ketinggian air dan pastikan notifikasi dari bot Telegram terkirim ketika ketinggian air melebihi ambang batas.

Tips Perawatan

  • Sumber Daya: Pastikan Anda menggunakan sumber daya yang stabil.
  • Koneksi: Periksa jika ESP32 tetap terhubung dengan jaringan Wi-Fi.
  • Sensor: Pastikan sensor dalam keadaan baik dan tidak terhalang oleh objek lain.

Kesimpulan

Membangun bot pengukur tinggi air berbasis ESP32 merupakan proyek yang sederhana namun sangat berguna. Dengan menggunakan sensor ultrasonik dan koneksi ke Telegram, Anda bisa mendapatkan informasi secara real-time mengenai kondisi tinggi air. Proyek ini tidak hanya meningkatkan pemahaman Anda tentang teknologi IoT tetapi juga memberikan manfaat nyata dalam pemantauan lingkungan. Anda dapat mengembangkan proyek ini lebih lanjut dengan menambahkan fitur, seperti penyimpanan data di cloud atau analisis lebih mendalam menggunakan platform IoT.

Dengan langkah-langkah yang telah dijelaskan, diharapkan Anda mampu membuat bot pengukur tinggi air ini dengan mudah. Selamat mencoba!