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

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


Revision #2
Created 22 May 2025 06:28:59 by satria
Updated 4 June 2025 08:06:58 by satria