Hati-Hati Kena Tilang Gara-Gara Alat Ini

Indobot Academy

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
  1. Pertama Siapkan alat dan bahan yang akan kamu gunakan
  2. Kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian
  3. Ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Kemudian Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. Lalu Ketikkan sketch program pada halaman Arduino IDE
  6. Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
    Mencari Tahu Alamat I2C Pada Modul I2C
  7. 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?

Ingin Tahu Program Kami Lebih Lanjut?

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

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp