Dalam proyek sistem parkir otomatis ini, kami akan menggunakan servo motor untuk menggerakkan pintu parkir, serta modul I2C untuk menghubungkan perangkat-perangkat lainnya. Berikut adalah langkah-langkah untuk membuat proyek ini:
- Hubungan Servo Motor: Hubungkan pin VCC dari servo motor dengan pin VCC Arduino dan brown wire (GND) dari servo motor dengan GND Arduino. Hubungkan orange wire (signal) dari servo motor dengan digital-9 pin Arduino.
- Modul I2C: Hubungkan pin SDA modul I2C dengan analog-4 pin Arduino, serta pin SCL modul I2C dengan analog-5 pin Arduino.
- IR Sensors: Hubungkan OUT pin IR sensor pertama dengan digital-4 pin Arduino, dan OUT pin IR sensor kedua dengan digital-7 pin Arduino.
- LCD 16×2: Hubungkan pin modul I2C dengan pin LCD 16×2.
Kode Proyek
Perlu diingat bahwa Anda harus mengupload kode ini ke Arduino dan menginstal biblioteca LiquidCrystal_I2C dan Wire sebelum compiling the code. Berikut adalah kode proyek:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <Servo.h>
Servo myservo1;
int IR1 = 4; // IR Sensor 1
int IR2 = 7; // IR Sensor 2
int Slot = 4; //Enter Total number of parking Slots
int flag1 = 0;
int flag2 = 0;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(IR1, INPUT);
pinMode(IR2, INPUT);
myservo1.attach(9);
myservo1.write(100);
lcd.setCursor (0,0);
lcd.print(" ARDUINO ");
lcd.setCursor (0,1);
lcd.print(" PARKING SYSTEM ");
delay (2000);
lcd.clear();
}
void loop(){
if(digitalRead (IR1) == LOW && flag1==0){
if(Slot>0){flag1=1;
if(flag2==0){myservo1.write(0); Slot = Slot-1;}
}else{
lcd.setCursor (0,0);
lcd.print(" SORRY :( ");
lcd.setCursor (0,1);
lcd.print(" Parking Full ");
delay (3000);
lcd.clear();
}
}
if(digitalRead (IR2) == LOW && flag2==0){flag2=1;
if(flag1==0){myservo1.write(0); Slot = Slot+1;}
}
if(flag1==1 && flag2==1){
delay (1000);
myservo1.write(100);
flag1=0, flag2=0;
}
lcd.setCursor (0,0);
lcd.print(" WELCOME! ");
lcd.setCursor (0,1);
lcd.print("Slot Left: ");
lcd.print(Slot);
}
Tips dan Trik
Jika Anda memiliki pertanyaan mengenai proyek ini, silakan tuliskan di bagian komentar yang diberikan di bawah. Anda juga dapat menemukan tutorial-tutorial Arduino lainnya.
PCBWay Rapid PCB Prototyping Services
Saya telah assemble circuit yang sama pada breadboard. Karena assembly breadboard tidak efektif untuk proyek-proyek seperti ini, PCBWay menawarkan prototyping services cepat dan murah untuk membantu Anda dalam membuat board-board Anda. Saya sangat merekomendasikan PCBWay karena Anda dapat mendapatkan board-board Anda hanya dalam 24 jam!