Pada artikel kali ini, kita akan membuat sebuah alat dengan IR Sensor. Sensor Infrared adalah komponen elektronika yang dapat mendeteksi benda ketika cahaya infra merah terhalangi oleh benda. Sensor ini dapat di aplikasikan keberbagai peralatan, dalah satunya sebagai pendeteksi kecepatan dijalan raya yang dapat membuat kita terkena tilang karena melebihi kecepatan.
1. Alat / Bahan
- Arduino IDE Download
- Library: LiquidCrystal_I2C Download
- Arduino Uno 1 Buah
- LCD 16×2 1 Buah
- I2C 1 Buah
- Sensor IR Obstcle 2 Buah
- Buzzer 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian

Gambar Rangkaian Detektor Kecepatan
Keterangan:
- 5V – VCC I2C, VCC IR1, VCC IR2
- GND – GND I2C, GND IR1, GND IR2, GND Buzzer
- SDA – SDA I2C
- SCL – SCL I2C
- D2 – Pin Data IR1
- D3 – Pin Data IR2
- D8 – pin Data Buzzer
3. Langkah Kerja
- Pertama Siapkan alat dan bahan yang akan kamu gunakan
- Kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian
- Ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Kemudian Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Lalu Ketikkan sketch program pada halaman Arduino IDE
- Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
Mencari Tahu Alamat I2C Pada Modul I2C - Terakhir Lakukan proses uploading program kemudian ujiboca project kamu.
4. Sketch Program
Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!
/* Program Detektor Kecepatan dibuat oleh Indobot */
#include <LiquidCrystal_I2C.h> //Library LCD I2C
LiquidCrystal_I2C lcd(0x27,16,2); //Alamat I2C
#define sensor1 2 //Deklarasi sensor1 pada pin D2
#define sensor2 3
#define Buzzer 8
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() {
lcd.init (); //Mulai LCD
lcd.setBacklight(HIGH); //Set lampu LCD
pinMode(sensor1,INPUT); //Setting I/O
pinMode(sensor2,INPUT);
pinMode(Buzzer,OUTPUT);
}
void loop() {
lcd.setCursor(0,0); //Tampilan LCD
lcd.print("Kecepatan:");
//-------------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){ //Jika kecepatan 0, maka
if(flag1 == 0 && flag2 == 0){
lcd.setCursor(0,1);
lcd.print("Tidak ada mobil"); //Tampilkan text
}
}
else{
if(kecepatan > 50){ //Jika kecepatan > 50 km/jam, maka
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kecepatan:");
lcd.setCursor(0,1);
lcd.print("OVER SPEEDING!"); //Tampilkan text
for(int i = 0; i < 16; i++){ //Ulang prosedur alarm(); sebanyak 5 kali
alarm();
}
}
else{ //Jika kecepatan <= 50 km/jam, maka
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kecepatan:");
lcd.setCursor(0,1);
lcd.print(kecepatan); //Tampilkan nilai kecepatan
lcd.print(" Km/Jam ");
}
kecepatan = 0;
flag1 = 0;
flag2 = 0;
delay(3000);
}
}
void alarm(){ //Prosedur alarm
digitalWrite(Buzzer, HIGH); //Nyalakan buzzer
delay(125); //Selama 500 ms
digitalWrite(Buzzer, LOW); //Matikan buzzer
delay(125); //Selama 500 ms
}
Kesimpulan:
Hasil dari alat ini adalah ketika sensor diaktifkan dan mendeteksi adaya pergerakan maka pergerakan tersebuta akan di respon dengan buzzer yang menyala.
Baca Juga : Sertifikasi IoT BNSP? Di Indobot Academy Aja
Ingin mengadakan pelatihan Arduino / IoT (Internet of Things) bersama Indobot?








Warning: Undefined variable $req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 162
Warning: Undefined variable $commenter in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Trying to access array offset on value of type null in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Undefined variable $aria_req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Undefined variable $req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 167
Warning: Undefined variable $commenter in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 168
Warning: Trying to access array offset on value of type null in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 168
Warning: Undefined variable $aria_req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 169