Skip to main content

ALARM SENSOR PARKIR

WIRING ATAU RANGKAIAN SILAHKAN BACA DI PAGE "WIRING SECARA UMUM"

SOURCE CODE:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>


#define trigPin 9

#define echoPin 10

#define buzzerPin 8


LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C bisa disesuaikan (umum: 0x27 atau 0x3F)


void setup() {

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(buzzerPin, OUTPUT);

  

  lcd.init();                      // initialize the lcd 

  lcd.init();

  // Print a message to the LCD.

  lcd.backlight();

  lcd.setCursor(3,0);

  lcd.print("Alarm Parkir");

  delay(1000);

  lcd.clear();

}


void loop() {

  long duration;

  float distance;


  // Kirim sinyal trigger

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin,LOW);


  // Baca echo

  duration = pulseIn(echoPin, HIGH);

  distance = (duration * 0.0343) / 2;


  // Tampilkan di LCD

  lcd.setCursor(0, 0);

  lcd.print("Jarak: ");

  lcd.print(distance, 1);

  lcd.print(" cm   ");


  // Alarm berdasarkan jarak

  if (distance < 10) {

    tone(buzzerPin, 1000);

    delay(100);

    noTone(buzzerPin);

    delay(100);

  } else if (distance < 0) {

    tone(buzzerPin, 1000);

    delay(300);

    noTone(buzzerPin);

    delay(300);

  } else if (distance < 30) {

    tone(buzzerPin, 1000);

    delay(500);

    noTone(buzzerPin);

    delay(500);

  } else {

    noTone(buzzerPin);

  }


  delay(100);

}