Membangun Bot Penyaring Air Otomatis Menggunakan ESP32 dengan Notifikasi di Telegram

3 min read 23-08-2024
Membangun Bot Penyaring Air Otomatis Menggunakan ESP32 dengan Notifikasi di Telegram

Pendahuluan

Teknologi Internet of Things (IoT) semakin berkembang pesat, memberikan banyak kemudahan dalam kehidupan sehari-hari. Salah satu aplikasi IoT yang menarik adalah dalam sistem penyaringan air otomatis. Dalam artikel ini, kita akan membahas bagaimana cara membangun bot penyaring air otomatis menggunakan modul ESP32 dan mendapatkan notifikasi melalui Telegram. Selain memberikan kemudahan, proyek ini juga dapat memberikan pemahaman yang lebih mendalam mengenai pemrograman dan penggunaan sensor.

Alat dan Bahan yang Diperlukan

Sebelum memulai proyek ini, pastikan Anda menyiapkan alat dan bahan berikut:

  1. ESP32: Modul ini berfungsi sebagai otak dari sistem, mengontrol semua proses.
  2. Sensor Kekeruhan: Untuk mengukur tingkat kekeruhan air.
  3. Pompa Air: Untuk menyaring air secara otomatis.
  4. Relay: Untuk mengendalikan pompa air.
  5. Breadboard dan Kabel Jumper: Untuk menghubungkan semua komponen.
  6. Modul Wi-Fi: ESP32 sudah memiliki Wi-Fi built-in, jadi Anda tidak perlu modul terpisah.
  7. Akun Telegram: Untuk mengirim notifikasi.
  8. Software Arduino IDE: Untuk memprogram ESP32.

Skema Rangkaian

Sebelum melanjutkan ke pemrograman, biasanya penting untuk memahami skema rangkaian. Berikut ini adalah skema sederhana:

  1. ESP32 terhubung dengan Sensor Kekeruhan untuk membaca kadar kekeruhan air.
  2. Relay terhubung ke Pompa Air, sehingga saat pompa dinyalakan, air dapat disaring.
  3. Pastikan semua komponen terhubung dengan baik di Breadboard.

Pemrograman ESP32

Setelah rangkaian siap, langkah berikutnya adalah memprogram ESP32 menggunakan Arduino IDE. Berikut adalah langkah-langkahnya:

1. Menginstal Library

Pastikan Anda menginstal library yang diperlukan untuk ESP32 dan Telegram. Anda dapat melakukannya melalui Library Manager di Arduino IDE. Cari dan instal:

  • WiFi
  • Telegram Bot

2. Kode Program

Berikut adalah contoh kode program untuk sistem penyaring air otomatis:

#include <WiFi.h>
#include <UniversalTelegramBot.h>

#define WIFI_SSID "YOUR_SSID"
#define WIFI_PASSWORD "YOUR_PASSWORD"
#define BOT_TOKEN "YOUR_BOT_TOKEN"
#define CHAT_ID "YOUR_CHAT_ID"

#define TURBIDITY_SENSOR_PIN 34
#define RELAY_PIN 25

WiFiClient client;
UniversalTelegramBot bot(BOT_TOKEN, client);

void setup() {
  Serial.begin(115200);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);
  connectToWiFi();
}

void connectToWiFi() {
  delay(10);
  Serial.println("Connecting to WiFi...");
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("Connected to WiFi");
}

void loop() {
  int turbidityValue = analogRead(TURBIDITY_SENSOR_PIN);
  Serial.print("Turbidity Value: ");
  Serial.println(turbidityValue);
  
  // Misalkan nilai kekeruhan ambang batas
  if (turbidityValue > 500) {
    digitalWrite(RELAY_PIN, HIGH);
    sendNotification("Air yang disaring kotor, pompa dinyalakan!");
    delay(30000); // Pompa akan menyala selama 30 detik
    digitalWrite(RELAY_PIN, LOW);
  }
  
  delay(10000); // Delay untuk pembacaan selanjutnya
}

void sendNotification(String message) {
  bot.sendMessage(CHAT_ID, message, "");
}

3. Penjelasan Kode

  • Library: Pertama, kita mengimpor library yang dibutuhkan.
  • WiFi Connection: Fungsi connectToWiFi digunakan untuk menghubungkan ESP32 ke Wi-Fi.
  • Loop: Di dalam loop utama, kita membaca nilai dari sensor kekeruhan. Jika nilai kekeruhan melebihi ambang batas, pompa dinyalakan dan notifikasi dikirim ke Telegram.
  • Notifikasi Telegram: Fungsi sendNotification digunakan untuk mengirim pesan ke akun Telegram ketika pompa dinyalakan.

Menyiapkan Bot di Telegram

Sebelum bisa mendapatkan notifikasi, Anda harus membuat bot di Telegram. Berikut langkah-langkahnya:

  1. Buka Telegram dan cari "BotFather".
  2. Ketik /newbot untuk membuat bot baru.
  3. Ikuti instruksi untuk memberi nama dan memilih username untuk bot Anda.
  4. Setelah selesai, Anda akan mendapat token. Simpan token ini untuk digunakan dalam kode.
  5. Dapatkan CHAT_ID Anda dengan mengirim pesan ke bot Anda dan mengunjungi https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates.

Uji Coba Sistem

Setelah semua tahap di atas selesai, saatnya untuk menguji coba sistem:

  1. Pastikan semua komponen sudah terhubung dengan benar.
  2. Upload kode ke ESP32 menggunakan Arduino IDE.
  3. Laksanakan pengujian dengan mencelupkan sensor kekeruhan ke dalam air kotor. Pantau hasilnya di serial monitor dan di Telegram.

Kesimpulan

Membangun bot penyaring air otomatis menggunakan ESP32 dengan notifikasi di Telegram adalah proyek yang menarik dan bermanfaat. Selain bisa menyaring air secara otomatis, Anda juga dapat menerima informasi real-time tentang kondisi air melalui smartphone Anda. Proyek ini tidak hanya meningkatkan pemahaman mengenai IoT tetapi juga bisa dijadikan langkah awal untuk proyek-proyek IoT yang lebih kompleks di masa depan.

Dengan memanfaatkan teknologi yang ada, Anda bisa mendapatkan solusi efektif dalam menjaga kualitas air di rumah, menjaga kesehatan keluarga Anda, dan tentunya memberi Anda pengalaman belajar yang menyenangkan. Selamat mencoba!