Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet

Indobot Academy

Pendeteksi Kecepatan Kendaraan
Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet
[lwptoc numeration=”none” title=”Daftar Isi”]

Pembatasan kecepatan diarea perkotaan sangatlah diperhatikan, biasanya petugas akan berada dilapangan untuk memastikan pengguna jalan tidak melebihi kecepatan yang ditentukan serta dapat menindak lanjuti pengendara yang melanggar. Kali ini kita akan membuat pendeteksi kecepatan yang dapat diakses melalui internet sehingga dapat memudahkan petugas lalu lintas untuk memantaunya.

Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet

1. Alat / Bahan

  • Arduino IDE                                     Download
  • Library: Blynk                                  Download
  • Library: ESP8266                            Download
  • NodeMCU ESP8266                       1 Buah
  • Sensor IR Obstacle                        2 Buah
  • Buzzer                                              1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya
  • Smartphone                                     1 Buah

Kemudian ntuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian

Berikutnya Rangkaian Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet

Keterangan:

  • VU – VCC IR1, VCC IR2
  • GND – GND IR1, GND IR2, GND Buzzer
  • D2 – Pin Data IR1
  • D3 – Pin Data IR2
  • D4 – Pin Data Buzzer

3. Layout Blynk

Keterangan:

  • Notifikasi
  • Kecepatan (Labeled Value)
    • Input V0, Low = 0, High = 1000
    • Label = /pin./ Km/jam

4. Langkah Kerja

  1. Siapkan alat dan juga bahan
  2. kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian pada gambar
  3. ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. Ketikkan sketch program pada halaman Arduino IDE
  6. Sesuaikan Auth Tokens dengan proyek aplikasi Blynk. Cara setting dan mendapatkan Auth Tokens dapat dilihat pada tutorial berikut:
    Setting Blynk untuk NodeMCU ESP8266
  7. Ganti ssid dan juga pass dengan nama wifi dan password wifi yang kalian gunakan
  8. Lakukan proses uploading program
  9. Buka aplikasi Blynk
  10. selanjutnya Buat layout Blynk seperti gambar di atas.
  11. terakhir Tekan tombol Play pada aplikasi Blynk lalu tunggu hingga proyek kalian terhubung dengan aplikasi Blynk

Baca juga :Memahami Apa itu Istilah Internet of Things(IoT) yang Sedang Populer

 

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

 

5. Sketch Program

 
/* Program Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet dibuat oleh Indobot */

#include <ESP8266WiFi.h>              //Library ESP8266
#include <BlynkSimpleEsp8266.h>       //Library Blynk

char auth[] = "HoP9z23_PbWp-iEyMBYFGnnALYBvvcXS"; //Token
char ssid[] = "Wifi.id";                          //Nama wifi
char pass[] = "alam oye";                         //Password wifi

#define sensor1 4     //Deklarasi sensor1 pada pin D2
#define sensor2 0     //Deklarasi sensor2 pada pin D3
#define Buzzer 2      //Deklarasi Buzzer pada pin D4

int waktu1;
int waktu2;
float waktu;    //Variabel pencatat waktu

int flag1 = 0;  //Variabel pencatat kondisi sensor
int flag2 = 0;

float jarak = 5;  //Jarak antar sensor 5cm
float kecepatan;  //Variabel penampung nilai kecepatan

void setup() {
  Blynk.begin(auth, ssid, pass);          //Inisialisasi token, wifi dan password
  pinMode(sensor1,INPUT);   //Setting I/O
  pinMode(sensor2,INPUT);
  pinMode(Buzzer,OUTPUT);
}

void loop() {
  Blynk.run();                        //Jalankan pembacaan Blynk

  //-------------Catat mobil yang melewati sensor-------------//
  if(digitalRead(sensor1) == LOW && flag1 == 0){
    waktu1 = millis();
    flag1 = 1;
  }
  if(digitalRead(sensor2) == LOW && flag2 == 0){
    waktu2 = millis();
    flag2 = 1;
  }

  if(flag1 == 1 && flag2 == 1){
    if(waktu1 > waktu2){
      waktu = waktu1 - waktu2;
    }
    else if(waktu2 > waktu1){
      waktu = waktu2 - waktu1;
    }
    waktu = waktu / 1000;               //Konversi waktu dari ms ke s
    kecepatan = jarak / waktu;          //Rumus kecepatan
    kecepatan = kecepatan*3600/1000;    //Konversi kecepatan dari m/s ke km/jam
  }

  if(kecepatan != 0){     
    Blynk.virtualWrite(V0,kecepatan);   //Kirim data kecepatan
    if(kecepatan > 50){                 //Jika kecepatan > 50 km/jam, maka
      Blynk.notify("Kecepatan Melebihi Batas!!!");
      for(int i = 0; i < 16; i++){      //Ulang prosedur alarm(); sebanyak 16 kali
        alarm();
      }
    }
    delay(4000);
    kecepatan = 0;
    flag1 = 0;
    flag2 = 0;
    Blynk.virtualWrite(V0,kecepatan);   //Reset data kecepatan
  } 
}

void alarm(){                         //Prosedur alarm
  digitalWrite(Buzzer, HIGH);         //Nyalakan buzzer
  delay(125);                         //Selama 125 ms
  digitalWrite(Buzzer, LOW);          //Matikan buzzer
  delay(125);                         //Selama 125 ms
}

Kesimpulan:

Ketika alat mulai diaktifkan, kemudian terdapat kendaraan yang melebihi kecepatan yang ditentukan terdeteksi mengenai sensor. Sensor akan menampilkan notifikasi dan menampilkan kecepatan dari pengguna kendaraan tersebut pada handphone serta membunyikan buzzer yang ada di tempat.

Mau belajar elektronika dasar? Arduino? atau bahkan Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp