Skip to main content

Laporan Tugas Akhir Arduino


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.
  1. Smart Waste Management untuk Smart Cities : sistem pengaturan distribusi sampah yang digunakan oleh Smart City
  2. Personalize Smartbin Controlling : Mendeteksi ketinggian sampah dan memberikan notifikasi ketinggian tersebut ke mobile phone.
  3. 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

Popular posts from this blog

Proyek Arduino Kalkulator

Dalam proyek kali ini, akan dibuat sebuah kalkulator sederhana dengan Arduino. Kalkulator yang akan dibuat mampu memproses dua buah angka dan satu buah operator dan menampilkan hasil ke layar. Adapun operasi yang didukung oleh proyek kali ini adalah sebagai berikut. Penjumlahan Pengurangan Perkalian Pembagian Pangkat dua Untuk mengerjakan proyek, berikut ini adalah alat dan bahan yang dibutuhkan. Arduino Uno LCD Jumper Keypad Berikut ini adalah gambar susunan rangkaian.  /*References:  * https://circuitdigest.com/microcontroller-projects/arduino-calculator-using-4x4-keypad  * https://medium.com/@18214030_IMKA/tugas-4-kalkulator-sederhana-6dc775f9811c  * https://www.sunfounder.com/learn/Sensor-Kit-v2-0-for-Arduino/lesson-1-display-by-i2c-lcd1602\  * -sensor-kit-v2-0-for-arduino.html  * https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home  */ #include <Key.h> #include <Keypad.h> #include <Wire.h> #include <hd4478