Laporan IMKA Arduino
Laporan ini dibuat untuk memenuhi tugas kuliah mata kuliah IMKA Arduino 2019
Oleh : Andrew Dani A. (18216016), Thomas Robin (18216032), Mira Risty M. (18216037)
Pada artikel blog ini, saya akan menjelaskan aplikasi IoT untuk Smartbin dengan penggunaan third-party app Blynk.
Identifikasi Masalah
Tempat sampah berfungsi untuk menampung sampah yang dibuang
oleh masyarakat. Produksi sampah terjadi setiap hari begitu pula dengan sampah
yang ditampung di tempat sampah. Oleh karena itu, tidak heran apabila tempat sampah
sering terisi penuh setiap hari di daerah dengan penduduk yang ramai.
Sedangkan, di daerah yang sepi tempat sampah dapat menampung sampah buangan
masyarakat selama kurun waktu beberapa hari. Hal ini bisa menjadi masalah ketika
akan dilakukan pembersihan tempat sampah karena untuk daerah ramai, pembersihan
sampah setiap hari mungkin tidak cukup cepat dan pembersihan tempat sampah
untuk daerah sepi penduduk membuang biaya dan waktu.
Alternatif Pemecahan Masalah
Menghadapi masalah yang telah diidentifikasi di atas,
terdapat 3 buah solusi yang kami tawarkan sebagai berikut.
- Smart Waste Management untuk Smart Cities : sistem pengaturan distribusi sampah yang digunakan oleh Smart City
- Personalize Smartbin Controlling : Mendeteksi ketinggian sampah dan memberikan notifikasi ketinggian tersebut ke mobile phone.
- Smartbin Tracking : Mendeteksi tempat sampah terdekat yang tidak penuh.
Setiap alternatif solusi di atas akan diuji dengan menggunakan feasibility analysis dengan 3 faktor yaitu financial (biaya pembuatan), kemudahan (kemudahan pengembangan), user closer (seberapa mudah user dapat menggunakan alat). Semakin murah biaya implementasi, semakin tinggi skor financial. Semakin mudah pengembangan, semakin tinggi skor kemudahan. Dan, semakin mudah pengguna dapat menggunakan alat, semakin tinggi skor user closer.
Solusi
|
Financial
|
Nilai
|
Kemudahan
|
Nilai
|
User Closer
|
Nilai
|
Smart Waste Management
untuk Smart Cities
|
High
|
4
|
Low
|
5
|
Medium
|
6
|
Personalize Smartbin
Controlling
|
Low
|
8
|
High
|
7
|
High
|
8
|
Smartbin Trackimg
|
Medium
|
6
|
Medium
|
6
|
High
|
7
|
Dari tabel
di atas, nilai total Personalize Smartbin Controlling lebih tinggi dari kedua solusi yang lain dengan skor total 23/30. kami merasa bahwa solusi Personalize Smartbin Controlling cocok untuk
diterapkan.
Spesifikasi Desain
Berikut ini
adalah spesifikasi sistem yang akan dibuat.
Input
|
Jarak dari sensor
Ultrasonic
|
Output
|
Lampu LED hidup/mati
Tampilan Blynk
|
Komponen
|
Arduino UNO
Bread board
Sensor Ultrasonic
Node MCU (ESP)
LED
Kabel Jumper
|
Protokol
|
TCP/IP
|
Desain Perangkat Keras
Berikut ini
adalah diagram blok sistem termasuk interaksi yang terjadi.
Desain Perangkat Lunak
Berikut ini adalah desain perangkat lunak dari alat yang akan dibuat.
Sistem yang telah didesain diharapkan dapat bekerja sesuai flowchart di atas. Ketika Arduino Uno dijalankan, sensor ultrasonic akan membaca ketinggian sampah yang masih kosong. Masukan ini kemudian akan di proses sedemikian rupa melalui Arduino. Apabila ketinggian kurang dari 10 cm, maka LED akan menyala. Sebaliknya, LED akan mati. Output yang kedua adalah dengan menampilkan ketinggian tersebut ke Blynk app melalui Node MCU. Aliran data ke Blynk app terjadi secara wireless melalui protokol TCP/IP. Melalui Blynk app, kondisi tempat sampah dapat dipantau di mana saja dan kapan saja.
Desain User Interaction
Data input yang didapatkan dari sensor ultrasonic akan ditampilkan ke Blynk app supaya lebih mudah dipahami dan menarik dipandang mata. Berikut ini adalah tampilan Blynk app yang dibuat.
Implementasi Perangkat Keras
Berikut ini adalah susunan komponen yang di implementasikan.
Implementasi Perangkat Lunak
Berikut ini
adalah source code yang di upload ke Arduino UNO. Sebelum upload ke Arduino UNO, pastikan board yang digunakan adalah Node MCU ESP12.
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define TRIGGERPIN 5
#define ECHOPIN 4
#define led D3
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = ""; //isi auth token
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = ""; //ssid
char pass[] = ""; //password
WidgetLCD lcd(V1);
void setup()
{
// Debug console
Serial.begin(9600);
pinMode(TRIGGERPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
pinMode(D3, OUTPUT);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass,
"blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass,
IPAddress(192,168,1,100), 8442);
lcd.clear(); //Use it to clear the
LCD Widget
lcd.print(0, 0, "Distance in
cm"); // use: (position X: 0-15, position Y: 0-1, "Message you want
to print")
// Please use timed events when LCD
printintg in void loop to avoid sending too many commands
// It will cause a FLOOD Error, and
connection will be dropped
}
void flood(){
long duration, distance;
digitalWrite(TRIGGERPIN, LOW);
delayMicroseconds(3);
digitalWrite(TRIGGERPIN, HIGH);
delayMicroseconds(12);
digitalWrite(TRIGGERPIN, LOW);
duration = pulseIn(ECHOPIN, HIGH);
distance = (duration/2) / 29.1;
Serial.print(distance);
Serial.println(" Cm");
// lcd.clear();
// lcd.print(0, 0, "Distance in
cm"); // use: (position X: 0-15, position Y: 0-1, "Message you want
to print")
// lcd.print(7, 1, distance);
if (distance <= 10) {
digitalWrite(D3, HIGH);
}
else {
digitalWrite(D3,LOW);
}
lcd.clear();
lcd.print(0, 0, "Distance in
cm"); // use: (position X: 0-15, position Y: 0-1, "Message you want
to print")
lcd.print(7, 1, distance);
}
void loop()
{
Blynk.run();
flood();
delay(1000);
}
Pengujian
Setelah perangkat keras disusun sedemikian rupa sesuai gambar di implementasi perangkat keras dan source code telah di upload ke Arduino UNO, maka alat siap untuk diuji. Berikut ini adalah pengujian yang dilakukan.
Lampiran
Berikut ini adalah gambar dan video hasil implementasi tugas akhir Arduino.
Terima kasih pula kepada teman-teman sekelompok saya yang memungkinkan selesainya tugas akhir ini.
Comments
Post a Comment