Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet

Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet

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.

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

Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian


Gambar 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 bahan yang akan digunakan
  2. Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. 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 pass dengan nama wifi dan password wifi yang kalian gunakan
  8. Lakukan proses uploading program
  9. Buka aplikasi Blynk
  10. Buat layout Blynk seperti gambar di atas.
  11. Tekan tombol Play pada aplikasi Blynk lalu tunggu hingga proyek kalian terhubung dengan aplikasi Blynk
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.

Subscribe to receive free email updates:

0 Response to "Pendeteksi Kecepatan Kendaraan dengan Sensor Obstacle melalui Internet"

Post a Comment