Jumat, 25 April 2025

projek banjir


Menarik! Kamu bisa membuat alat deteksi banjir menggunakan Arduino Uno dan mengirim notifikasi ke WhatsApp secara otomatis. Berikut komponen dan alur sederhananya:

Komponen yang Dibutuhkan

  1. Arduino Uno
  2. Sensor level air (bisa pakai water level sensor atau ultrasonic sensor jika ingin non-kontak)
  3. ESP8266 module (untuk koneksi internet)
  4. Power supply
  5. Bot WhatsApp (gunakan layanan seperti CallMeBot atau Twilio)

Alur Sistem

  1. Sensor mendeteksi ketinggian air.
  2. Arduino membaca data sensor.
  3. Jika air melewati ambang batas, Arduino memerintahkan ESP8266 untuk mengirim pesan ke WhatsApp menggunakan API CallMeBot.
  4. Kamu menerima pesan peringatan.

Contoh Logika Pemrograman

#include <SoftwareSerial.h>

#define sensorPin A0
#define threshold 600 // nilai ambang batas banjir

void setup() {
  Serial.begin(9600);
}

void loop() {
  int level = analogRead(sensorPin);
  Serial.println(level);

  if (level > threshold) {
    sendWhatsAppAlert(); // Kirim WA jika level air tinggi
  }

  delay(5000); // Delay 5 detik
}

void sendWhatsAppAlert() {
  // Kirim data ke ESP8266 (bisa pakai AT command atau langsung HTTP request jika pakai NodeMCU)
  Serial.println("KIRIM WA: Hati-hati, terjadi kebanjiran!");
}

Langkah Lanjut

Mau saya bantu buatkan skema rangkaian dan kode lengkap dengan pengiriman ke WhatsApp via CallMeBot atau Twilio?

Mantap! Kita akan pakai CallMeBot karena lebih mudah digunakan untuk kirim pesan WhatsApp langsung dari ESP8266.



---


Langkah 1: Siapkan Komponen


1. Arduino Uno



2. ESP8266 module (contoh: ESP-01 atau NodeMCU)



3. Water level sensor (atau sensor ultrasonik)



4. Kabel jumper, breadboard, dan power supply





---


Langkah 2: Daftar ke CallMeBot


1. Simpan nomor +34 644 55 23 47 ke kontak WhatsApp kamu.



2. Kirim pesan ke kontak itu dengan isi: I allow callmebot to send me messages.



3. Bot akan balas dengan API key kamu (simpan baik-baik).





---


Langkah 3: Rangkaian


Jika kamu pakai NodeMCU (ESP8266), kamu bisa langsung hubungkan sensor ke pin analog (A0).

Kalau masih pakai Arduino Uno + ESP-01, kita perlu komunikasi serial antar keduanya. Tapi lebih praktis jika langsung pakai NodeMCU.



---


Langkah 4: Contoh Kode Lengkap untuk NodeMCU


#include <ESP8266WiFi.h>

#include <ESP8266HTTPClient.h>


const char* ssid = "NAMA_WIFI_KAMU";

const char* password = "PASSWORD_WIFI_KAMU";


const String phoneNumber = "628xxxxxxxxxx"; // Ganti dengan nomor WA kamu

const String apiKey = "apikey_kamu"; // Ganti dengan API key dari CallMeBot


#define sensorPin A0

#define threshold 600


void setup() {

  Serial.begin(115200);

  WiFi.begin(ssid, password);


  while (WiFi.status() != WL_CONNECTED) {

    delay(1000);

    Serial.println("Menghubungkan ke WiFi...");

  }


  Serial.println("Terhubung ke WiFi");

}


void loop() {

  int level = analogRead(sensorPin);

  Serial.println("Level Air: " + String(level));


  if (level > threshold) {

    sendWhatsApp("Peringatan! Air melebihi batas aman! Level: " + String(level));

    delay(60000); // Tunggu 1 menit sebelum kirim ulang

  }


  delay(5000);

}


void sendWhatsApp(String message) {

  if (WiFi.status() == WL_CONNECTED) {

    HTTPClient http;

    String url = "https://api.callmebot.com/whatsapp.php?phone=" + phoneNumber + "&text=" + message + "&apikey=" + apiKey;


    http.begin(url);

    int httpCode = http.GET();


    if (httpCode > 0) {

      Serial.println("Pesan terkirim: " + message);

    } else {

      Serial.println("Gagal kirim pesan");

    }


    http.end();

  }

}



---


Kalau kamu mau, saya bisa bua

tkan skema rangkaiannya juga. Kamu pakai NodeMCU atau masih pakai Arduino Uno + ESP8266 terpisah?




Tidak ada komentar:

Posting Komentar

odong

Membuat odong-odong untuk anak-anak yang bisa beroperasi dengan koin membutuhkan pemahaman dasar tentang mekanik, elektronik, dan sistem ko...