IOT : Smart Trash with Mobile Controller


  • LATAR BELAKANG

    Kurangnya kesadaran masyarakat dalam proses pembuangan sampah pada tempatnya membuat lingkungan sekitar jadi tercemar. Setidaknya kesadaran untuk membuang sampah pada tempatnya dimulai dari didikan orang tua membiasakan anaknya untuk membuang sampah pada tempatnya sejak dini. Kebiasaan tersebut juga harus diimbangi dengan fasilitas tempat sampah yang dihadirkan semenarik mungkin sehingga masyarakat akan membiasakan membuang sampah pada tempatnya. Untuk itulah kami mempertimbangkan untuk membuat suatu alat yang dapat berfungsi untuk menarik minat masyarakat terutama anak-anak untuk membuang sampah pada tempatnya. Maka dari itu, kami ingin membuat sebuah alat yakni “Rancang Bangun Automatic TRASH BIN with ESP8266” Ini adalah suatu alat yang dirancang dan dibangun untuk diletakan pada Lab IOT.

 

  • Alat dan Bahan 

1.Arduino (any board)

2.Servo motor (i'm using micro servo sg90)

3. HCsr04 ultrasound sensor

4. Servo arms (beside the servo in pic2)

3. Card Board (just slice piece)

4. Trash Bin

 

  • Gambar Rangkaian



  • Source Code

The first, we make Database MySQL :



Kemudian, buat script PHP untuk membuat REST API yang akan digunakan pada Android . Disini kami menggunakan Codeigniter dan meggunakan library REST CONTROLLER yang dibuat oleh Chriskacerguis dan buat Controller Trash.php dan ikuti perintah berikut :


<?php

defined("BASEPATH") OR exit("No direct script access allowed");


require APPPATH . "libraries/REST_Controller.php";

use RestserverLibrariesREST_Controller;


class Trash extends REST_Controller {


function __construct($config = "rest") {

        parent::__construct($config);

    }


//Menampilkan data products

    function index_get() {

      $products["total"] = $this->db->query("SELECT * FROM trash")->num_rows();

$products["data"] = $this->db->query("SELECT * FROM trash")->result_array();

        if ($products["data"][0]["stat"]==1) {

            $products["oke"] = true;

        }else {

            $products["oke"] = false;

        }


        $this->response($products, 200);

    }

    function index_post() {

    $id = $this->post("id");

    $status = $this->post("status");


    if ($status=="open") {

    $data = array(

                    "status_sampah"           => "close",

                    "stat"           => "0"

                );

    $this->db->where("id", $id);

        $insert = $this->db->update("trash", $data);

    } else {

    $data2 = array(

                    "status_sampah"           => "open",

                    "stat"           => "1"

                );

    $this->db->where("id", $id);

        $insert = $this->db->update("trash", $data2);

    }

     

        if ($insert) {

            $success = true;

            $message = "Berhasil Mengubah Status";

        } else {

            $success = false;

            $message = "Gagal Mengubah Status";

        }


        $result["success"] = $success;

        $result["message"] = $message;

        

        $this->response($result, 200);

    }

 



}


/* End of file Api_hidroponik.php */

/* Location: ./application/controllers/Api_hidroponik.php */


Nah setelah membuat REST API dari PHP maka buat aplikasi untuk mengendalikan sampah melalui Mobile Android kita. Disini kami menggunakan Android Studio, Untuk melihat Script Java silahkan kunjungi halaman berikut:

https://github.com/muhba25/AutoTrash-java

 

Setelah itu semua, Berikut Program Arduino dari Project tersebut:

#include 
#include 
#include 
//#define trigPin D5
//#define echoPin D6
#define servoPin D0
#include 
#include 
#include 
#include 
#include 
const char* ssid = "AdrAndy";
const char* password = "1ndonesiaku";
const char* id;
const char* statuse;
bool oke;


Servo servo;
int const trigPin = D5;
int const echoPin = D6;

void setup() {
  Serial.begin(115200);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  servo.attach(servoPin);
  WiFiManager wifiManager;
  wifiManager.autoConnect("AutoConnectAP");
//  WiFi.begin(ssid, password);

    Serial.println("Connecting...");

}

void loop() {
  int duration, distance;
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = (duration / 2) / 29.1;
  

    HTTPClient http; //Object of class HTTPClient
    http.begin("http://[Your-IP]/teshidro/api_hidroponik/trash");
    int httpCode = http.GET();

    if (httpCode > 0)
    {
      const size_t bufferSize = JSON_ARRAY_SIZE(1) + 2*JSON_OBJECT_SIZE(3);
      DynamicJsonBuffer jsonBuffer(bufferSize);
      JsonObject& root = jsonBuffer.parseObject(http.getString());


      id = root["data"][0]["id"];
      statuse = root["data"][0]["status_sampah"];
      oke = root["oke"];

      
 

    }
    http.end(); //Close connection


  
  if(oke){
    servo.write(180);
    delay(1000);
  }else{
  if (distance <= 60 && distance > 0) {
    servo.write(180);
    delay(500);
    
  } else {
//    servo.write(140);
      servo.write(-180);
  }
  }

    Serial.print("Id:");
    Serial.println(id);
    Serial.print("Status:");
    Serial.println(statuse);
  Serial.print(distance);
  Serial.println(" cm");

  delay(60);

}


  • Cara Menggunakan Alat

1. Pertama, Hubungkan ESP8266 yang ada di tempat sampah dengan daya(Colokan MikroUsb) agar tempat sampah bisa berjalan bisa berjalan

2. Kemudian, disini kami menggunakan Library Wifi AutoConnect untuk mengatur wifi esp8266 saat akan digunakan, yaitu saat menyalakan project silahkan akses wifi esp8266 dengan SSID AutoConnectAP menggunakan Hp atau PC anda. Setelah itu akses alamat 192.168.4.1 untuk konfigurasi . Teman -teman bisa memilih  konfigurasi wifi dengan Scan atau No Scan. jika memilih Scan maka akan terlihat daftar wifi yang tersedia untuk teman-teman gunakan agar ESP8266 dapat terkoneksi dengan internet sehingga bisa mengakses REST Server (gambar dibawah).


 

3. Jadi untuk penggunaannya, tersedia dua mode yaitu dengan sensor ultrasonic dan juga dikontril melalui HP Android. Untuk menginstall aplikasi android agar bisa mengontroll tempat sampah dengan Handphone silahkan SCAN Barcode yang ada diatas tempat sampah atau bisa SCAN Barcode berikut:



4. Berikut Contoh Aplikasi

 


 

  • Source Link

Youtube => https://www.youtube.com/watch?v=0gYgK0xUwfA

Website => https://www.instructables.com/id/TRASH-BOT-Arduino-Auto-Open-Close-Trash-Bin/

Kategori Project ESP8266 Gambar project 1 No file chosen © 2020 - TKJ 2017

Post a Comment

0 Comments