MEMBUAT KERAN DISPENSER OTOMATIS


 Panduan Membuat Keran Air Otomatis dengan Arduino dan Sensor Ultrasonik


Berikut Video Pembuatannya:

📝 Deskripsi Proyek

Keran otomatis ini bekerja dengan sensor ultrasonik HC-SR04 untuk mendeteksi keberadaan gelas di dekat keran. Saat gelas terdeteksi, servo motor menarik tuas keran sehingga air mengalir. Setelah waktu tertentu, servo kembali ke posisi awal untuk menutup keran.

Proyek ini cocok untuk eksperimen sederhana maupun solusi praktis hemat air.


🔧 Alat dan Bahan

  • 1x Arduino Uno / Nano
  • 1x Sensor Ultrasonik HC-SR04
  • 1x Servo motor SG90 / MG90S
  • 1x Breadboard & Jumper Wires
  • 1x Kabel USB
  • 2 Baterai charger 18650
  • Tali kecil untuk mengikat tuas servo dengan keran air manual

Wiring / Rangkaian

Hubungkan komponen seperti berikut:

  • HC-SR04
    • VCC → 5V Arduino
    • GND → GND Arduino
    • Trig → Pin 9 Arduino
    • Echo → Pin 10 Arduino
  • Servo Motor
    • Kabel Merah (VCC) → 5V Arduino
    • Kabel Coklat/Hitam (GND) → GND Arduino
    • Kabel Oranye/Kuning (Signal) → Pin 6 Arduino

🔗 Berikut diagram sederhana koneksi:

HC-SR04            Arduino UNO

---------          ------------

VCC       --->     5V

GND       --->     GND

Trig      --->     D9

Echo      --->     D10

 

Servo

---------

VCC (Merah) --->   5V

GND (Coklat) --->  GND

Signal (Oranye) -> D6


💻 Kode Program Arduino

Berikut program lengkap untuk mengontrol keran otomatis:

#include <Servo.h>

 

#define TRIG_PIN  9

#define ECHO_PIN  10

#define SERVO_PIN 6

 

Servo servo;

 

long duration;

int distance;

int threshold = 15;   // Jarak ambang (cm) untuk mendeteksi gelas

 

void setup() {

  pinMode(TRIG_PIN, OUTPUT);

  pinMode(ECHO_PIN, INPUT);

  servo.attach(SERVO_PIN);

  servo.write(0);   // Posisi awal servo (tutup keran)

  Serial.begin(9600);

}

 

void loop() {

  // Kirim trigger

  digitalWrite(TRIG_PIN, LOW);

  delayMicroseconds(2);

  digitalWrite(TRIG_PIN, HIGH);

  delayMicroseconds(10);

  digitalWrite(TRIG_PIN, LOW);

 

  // Baca echo

  duration = pulseIn(ECHO_PIN, HIGH);

  distance = duration * 0.034 / 2;  // Konversi ke cm

 

  Serial.print("Jarak: ");

  Serial.print(distance);

  Serial.println(" cm");

 

  // Jika gelas terdeteksi

  if (distance > 0 && distance < threshold) {

    servo.write(90);   // Tarik tali (buka keran)

    delay(7000);       // Lama keran terbuka (7 detik, bisa diubah)

    servo.write(0);    // Tutup kembali

    delay(1000);       // Jeda agar tidak langsung aktif lagi

  }

}


⚙️ Cara Kerja

  1. Sensor ultrasonik membaca jarak objek (gelas).
  2. Jika jarak < 15 cm → servo bergerak ke posisi 90° untuk menarik tuas keran.
  3. Setelah 7 detik, servo kembali ke posisi awal (0°) menutup keran.
  4. Terdapat jeda 1 detik sebelum sistem bisa aktif lagi.

🎯 Tips & Pengembangan

  • Atur nilai threshold sesuai kebutuhan (misal 10–20 cm).
  • Atur delay(7000) sesuai lama air yang ingin keluar.
  • Gunakan servo yang lebih kuat jika tuas keran berat.
  • Bisa ditambahkan sensor flowmeter untuk mengukur volume air.
  • Jika ingin lebih modern, sistem bisa dipadukan dengan relay + solenoid valve sebagai pengganti keran manual.

 

Tidak ada komentar:

Posting Komentar