Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino UNO Based RFID Access Control with I2C LCD Feedback and Keypad Input

Image of Arduino UNO Based RFID Access Control with I2C LCD Feedback and Keypad Input

Circuit Documentation

Summary

The circuit in question is designed around an Arduino UNO microcontroller, which serves as the central processing unit. The circuit includes an I2C LCD 16x2 Screen for display purposes, an RFID-RC522 module for RFID reading, a 4x4 Membrane Matrix Keypad for user input, a Servo motor for actuation, and a buzzer for audio feedback. The components are interconnected through various digital and analog pins on the Arduino UNO, with power distribution managed through the board's 5V and 3.3V outputs.

Component List

Arduino UNO

  • Microcontroller board based on the ATmega328P
  • Features digital I/O pins, analog input pins, and power pins
  • Utilized as the main controller for the circuit

I2C LCD 16x2 Screen

  • Alphanumeric liquid crystal display with 16 characters by 2 lines
  • Communicates with the Arduino UNO via the I2C protocol
  • Used for displaying information to the user

RFID-RC522

  • RFID reader/writer module operating at 13.56 MHz
  • Interfaces with the Arduino UNO through SPI communication
  • Employed for scanning RFID tags

4x4 Membrane Matrix Keypad

  • Input device with 16 buttons arranged in a 4x4 grid
  • Connected to the Arduino UNO's digital and analog pins
  • Allows user input through key presses

Servo

  • Rotary actuator that can be controlled with PWM signals
  • Powered by the Arduino UNO's 5V output
  • Used to perform mechanical movements based on commands

Buzzer

  • Simple piezoelectric speaker
  • Driven by a digital output from the Arduino UNO
  • Provides audible alerts or feedback

Wiring Details

Arduino UNO

  • D7 connected to Buzzer
  • GND connected to Buzzer, Servo, RFID-RC522, I2C LCD Screen
  • 5V connected to Servo, I2C LCD Screen
  • 3.3V connected to RFID-RC522
  • A0 - A3 connected to 4x4 Keypad columns C1 - C4
  • A4 (SDA) connected to I2C LCD Screen SDA
  • A5 (SCL) connected to I2C LCD Screen SCL
  • D13 connected to RFID-RC522 SCK
  • D12 connected to RFID-RC522 MISO
  • D11 connected to RFID-RC522 MOSI
  • D10 connected to RFID-RC522 SDA
  • D9 connected to RFID-RC522 RST
  • D6 connected to Servo PWM
  • D5 - D2 connected to 4x4 Keypad rows R4 - R1

I2C LCD 16x2 Screen

  • SDA connected to Arduino UNO A4
  • SCL connected to Arduino UNO A5
  • VCC (5V) connected to Arduino UNO 5V
  • GND connected to Arduino UNO GND

RFID-RC522

  • VCC (3.3V) connected to Arduino UNO 3.3V
  • RST connected to Arduino UNO D9
  • GND connected to Arduino UNO GND
  • IRQ (Not connected)
  • MISO connected to Arduino UNO D12
  • MOSI connected to Arduino UNO D11
  • SCK connected to Arduino UNO D13
  • SDA connected to Arduino UNO D10

4X4 Membrane Matrix Keypad

  • R1 - R4 connected to Arduino UNO D2 - D5
  • C1 - C4 connected to Arduino UNO A0 - A3

Servo

  • GND connected to Arduino UNO GND
  • VCC connected to Arduino UNO 5V
  • PWM connected to Arduino UNO D6

Buzzer

  • PIN connected to Arduino UNO D7
  • GND connected to Arduino UNO GND

Documented Code

Arduino UNO Code (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

The provided code is a template with empty setup() and loop() functions, which are the standard structure for Arduino sketches. The setup() function is intended to contain initialization code that runs once when the program starts, such as configuring pin modes. The loop() function is for the main logic of the sketch, which runs repeatedly after setup() completes. The actual implementation details will depend on the specific functionalities intended for the circuit components.