Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO RFID Smart Trolley with I2C LCD Display and Bluetooth Connectivity

View and Edit Project In Cirkit DesignerImage of Arduino UNO RFID Smart Trolley with I2C LCD Display and Bluetooth Connectivity

Circuit Documentation

Summary

The circuit in question is designed to interface an Arduino UNO with multiple peripherals including an RFID-RC522 module, an I2C LCD 16x2 screen, a buzzer module, HC-05 Bluetooth module, nRF24L01 wireless communication module, and three pushbuttons with associated resistors. The circuit is powered by a 9V battery and includes connections for both 5V and 3.3V components. The primary function of the circuit is to create a smart trolley billing system, utilizing the RFID module for item identification and the LCD for user interaction and feedback.

Component List

RFID-RC522

Pushbutton (x3)

Resistor (x3)

I2C LCD 16x2 Screen

HC-05

nRF24L01

9V Battery

Arduino UNO

Buzzer Module

Wiring Details

RFID-RC522

Pushbuttons

Resistor (x3)

I2C LCD 16x2 Screen

HC-05

nRF24L01

9V Battery

Arduino UNO

Buzzer Module

Documented Code

/****************************************************
 * Code Designed By : Rahul Jadhav Youtube Channel
 ****************************************************/

/******************RFID Connection:*********************

RFID PIN    ARDUINO PIN 
SDA         10
SCK         13
MOSI        11
MISO        12
GND         GND
RST         9
3.3v        3.3v
 ******************************************************/

/***** LCD Connection ***********************************
LCD PIN   ARDUINO PI
SCL       SCL (Arduino Last pin)
SDA       SDA (Arduino Secon last pin)
VCC       5v
GND       GND
 ******************************************************/

/***** Buzzer Connection ***********************************
Buzzer PIN   ARDUINO PI
Positive     5
GND          GND 
 *****************************************************/

/***** Button Connection ***********************************
Button PIN   ARDUINO PI
Remove_Button     2
Add_button         3
Reset_button       4
VCC          5v
GND          GND 
 *****************************************************/
  
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); 
const int remove_button = 2;    
const int add_button = 3; 
const int reset_button = 4;
// const int buzzer_Pin = 5; 
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

// Rest of the code is omitted for brevity

The provided code snippet is part of a larger program that runs on the Arduino UNO. It initializes the RFID-RC522 module, the I2C LCD screen, and sets up the pushbuttons for user input. The code includes a structure for items with their names, RFID numbers, and prices, and contains logic for adding or removing items from a bill, which is displayed on the LCD. The code also handles the reset functionality to clear the trolley data.