[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
- Siapkan alat dan juga bahan
- kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian pada gambar
- ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Ketikkan sketch program pada halaman Arduino IDE
- Sesuaikan Auth Tokens dengan proyek aplikasi Blynk. Cara setting dan mendapatkan Auth Tokens dapat dilihat pada tutorial berikut:
Setting Blynk untuk NodeMCU ESP8266 - Ganti ssid dan juga pass dengan nama wifi dan password wifi yang kalian gunakan
- Lakukan proses uploading program
- Buka aplikasi Blynk
- selanjutnya Buat layout Blynk seperti gambar di atas.
- 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!