Translate

Membuat Tempat Sampah Otomatis Buka - Tutup dan Alarm Penuh ( SMART TRASH BIN )

Membuat Tempat Sampah Otomatis Buka - Tutup dan Alarm Penuh ( SMART TRASH BIN )


      Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat berfungsi sebagai tempat sampah pintar yang mana jika ada orang yang ingin membuang sampah maka pada jarak tertentu, tutup tempat sampah akan membuka dengan sendirinya, kemudian jika orang tersebut telah menjauh maka akan menutup dengan sendirinya, terdapat 2 buah indikator yang menandakan tempat sampah kondisi penuh atau kosong, jika sudah penuh maka akan ada alarm yang berbunyi dan led merah akan menyala, namun jika kondisi tempat sampah kosong atau belum penuh maka led hijau akan menyala. untuk sensor yang digunakan adalah HY-SRF05 sebanyak 4 buah, yaitu untuk bagian kanan, kiri, depan dan bagian atas. untuk deteksi orang yang mendekat digunakan sensor jarak yang berada di kanan, kiri dan depan sedangkan untuk sensor volumenya menggunakan sensor yang terdapat diatas. untuk lebih jelasnya berikut adalah skema dan programnya.




a. Arduino Uno






b. Sensor Jarak HY-SRF05





c. Motor Servo





d. LCD 16 x 2 + I2C Converter





e. UBEC 3A





f. Led dan Buzzer






g. Program Arduino IDE

#include <Wire.h>  // i2C Conection Library
#include <LiquidCrystal_I2C.h>  //i2C LCD Library
#include <Servo.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

Servo myservo; 

const int TRIG_PIN1 = 2;
const int ECHO_PIN1 = 3;
const int TRIG_PIN2 = 4;
const int ECHO_PIN2 = 5;
const int TRIG_PIN3 = 6;
const int ECHO_PIN3 = 7;
const int TRIG_PIN4 = A1;
const int ECHO_PIN4 = A0;

int ledm = 11;
int ledh = 10;
int buzzer = 8;

long duration1, distanceCm1;
long duration2, distanceCm2;
long duration3, distanceCm3;
long duration4, distanceCm4;

void setup() {
  myservo.attach(9);

  lcd.begin();
  lcd.noCursor();
  lcd.clear();
 
  pinMode(TRIG_PIN1,OUTPUT);
  pinMode(ECHO_PIN1,INPUT);
  pinMode(TRIG_PIN2,OUTPUT);
  pinMode(ECHO_PIN2,INPUT);
  pinMode(TRIG_PIN3,OUTPUT);
  pinMode(ECHO_PIN3,INPUT);
  pinMode(TRIG_PIN4,OUTPUT);
  pinMode(ECHO_PIN4,INPUT);
  pinMode(ledm,OUTPUT);
  pinMode(ledh,OUTPUT);
  pinMode(buzzer,OUTPUT);
  digitalWrite(buzzer,HIGH);
  
   myservo.write(100);

}


void loop()
{

  digitalWrite(TRIG_PIN1, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN1, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN1, LOW);
  duration1 = pulseIn(ECHO_PIN1,HIGH);

  // convert the time into a distance
  distanceCm1 = duration1 / 29.1 / 2 ;

  digitalWrite(TRIG_PIN2, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN2, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN2, LOW);
  duration2 = pulseIn(ECHO_PIN2,HIGH);

  // convert the time into a distance
  distanceCm2 = duration2 / 29.1 / 2 ;


  digitalWrite(TRIG_PIN3, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN3, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN3, LOW);
  duration3 = pulseIn(ECHO_PIN3,HIGH);

  // convert the time into a distance
  distanceCm3 = duration3 / 29.1 / 2 ;


  digitalWrite(TRIG_PIN4, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN4, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN4, LOW);
  duration4 = pulseIn(ECHO_PIN4,HIGH);

  // convert the time into a distance
  distanceCm4 = duration4 / 29.1 / 2 ;


 lcd.setCursor(0,0);
 lcd.print(distanceCm1);

 lcd.setCursor(0,1);
 lcd.print(distanceCm2);

 lcd.setCursor(8,0);
 lcd.print(distanceCm3);

 lcd.setCursor(8,1);
 lcd.print(distanceCm4);


  if(distanceCm4 <= 10 ){
  digitalWrite(ledm,HIGH); 
  digitalWrite(ledh,LOW); 
  }

  if(distanceCm4 > 5 ){
  digitalWrite(ledh,HIGH);
  digitalWrite(ledm,LOW);
  digitalWrite(buzzer,HIGH);
  
  }
 
  if((distanceCm4 <= 5 )&&(distanceCm1 < 50)&&(distanceCm2 > 50)&&(distanceCm3 > 50)){
  digitalWrite(buzzer,LOW); 
  }
  if((distanceCm4 <= 5 )&&(distanceCm1 > 50)&&(distanceCm2 < 50)&&(distanceCm3 > 50)){
  digitalWrite(buzzer,LOW); 
  }
  if((distanceCm4 <= 5 )&&(distanceCm1 > 50)&&(distanceCm2 > 50)&&(distanceCm3 < 50)){
  digitalWrite(buzzer,LOW); 
  }
 
  if((distanceCm4 <= 5 )&&(distanceCm1 < 50)&&(distanceCm2 < 50)&&(distanceCm3 > 50)){
  digitalWrite(buzzer,LOW); 
  }
  if((distanceCm4 <= 5 )&&(distanceCm1 < 50)&&(distanceCm2 > 50)&&(distanceCm3 < 50)){
  digitalWrite(buzzer,LOW); 
  }
  if((distanceCm4 <= 5 )&&(distanceCm1 > 50)&&(distanceCm2 < 50)&&(distanceCm3 < 50)){
  digitalWrite(buzzer,LOW); 
  }
  if((distanceCm4 <= 5 )&&(distanceCm1 < 50)&&(distanceCm2 < 50)&&(distanceCm3 < 50)){
  digitalWrite(buzzer,LOW); 
  }
  if((distanceCm4 <= 5 )&&(distanceCm1 > 50)&&(distanceCm2 > 50)&&(distanceCm3 > 50)){
  digitalWrite(buzzer,HIGH); 
  }
 
  //=============================================================================================
  if((distanceCm4 > 5 )&&(distanceCm1 < 50)&&(distanceCm2 > 50)&&(distanceCm3 > 50)){
    myservo.write(150);
  }
  if((distanceCm4 > 5 )&&(distanceCm1 > 50)&&(distanceCm2 < 50)&&(distanceCm3 > 50)){
    myservo.write(150); 
  }
  if((distanceCm4 > 5 )&&(distanceCm1 > 50)&&(distanceCm2 > 50)&&(distanceCm3 < 50)){
    myservo.write(150); 
  }
 
  if((distanceCm4 > 5 )&&(distanceCm1 < 50)&&(distanceCm2 < 50)&&(distanceCm3 > 50)){
    myservo.write(150); 
  }
  if((distanceCm4 > 5 )&&(distanceCm1 < 50)&&(distanceCm2 > 50)&&(distanceCm3 < 50)){
    myservo.write(150);
  }
  if((distanceCm4 > 5 )&&(distanceCm1 > 50)&&(distanceCm2 < 50)&&(distanceCm3 < 50)){
    myservo.write(150); 
  }
  if((distanceCm4 > 5 )&&(distanceCm1 < 50)&&(distanceCm2 < 50)&&(distanceCm3 < 50)){
    myservo.write(150);
  }
  if((distanceCm4 > 5 )&&(distanceCm1 > 50)&&(distanceCm2 > 50)&&(distanceCm3 > 50)){
    myservo.write(100); 
  }
 

  delay(1000);
  lcd.clear();

}







h. VIDEO HASILNYA











  

8 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. salam. boleh x sy nk mintak emailkan project ni nye detail n schematic circuit dia?
    sbb sy berminat ngn project ni..
    kalau xkeberatan emailkan dekat ifatulhasyima33@gmail.com

    ReplyDelete
  4. hallo. saya tertarik dengan project anda, untuk di aplikasikan juga untuk project tugas kuliah kami, kalau tidak keberatan tolong balasan saya, kami tertarik untuk tanya detail pembuatannya, terimakasih.

    ReplyDelete
  5. malam,,saya mau buat smart trash bin untuk kerja proyek saya,tp saya tidak tahu cara pemasangan kabel2nya agar terhubung,kalau bisa tolong berikan gambaran dr pemasangan kabel nya....
    trimakasih sebelumnya

    ReplyDelete
  6. nak tanye macam mane nak buat tong sampah automatik tapi ada buzzer je

    ReplyDelete