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

Coding Pta

This document contains code for an Arduino-based parking system that uses RFID tags, LCD display, buzzer, and sensors. The system reads RFID tags to authorize access, opens a servo-controlled barrier if authorized, and tracks the number of available parking slots using infrared sensors. It displays the slot status and authorization messages on the LCD screen.
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)
14 views

Coding Pta

This document contains code for an Arduino-based parking system that uses RFID tags, LCD display, buzzer, and sensors. The system reads RFID tags to authorize access, opens a servo-controlled barrier if authorized, and tracks the number of available parking slots using infrared sensors. It displays the slot status and authorization messages on the LCD screen.
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/ 3

//Viral Science

//RFID
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>

#include <Wire.h>

#define SS_PIN 10
#define RST_PIN 9
#define LED_G 4 //define green LED pin
#define LED_R 5 //define red LED
#define BUZZER 2 //buzzer pin
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
Servo myServo; //define servo name

int IR1 = 2;
int IR2 = 4;

int Slot = 4; //Enter Total number of parking Slots

int flag1 = 0;
int flag2 = 0;

void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(" ARDUINO ");

lcd.setCursor(0,1);
lcd.print(" PARKING SYSTEM ");

Serial.begin(9600); // Initiate a serial communication


SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
myServo.attach(3); //servo pin
myServo.write(0); //servo start position
pinMode(LED_G, OUTPUT);//TAK NYALA
pinMode(LED_R, OUTPUT);// TAK NYALA
pinMode(BUZZER, OUTPUT);// NASUK PIN7
pinMode(IR1, INPUT);
pinMode(IR2, INPUT);
noTone(BUZZER);
Serial.println("Put your card to the reader...");
Serial.println();

lcd.setCursor (0,0);
lcd.print(" ARDUINO ");
lcd.setCursor (0,1);
lcd.print(" PARKING SYSTEM ");
delay (2000);
lcd.clear(); // BILA SCAN BARU PADAM DAN MASUK SLOT PERKING

}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "F2 E4 94 4C" || content.substring(1) == "23 FD 29
BE" ) //change here the UID of the card/cards that you want to give access
{
Serial.println("Authorized access");
Serial.println();
delay(500);
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
myServo.write(180);
delay(5000);
myServo.write(0);
digitalWrite(LED_G, LOW);
}

if(digitalRead (IR1) == LOW && flag1==0){


if(Slot>0){flag1=1;
if(flag2==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){ Slot = Slot+1;}
}

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


delay (1000);

flag1=0, flag2=0;
}

else {
Serial.println(" Access denied");
digitalWrite(LED_R, HIGH);
tone(BUZZER, 300);
delay(1000);
digitalWrite(LED_R, LOW);
noTone(BUZZER);
}

lcd.setCursor (0,0);
lcd.print(" WELCOME! ");
lcd.setCursor (0,1);
lcd.print("Slot Left: ");
lcd.print(Slot);
}

You might also like