Cara Membuat Tong Sampah Otomatis dengan Sensor Ultrasonik dan Arduino

Cara membuat tong sampah otomatis dengan Arduino, sensor ultrasonik, dan servo motor. Tutorial lengkap, mudah dipahami pemula, cocok untuk proyek DIY,

 


video click disini

Di era modern seperti sekarang, penerapan teknologi sederhana dalam kehidupan sehari-hari semakin banyak dilakukan untuk meningkatkan kenyamanan dan kebersihan. Salah satunya adalah tong sampah otomatis, yang dapat membuka tutupnya secara otomatis tanpa disentuh tangan. Proyek ini sangat cocok bagi kamu yang ingin belajar Arduino sambil menciptakan sesuatu yang bermanfaat.


Pada artikel kali ini, Kalilandak Info akan membagikan tutorial lengkap membuat tong sampah otomatis menggunakan sensor ultrasonik, Arduino Uno, dan servo motor. Proyek ini tidak hanya sederhana dan mudah dipahami pemula, tetapi juga bisa dijadikan tugas sekolah, ide lomba sains, atau bahkan solusi nyata di rumah dan kantor.


Yuk, simak langkah-langkahnya, mulai dari daftar komponen, skema rangkaian, kode program, hingga tips praktis untuk perakitannya!

Daftar komponen:

1.arduino nano

1.motor servo

1.sensor ultrasonic

1.led hijau 5mm

1.led merah 5mm

1.power suplay 5volt 

Untuk code silahkan copy di bawah ini

/*
 *-------kalilandak info-----
 * 
*/

 

#include <Servo.h> //Library untuk Servo
#define trigPin 7 //Set Trigger HCSR04 di Pin digital 12
#define echoPin 6 //Set Echo HCSR04 di Pin digital 13
#define MAX_DISTANCE 500 //Set jarak maksimal
//NewPing sonar(trigPin, echoPin, MAX_DISTANCE);
int LEDhijau = 3, LEDmerah = 2; //Set Pin LEDhijau dan LEDmerah
Servo myservo; //Buat object 1 buah motor servo

void setup() {
 //Serial.begin (115200); //Kecepatan komunikasi serial
 pinMode(trigPin, OUTPUT); //Set pin Trigger sebagai output
 pinMode(echoPin, INPUT); //Set pin Echo sebagai input
 pinMode(LEDmerah, OUTPUT); //Set LEDmerah sebagai output
 pinMode(LEDhijau, OUTPUT); //Set LEDhijau sebagai output
 myservo.attach(9); //Set servo pada pin PWM 9
}

void loop() {
int duration, jarak,posisi=0,i;
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);
 duration = pulseIn(echoPin, HIGH);
 jarak = (duration/2) / 29.1;
  Serial.print(jarak);
  Serial.println(" cm");

if(jarak<=15) // Jarak (Cm) dapat anda sesuaikan

 {
   digitalWrite(LEDhijau, LOW); //LEDhijau mati
   digitalWrite(LEDmerah, HIGH); //LEDmerah hidup
   myservo.write(180); //Posisi servo pada 180 derajat
   delay(450); //Delay
   digitalWrite(LEDmerah, LOW); //LEDmerah mati
   myservo.write(90); //Posisi servo pada 90 derajat
   delay(450); //Delay
   digitalWrite(LEDmerah, HIGH); //LEDmerah hidup
   myservo.write(0); //Posisi servo pada 0 derajat
   delay(450); //Delay
   digitalWrite(LEDmerah, LOW); //LEDmerah mati
   myservo.write(90); //Posisi servo pada 90 derajat
}

 else{ //Jika jarak lebih dari yang ditentukan
   digitalWrite(LEDmerah, LOW); //LEDmerah mati
   digitalWrite(LEDhijau, HIGH); //LEDhijau hidup
   myservo.write(90); //Posisi servo pada 90 derajat
 }
delay(450); //Delay
}


Kalilandak Info – Tutorial Arduino & Proyek Elektronik Lengkap Bahasa Indonesia
NextGen Digital Welcome to WhatsApp chat
Halo! ada yang bisa saya bantu?
Type here...