Tugas 14 Algoritma dan Pemrograman Kasus Teknik Elektro - Project Smart Trash Bin
TUGAS VCLASS M14
ALGORTIMA DAN PEMGROGRAMAN KASUS TEKNIK ELEKTRO
https://rekreartive.com/wp-content/uploads/2018/10/Logo-Gunadarma-Universitas-Gunadarma-Original-PNG.png |
Detail Tugas:
Nama : Fatahillah Furqon Abdulaziz
Kelas : 3IB03
Dosen : Dr. Antonius Irianto Sukowati,ST,. MT
Nama Tugas : Project Smart Trash Bin
Kelas : 3IB03
NPM : 10420475
Mata Kuliah : Algoritma & Pemrograman Kasus Teknik ElektroDosen : Dr. Antonius Irianto Sukowati,ST,. MT
Nama Tugas : Project Smart Trash Bin
Soal :
Buatlah tempat sampah otomatis/Touchless dengan kerja sebagai berikut :
- Dapat membuka dan menutup secara otomatis apabila ada yang ingin memasukan sampah kedalamnya.
- Memberikan notifikasi tentang tingkat kepenuhan sampah
- Penggunaan sensor dan komponen notifikasi bebas
- Buat skenario, flow chart dan segala keterangan dalam blog, lalu tuliskan url nya pada kolom jawaban
Smart Trash Bin - Touchless and Bin State Update
Pada kesempatan kali ini penulis akan menyampaikan materi mengenai proyek Smart Trash Bin yang dapat membuka secara otomatis dan dapat membaca keadaan tempat sampah. Fungsi dari proyek ini adalah untuk memberikan perubahan gaya hidup dan juga agar dapat mempermudah kualitas hidup dengan membuat alat bantu agar dapat mengolah tempat sampah dengan baik dan mudah. Proyek ini terdiri dari :
- Arduino Uno
- Dua buah sensor Ultrasonik
- Satu buah LCD I2C
- Satu buah Motor Servo
Proyek tersebut akan disimulasikan pada halaman situs wokwi dimana situs tersebut telah menyediakan komponen - komponen yang dapat digunakan untuk membuat sebuah rangkaian listrik sederhana dikarenakan terdapat komponen - komponen utama seperti Arduino, Sensor, dan sebagainya. Berikut adalah link simulasi dari proyek tersebut :
Berikut adalah gambar dari rangakaian tersebut :
Penggunaan dua buah sensor Ultrasonik dikarenakan sensor yang pertama akan digunakan untuk mendeteksi keberadaan tangan dari seseorang yang ingin membuang sampah, lalu sensor yang kedua adalah untuk mendeteksi keberadaan sampah pada tempat sampah tersebut. Sensor yang pertama yang mendeteksi tangan tersebut akan menggerakan servo yang akan membuka tempat sampah (Menginjak bagian injakan dari tempat sampah). Kemudian untuk sensor kedua terhubung dengan LCD agar dapat menampilkan keadaan dari sampah tersebut seperti apakah sudah penuh atau belum. Berikut adalah kode program yang digunakan pada proyek tersebut :
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int trigPin = 7;
int echoPin = 6;
float duration, cm;
int trigPins = 4;
int echoPins = 5;
float durations, cms;
Servo servoOpen;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(trigPins, OUTPUT);
pinMode(echoPins, INPUT);
servoOpen.attach(9);
servoOpen.write(0);
updateLCD();
}
void loop() {
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW); delayMicroseconds(2);
duration = pulseIn(echoPin, HIGH);
digitalWrite(trigPins, LOW); delayMicroseconds(2);
digitalWrite(trigPins, HIGH); delayMicroseconds(10);
digitalWrite(trigPins, LOW); delayMicroseconds(2);
durations = pulseIn(echoPins, HIGH);
cm = (duration/2) / 29.1;
cms = (durations/2) / 29.1;
if(cm <= 250)
{
servoOpen.write(90);
delay(500); }
else
{
servoOpen.write(0);
delay(500);
}
updateLCD();
}
void updateLCD() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Kondisi :");
lcd.setCursor(0, 1);
if (cms >= 210 && cms <= 300) {
lcd.print("Sedikit");
}
else if (cms <= 209 && cms >= 70) {
lcd.print("Setengah");
}
else if (cms >= 0 && cms <= 69){
lcd.print("Penuh");
}
else {
lcd.print("Kosong");
}
}
Penjelasan
Untuk kode program diatas akan digunakan tiga buah library, yaitu <Servo.h>, <Wire.h>, dan <LiquidCrystal_I2C.h>. Pin - pin Arduino yang digunakan adalah sebagai berikut :
- Pin 7, Pin Trigger Ultrasonik 1
- Pin 6, Pin Echo Ultrasonik 1
- Pin 4, Pin Trigger Ultrasonik 2
- Pin 5, Pin Echo Ultrasonik 2
- Pin A5, Sebagai Serial Clock (SCL) untuk LCD I2C
- Pin A4, Sebagai Serial Data (SDA) untuk LCD I2C
- Pin 9, Untuk Pin Motor Servo
Setelah semua komponen dipasang kepada Pin masing - masing maka langkah berikutnya adalah untuk mendeklarasikan fungsi - fungsi setiap Pin. untuk Pin Trigger setiap Ultrasonik akan bertindak sebagai Output dan untuk Pin Echo setiap Ultrasonik akan bertindak sebagai Input. Servo sebagai output cukup menuliskan fungsi yang terdapat pada librarynya. Untuk LCD cukup memulai inisialisasinya dengan menggunakan perintah "lcd.begin", tidak lupa untuk memulai operasi Serial dengan perintah "Serial,begin()". Lalu terdapat fungsi tambahan bernamakan "UpdateLCD()" yang akan berfungsi sebagai yang menuliskan keadaan sampah dari inputnya sensor Ultrasonik.
Awal program dimulai dengan perintah menyala mati untuk kedua Ultrasonik dan membuat pengukuran jarak dengan perintah variabel "distance". Setelah itu memasukan jarak dari pendeteksian yang diinginkan, untuk proyek ini penulis telah memilih beberapa jarak untuk beberapa kondisi tempat sampah. Namun untuk pendeteksian pembukaan tempat sampah hanya mendeteksi pada jarak 250 cm dari tutup tempat sampah dimana jika sensor mendeteksi, maka servo akan bergerak untuk menginjak injakan tempat sampah yang nantinya akan membuka tempat sampah.
Setelah itu, diasumsikan penggunanya telah membuang sampah tersebut dan jika sensor tidak mendeteksi seseorang maka tempat sampah akan menutup. Setelah itu sensor didalam tempat sampah tersebut akan mendeteksi keberadaan sampah di dalam temapt sampah dengan mengukur pantulan ultrasonik tersebut. Semakin jauh maka akan dianggap kosong, semakin dekat maka berubah dari "sedikit" mejadi "Setengah" dan jika tempat sampah tersebut mulai penuh akan ditampilkan "Penuh" pada LCD. Jika Sampah pada tempat sampah tersebut telah dibuang, maka sensor akan membaca ulang sinyal tersebut.
Flowchart
Flochart yang dimiliki oleh alat pada proyek ini adalah sebagai berikut :
Dari flowchart tersebut, alur dari alat tersebut hanya menjelaskan mengenai pembukaan sampah, penutupan sampah, dan membaca keadaan tempat sampah. Dapat dilihat, pertama untuk mempersingkat tulis, dibuat sebuah singkatan U1 dan U2. Jika U1 mendeteksi terdapat seseorang, maka tempat sampah akan membuka dengan bantuan motor servo. Jika tidak mendeteksi seseorang maka servo akan menutup. Lalu Sensor U2 akan membaca keadaan tempat sampah. Jika telah 80% terisi maka LCD akan menampilkan tulisan "Penuh", jika 40% Terisi maka akan ditampilkan tulisan "Setengah", untuk 5% akan ditampilkan "Sedikit", dan jika tidak ada sama sekali maka akan ditampilkan "Kosong" pada LCD. Setelah itu program akan melakukan Looping selama alat tersebut masih dinyalakan.
Referensi :
- https://www.instructables.com/Touchless-Automatic-Motion-Sensor-Trash-Can/
Comments
Post a Comment