Sensor Parkir Mobil menggunakan Arduino dan Sensor Ultrasonic

Assalamu’alaikum Warrahmatulahi Wabarakatuh Sahabat Ngoprek, Kali ini saya akan membagikan tutorial sederhana yang sangat pas untuk kalian yang suka utak atik tentang otomotif dan elektronika seperti saya hehe, Sebenarnya sudah banyak sekali tutorial tentang penggunaan HC SR-04 ini lalu kenapa saya ingin membuat rangkaian ini? Itu pertanyaan yang bagus, yaa karena kita berusaha untuk mengamalkan ilmu yang kita punya, ya salah satunya ini Basicnya Si HCSR-04 ini kan digunakan untuk pengukur jarak, berarti bisa dong kita gunakan untuk sensor parkir, toh prinsip kerjanya juga sama dengan sensor parikir,

Alat ini saya buat karena kebiasaan Om saya yang ketika parkir mobil sering nabrak dinding rumah, Maklum sudah tua, maka dari itu saya mempunyai ide untuk membuat alat yang dapat mempermudah dalam memarkir mobil dengan menggunakan Sensor jarak dan Arduino Uno.

sebentar, jangan jangan ada yang belum tahu apa yang saya maksut sensor parkir? sensor parkir adalah suatu alat yang bekerja dengan prinsip dasar seperti ini “semakin dekat mobil dengan obyek, maka semakin besar frekuensi beep dari bel sebagai peringatan untuk si pengemudi, dan jika mobil terlalu dekat dengan obyek, buzzer akan menyala terus menerus”, gimana, sudah paham kan, okelah langsung saja kita eksekusi !!

Nah pada Alat ini tidak hanya menggunakan peringantan bunyi berupa beep, namun saya menambahkan Display LCD ukuran 16x2  yang berfungsi untuk memberi informasi jarak antara mobil dengan tembok secara real time. tidak hanya itu saya menambahkan pula LED untuk Indikatornya. 

Pada alat ini saya menggunakan  1 buah sensor yang saya pasang pada depan  Mobil.

Langsung saja bagi teman Ngoprek yang peasaran kita bisa lihat skema rangkaiannya pada gambar dibawah ini.




Dan untuk Source Code nya silahkan lihat di kotak berikut.




================================== SOURCE CODE ==================================
#include "LiquidCrystal.h"
#include "Servo.h"

LiquidCrystal lcd(13, 12, 11, 10, 9 ,8);  
Servo myservo;

#define trigPin A1
#define echoPin A0
#define buzzer 2
#define ledG1  7
#define ledG2  6
#define ledY1  5
#define ledY2  4
#define ledR   3
#define relay A2

void setup() {
  Serial.begin (9600);
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("-Parking System-");
  lcd.setCursor(1,1);
  lcd.print("---- Vers.1 ----");
  delay(1000);
  
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzer,   OUTPUT);
  pinMode(ledG1,    OUTPUT);
  pinMode(ledG2,    OUTPUT);
  pinMode(ledY1,     OUTPUT);
  pinMode(ledY2,     OUTPUT);
  pinMode(ledR,     OUTPUT);
  pinMode(relay,   OUTPUT);


}

void loop() {
   long waktu, jarak;
   digitalWrite(trigPin, LOW);
   delayMicroseconds(2);
   digitalWrite(trigPin, HIGH);
   delayMicroseconds(10);
   digitalWrite(trigPin, LOW);
   waktu    = pulseIn(echoPin, HIGH);
   jarak    =(waktu/2)/29.1;
   
  if (jarak <= 30) {
      digitalWrite(ledG1, HIGH);
    }else{
      digitalWrite(ledG1,LOW);}
    
  if (jarak < 20) {
      digitalWrite(ledG2, HIGH);
    }else{
      digitalWrite(ledG2, LOW);}
      
  if (jarak < 15) {
      digitalWrite(ledY1, HIGH);
    }else {
      digitalWrite(ledY1, LOW);}
      
  if (jarak < 10) {
      digitalWrite(ledY2, HIGH);
    }else {
      digitalWrite(ledY2,LOW);}
 
  if (jarak < 5) {
      digitalWrite(ledR, HIGH);
      digitalWrite(buzzer, HIGH);
    }else {
      digitalWrite(ledR,LOW);
      digitalWrite(buzzer, LOW);}
      
      if (jarak > 30 || jarak <=0){
          lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("-Parking System-");
          lcd.setCursor(0,1);
          lcd.print("Jarak : ");
          lcd.print(jarak);
          lcd.setCursor(10,1);
          lcd.print("Cm");
      
       
  }else {
          lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("-Parking System-");
          lcd.setCursor(0,1);
          lcd.print(" ---- Aman ---- ");      
  }
}



No comments

Dicky B_Mz. Powered by Blogger.