0% found this document useful (0 votes)
171 views

Parking

The document describes an Arduino project that uses infrared sensors and a servo motor to control a model parking garage. It defines pins for the IR sensors and buttons. In setup it initializes the LCD, servo, and sensors. The main loop reads the sensors, displays the garage status on the LCD, and controls the servo based on sensor values and button presses.

Uploaded by

patelansh9484
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views

Parking

The document describes an Arduino project that uses infrared sensors and a servo motor to control a model parking garage. It defines pins for the IR sensors and buttons. In setup it initializes the LCD, servo, and sensors. The main loop reads the sensors, displays the garage status on the LCD, and controls the servo based on sensor values and button presses.

Uploaded by

patelansh9484
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

#include <Servo.

h> //includes the servo library


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

Servo myservo;

#define ir_enter 2
#define ir_back 4

#define ir_car1 5
#define ir_car2 6
#define ir_car3 7
#define ir_car4 8
#define ir_car5 9
#define ir_car6 10

int S1=0, S2=0, S3=0, S4=0, S5=0, S6=0;


int flag1=0, flag2=0;
int slot = 6;

void setup(){
Serial.begin(9600);

pinMode(ir_car1, INPUT);
pinMode(ir_car2, INPUT);
pinMode(ir_car3, INPUT);
pinMode(ir_car4, INPUT);
pinMode(ir_car5, INPUT);
pinMode(ir_car6, INPUT);

pinMode(ir_enter, INPUT);
pinMode(ir_back, INPUT);

myservo.attach(3);
myservo.write(90);

lcd.begin(20, 4);
lcd.setCursor (0,1);
lcd.print(" Car parking ");
lcd.setCursor (0,2);
lcd.print(" System ");
delay (2000);
lcd.clear();

Read_Sensor();

int total = S1+S2+S3+S4+S5+S6;


slot = slot-total;
}

void loop(){

Read_Sensor();

lcd.setCursor (0,0);
lcd.print(" Have Slot: ");
lcd.print(slot);
lcd.print(" ");
lcd.setCursor (0,1);
if(S1==1){lcd.print("S1:Fill ");}
else{lcd.print("S1:Empty");}

lcd.setCursor (10,1);
if(S2==1){lcd.print("S2:Fill ");}
else{lcd.print("S2:Empty");}

lcd.setCursor (0,2);
if(S3==1){lcd.print("S3:Fill ");}
else{lcd.print("S3:Empty");}

lcd.setCursor (10,2);
if(S4==1){lcd.print("S4:Fill ");}
else{lcd.print("S4:Empty");}

lcd.setCursor (0,3);
if(S5==1){lcd.print("S5:Fill ");}
else{lcd.print("S5:Empty");}

lcd.setCursor (10,3);
if(S6==1){lcd.print("S6:Fill ");}
else{lcd.print("S6:Empty");}

if(digitalRead (ir_enter) == 0 && flag1==0){


if(slot>0){flag1=1;
if(flag2==0){myservo.write(180); slot = slot-1;}
}else{
lcd.setCursor (0,0);
lcd.print(" Sorry Parking Full ");
delay(1500);
}
}

if(digitalRead (ir_back) == 0 && flag2==0){flag2=1;


if(flag1==0){myservo.write(180); slot = slot+1;}
}

if(flag1==1 && flag2==1){


delay (1000);
myservo.write(90);
flag1=0, flag2=0;
}

delay(1);
}

void Read_Sensor(){
S1=0, S2=0, S3=0, S4=0, S5=0, S6=0;

if(digitalRead(ir_car1) == 0){S1=1;}
if(digitalRead(ir_car2) == 0){S2=1;}
if(digitalRead(ir_car3) == 0){S3=1;}
if(digitalRead(ir_car4) == 0){S4=1;}
if(digitalRead(ir_car5) == 0){S5=1;}
if(digitalRead(ir_car6) == 0){S6=1;}
}

You might also like