A simple and efficient RFID-based Access Control System built using the LPC2129 microcontroller. This project reads RFID card data via UART, verifies it against a predefined list, and controls a door mechanism using a motor while displaying status messages on an LCD.
- 📡 Reads RFID card data via UART
- ✅ Validates card against stored authorized IDs
- ❌ Displays Access Denied for unauthorized users
- 🔓 Opens door for authorized access
- 🔒 Automatically closes door after a delay
- 📟 LCD interface for real-time feedback
- ⚙️ Motor control using GPIO pins
- LPC2129 Microcontroller
- RFID Reader (UART-based, e.g., EM-18)
- 16x2 LCD Display
- Motor / Door Lock Mechanism
- Motor Driver (L293D or similar)
- Power Supply
- Connecting wires
- Embedded C (Keil / GCC ARM)
- Flashing tool (Flash Magic or similar)
RFID_Access_Control/
├── main.c # Main application code
├── display_driver.h # LCD driver header
├── delay.c # Timing utilities
└── README.md # Project documentation- System initializes UART and LCD
- LCD displays: "WAVE THE CARD"
- RFID reader sends 12-byte card ID via UART
- Microcontroller stores received data
- Compares scanned ID with stored authorized IDs
- Displays ACCESS APPROVED
- Opens door (motor rotates forward)
- Waits for a few seconds
- Closes door (motor rotates reverse)
- Displays ACCESS DENIED
UC8 rfid_data[5][14] = {
"030067849F7A",
"477326494638",
"478326494638",
"478326494637",
"06003B683762"
};if (strcmp(rfid_dat, rfid_data[i]) == 0)IOSET0 = a; // rotate forward
IOCLR0 = b;
IOSET0 = b; // rotate reverse
IOCLR0 = a;| Component | Pin |
|---|---|
| Motor A | P0.12 |
| Motor B | P0.13 |
| UART RX | P0.0 |
| UART TX | P0.1 |
WAVE THE CARD
ACCESS DENIED
ACCESS APPROVED
DOOR IS OPENING
DOOR IS OPEN
DOOR IS CLOSING
- Compile the code using Keil or GCC
- Generate the
.hexfile - Flash the code to LPC21xx using Flash Magic
- Connect RFID reader, LCD, and motor driver
- Power ON the system
- Scan RFID card to test functionality
- UART-based RFID communication
- Real-time access validation system
- Embedded motor control for door mechanism
- LCD-based user interaction
- Simple and efficient embedded design
Amal Leven