Anda di halaman 1dari 22

Tong Sampah Otomatis

Oleh :
1) Asnan Zulfikar Ardianto
2) Aditya Kurniawan

Latar Belakang Ide Pembuatan


Secara Umum
1) Tuntutan pada mata kuliah robotika untuk membuat produk jadi pada akhir
semester.
2) Menyalurkan kreatifitas mahasiswa untuk berkarya sesuai minat.
Secara Khusus
3) Menambah nilai higienis (kebersihan) untuk masyarakat pada saat membuang
sampah tanpa menyentuh tong sampah itu sendiri.
4) Menarik perhatian masyarakat untuk membuang sampah dengan alat yang
unik, sehingga minat masyarakat untuk membuang sampah pada tempatnya
semakin tinggi.

Pengumpulan dan Analisis Kebutuhan


Untuk membuat tong sampah otomatis maka dibutuhkan perangkat
keras dan perangkat lunak untuk membuatnya, kemudian dianalisis
kegunaannya.

Pengumpulan Kebutuhan
a) Kebutuhan Perangkat Keras
Perangkat keras yang dibutuhkan dalam pembuatan tong sampah otomatis
adalah sebagai berikut :
1) 1 Buah Arduino Uno
2) 2 Buah Sensor Ultrasonik HC-SR04
3) 1 Buah Passive Buzzer
4) 2 Buah LED (Merah dan Hijau)
5) 1 Buah Continous Servo
6) Beberapa Kabel Jumper
7) Breadboard
8) 1 Buah Tong Sampah Ukuran Kecil

Pengumpulan Kebutuhan
b) Kebutuhan Perangkat Lunak
Perangkat lunak yang dibutuhkan dalam pembuatan tong sampah
otomatis ini adalah sebagai berikut :
1) Fritzing 0.92
2) Arduino Sketch 1.6.7

Analisis Kebutuhan
Analisis kebutuhan adalah penjelasan dari penggunaan kebutuhan
yang digunakan dalam pembuatan tong sampah otomatis.
Dalam proyek ini, secara keseluruhan perangkat keras dapat
dikelompokkan kedalam tiga bagian besar yaitu :
a) Pemroses
b) Input atau Sensor
c) Output atau Aktuator

Analisis Kebutuhan
Dari sisi hardware :
Arduino Uno
---- Pemroses
Sensor ultrasonik HC-SR04 ---- Input / Sensor
Buzzer, lampu LED, dan servo ---- Output / Aktuator
Dari sisi software
Fritzing
arduino sketch

:
---- Desain rangkaian elektro
---- Penulisan kode program

Perancangan Cepat
a) Konfigurasi Pin Arduino Uno
Dari 14 pin kaki digital yang ada, hanya diperlukan 8 konfigurasi pin
saja dalam perancangan sistem ini. Berikut tabel dari konfigurasi pin
Arduino uno :

Perancangan Cepat
No

Pin

Input / Output

Fungsi

Output

LED Hijau

Output

Motor Servo

Input

Echo Sensor Ultrasonik HC-SR04 (Luar)

Input

Trigger Sensor Ultrasonik HC-SR04 (Luar)

Output

Buzzer

Output

LED Merah

11

Input

Echo Sensor Ultrasonik HC-SR04 (Dalam)

12

Input

Trigger Sensor Ultrasonik HC-SR04 (Dalam)

Perancangan Cepat
b) Rangkaian Sensor Ultrasonik HC-SR04 (Luar)

Perancangan Cepat
c) Rangkaian Sensor Ultrasonik HC-SR04 (Dalam)

Perancangan Cepat
d) Rangkaian Motor Servo

Perancangan Cepat
e) Rangkaian Lampu LED

Perancangan Cepat
f) Rangkaian Buzzer

Perancangan Cepat
g) Rangkaian Keseluruhan

Baris Kode Program


#define trigdalam 12
#define echodalam 11
#define ledmerah 9
#define buzzer 8
#define ledhijau 4
#define trigluar 7
#define echoluar 6
#include <Servo.h>
Servo myservo;
int sound = 250;
long duration, distance;

Baris Kode Program


void setup() {
Serial.begin (9600);
pinMode(trigdalam, OUTPUT);
pinMode(echodalam, INPUT);
pinMode(ledmerah, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(ledhijau, OUTPUT);
pinMode(trigluar, OUTPUT);
pinMode(echoluar, INPUT);
digitalWrite(ledhijau, HIGH);
myservo.attach(5);
}

Baris Kode Program


void loop() {
digitalWrite(trigdalam, LOW);
delayMicroseconds(2);
digitalWrite(trigdalam, HIGH);
delayMicroseconds(10);
digitalWrite(trigdalam, LOW);
duration = pulseIn(echodalam, HIGH);
distance = (duration/2) / 29.1;

Baris Kode Program


if (distance <= 4|| distance <= 0) {
digitalWrite(ledhijau, LOW);
digitalWrite(ledmerah, HIGH);
delay(100);
digitalWrite(ledmerah, LOW);
sound = 1000;
}
else {
digitalWrite(ledmerah,LOW);
}

Baris Kode Program


if (distance > 4 || distance <= 0) {
Serial.println("Out of range");
digitalWrite(ledhijau, HIGH);
noTone(buzzer);
}
else {
Serial.print(distance);
Serial.println(" cm");
tone(buzzer, sound);
delay(150);
noTone(buzzer);
}

Baris Kode Program


delay(250);
digitalWrite(trigluar, LOW);
delayMicroseconds(2);
digitalWrite(trigluar, HIGH);
delayMicroseconds(10);
digitalWrite(trigluar, LOW);
duration = pulseIn(echoluar, HIGH);
distance = (duration/2) / 29.1;

Baris Kode Program


if (distance > 30 || distance <= 0){
Serial.println("Out of range");
myservo.write(180);
}
else {
myservo.write(75);
Serial.print(distance);
Serial.println(" cm");
}
delay(250);
}