Skip to main content

PALANG PINTU OTOMATIS

πŸŽ₯ VIDEO TUTORIAL LENGKAP

Simak video berikut untuk memahami cara kerja sistem palang pintu otomatis berbasis Arduino:


πŸ”Œ WIRING ATAU RANGKAIAN

Skema pemasangan dapat kamu lihat secara visual pada halaman ini πŸ‘‰ WIRING MAKE KIT ULTRASONIC

Komponen

Arduino

Ultrasonic Sensor 1 (masuk) - TRIG

D9

Ultrasonic Sensor 1 - ECHO

D10

Ultrasonic Sensor 2 (keluar) - TRIG

D7

Ultrasonic Sensor 2 - ECHO

D6

Servo SG90

D3

Buzzer

D8

LCD I2C

SDA β†’ A4, SCL β†’ A5

Power Supply

5V dan GND


πŸ’» SOURCE CODE

Berikut adalah kode program lengkap untuk palang pintu otomatis menggunakan dua sensor ultrasonik dan servo motor:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>

#define TRIG1 9
#define ECHO1 10
#define TRIG2 7
#define ECHO2 6
#define BUZZER 8
#define SERVO_PIN 3

LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo palang;

bool palangTerbuka = false;

void setup() {
  pinMode(TRIG1, OUTPUT);
  pinMode(ECHO1, INPUT);
  pinMode(TRIG2, OUTPUT);
  pinMode(ECHO2, INPUT);
  pinMode(BUZZER, OUTPUT);

  lcd.init();
  lcd.backlight();
  palang.attach(SERVO_PIN);
  palang.write(0); // posisi tutup

  lcd.setCursor(0,0);
  lcd.print("Palang Otomatis");
  delay(2000);
  lcd.clear();
}

void loop() {
  float jarakMasuk = bacaJarak(TRIG1, ECHO1);
  float jarakKeluar = bacaJarak(TRIG2, ECHO2);

  lcd.setCursor(0, 0);
  lcd.print("Masuk: ");
  lcd.print(jarakMasuk);
  lcd.print("cm ");

  lcd.setCursor(0, 1);
  lcd.print("Keluar: ");
  lcd.print(jarakKeluar);
  lcd.print("cm ");

  if (jarakMasuk < 20 && !palangTerbuka) {
    bukaPalang();
    palangTerbuka = true;
  }

  if (jarakKeluar < 20 && palangTerbuka) {
    tutupPalang();
    palangTerbuka = false;
  }

  delay(200);
}

float bacaJarak(int trig, int echo) {
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  long durasi = pulseIn(echo, HIGH);
  return durasi * 0.0343 / 2;
}

void bukaPalang() {
  lcd.clear();
  lcd.print("Buka Palang...");
  palang.write(90);
  tone(BUZZER, 1000, 300);
  delay(1000);
}

void tutupPalang() {
  lcd.clear();
  lcd.print("Tutup Palang...");
  palang.write(0);
  tone(BUZZER, 500, 300);
  delay(1000);
}

🧠 PENJELASAN PROGRAM

  • Dua Sensor Ultrasonik: Mendeteksi kendaraan saat akan masuk (sensor 1) dan sudah melewati palang (sensor 2).
  • Servo Motor: Menggerakkan palang secara otomatis ke posisi buka dan tutup.
  • Buzzer: Memberi notifikasi bunyi saat palang terbuka atau tertutup.
  • LCD: Menampilkan jarak kendaraan dan status palang secara real-time.

Dengan setup ini, kamu bisa menciptakan sistem parkir otomatis yang aman dan andal. Cocok untuk gerbang parkir rumah, sekolah, atau proyek AIoT kamu!