Project kali ini ayo kita membuat tempat sampah otomatis dengan menggunakan arduino cara kerjanya nanti jika ada objek yang mendekat ke tempat sampah, Tempat sampah akan terbuka secara otomatis
Table of Contents
ToggleKonsep Dasar
- Sensor Ultrasonik: Mendeteksi jarak objek. Jika objek terlalu dekat, tempat sampah akan terbuka.
- Servo Motor: Menggerakkan tutup tempat sampah untuk membuka dan menutup.
- Arduino: Sebagai “otak” yang memproses data dari sensor dan mengontrol servo.
Komponen yang Dibutuhkan

- Arduino Uno (atau jenis Arduino lain yang kompatibel)
- Sensor Ultrasonik HC-SR04
- Servo Motor SG90 (atau jenis servo kecil lainnya)
- Kabel Jumper (Male-to-Male dan Male-to-Female)
- Breadboard (opsional, untuk kerapian kabel)
- Tempat Sampah Kecil (dengan tutup yang bisa dimodifikasi agar bisa digerakkan oleh servo)
- Power Bank/Adaptor 5V (untuk daya, setelah selesai diuji dengan USB dari komputer)
Skema Rangkaian
Berikut adalah cara menghubungkan komponen-komponennya:

- Sensor Ultrasonik HC-SR04:
- VCC ke pin 5V Arduino
- GND ke pin GND Arduino
- Trig ke pin digital 9 Arduino
- Echo ke pin digital 10 Arduino
- Servo Motor SG90:
- Kabel Coklat (GND) ke pin GND Arduino
- Kabel Merah (VCC) ke pin 5V Arduino
- Kabel Oranye/Kuning (Signal) ke pin digital 6 Arduino
Kode Arduino (Sketch)
Salin kode ini ke Arduino IDE Anda:
#include <Servo.h> // Library untuk mengontrol servo motor
Servo myServo; // Membuat objek servo
const int trigPin = 9; // Pin Trig sensor ultrasonik
const int echoPin = 10; // Pin Echo sensor ultrasonik
const int tutupPos = 0; // Posisi servo saat tutup tertutup (dalam derajat)
const int bukaPos = 90; // Posisi servo saat tutup terbuka (dalam derajat) - sesuaikan
const int jarakMin = 20; // Jarak minimum (cm) untuk membuka tutup
long duration;
int distance;
void setup() {
myServo.attach(6); // Menghubungkan objek servo ke pin digital 6
myServo.write(tutupPos); // Pastikan tutup dalam posisi tertutup saat pertama kali menyala
pinMode(trigPin, OUTPUT); // Pin Trig sebagai OUTPUT
pinMode(echoPin, INPUT); // Pin Echo sebagai INPUT
Serial.begin(9600); // Memulai komunikasi serial untuk debugging
}
void loop() {
// Membersihkan pin Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Mengirim pulsa HIGH selama 10 mikrodetik dari pin Trig
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca waktu tempuh pulsa dari pin Echo
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak berdasarkan kecepatan suara (343 m/s atau 0.0343 cm/mikrodetik)
distance = duration * 0.0343 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
// Logika kontrol servo
if (distance <= jarakMin) {
// Jika objek terdeteksi dekat, buka tutup
myServo.write(bukaPos);
Serial.println("Tutup terbuka!");
delay(3000); // Tunggu 3 detik (sesuaikan) sebelum menutup kembali
} else {
// Jika tidak ada objek, tutup tutup
myServo.write(tutupPos);
Serial.println("Tutup tertutup.");
}
delay(100); // Penundaan kecil antar pembacaan sensor
}
Penjelasan Kode
#include <Servo.h>
: Mengimpor pustaka Servo yang memudahkan kontrol motor servo.myServo.attach(6);
: Mengaitkan objek servo ke pin digital 6 Arduino.tutupPos
danbukaPos
: Variabel ini menentukan sudut servo untuk posisi tutup tertutup dan terbuka. Anda mungkin perlu menyesuaikan nilaibukaPos
(misalnya,90
,120
, atau180
) agar sesuai dengan mekanisme tutup tempat sampah Anda.trigPin
danechoPin
: Mendefinisikan pin untuk sensor ultrasonik.jarakMin
: Jarak dalam sentimeter di mana tempat sampah akan terbuka. Anda bisa menyesuaikannya.- Logika Sensor Ultrasonik: Kode ini menghitung jarak objek berdasarkan waktu yang dibutuhkan gelombang suara untuk pergi dan kembali.
- Logika Servo:
- Jika
distance
kurang dari atau sama denganjarakMin
, servo bergerak kebukaPos
. - Setelah 3 detik (bisa diubah), servo kembali ke
tutupPos
. - Jika tidak ada objek dekat, tutup tetap tertutup.
- Jika
delay()
: Memberi jeda waktu. Sesuaikandelay(3000)
untuk berapa lama tutup akan terbuka.
Cara Kerja
- Siapkan Tempat Sampah: Modifikasi tempat sampah Anda agar servo bisa menggerakkan tutupnya. Ini mungkin melibatkan penambahan engsel kecil atau braket.
- Rangkai Komponen: Ikuti skema rangkaian di atas untuk menghubungkan semua komponen ke Arduino.
- Unggah Kode:
- Buka Arduino IDE.
- Salin dan tempel kode di atas.
- Pilih Tools > Board > Arduino Uno.
- Pilih Tools > Port dan pilih port COM yang terhubung ke Arduino Anda.
- Klik tombol Upload (panah kanan) untuk mengunggah kode ke Arduino.
- Uji Coba:
- Setelah kode terunggah, arahkan tangan Anda ke sensor ultrasonik.
- Servo seharusnya akan bergerak membuka tutup tempat sampah.
- Setelah beberapa detik, tutup akan menutup kembali.
- Perhatikan keluaran di Serial Monitor (Tools > Serial Monitor) untuk melihat pembacaan jarak. Ini membantu saat debugging.