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

Arduino-Based Smart Shopping Trolley with RFID and LCD Display

View and Edit Project In Cirkit DesignerImage of Arduino-Based Smart Shopping Trolley with RFID and LCD Display

Circuit Documentation

Summary

The circuit in question is designed to interface an Arduino UNO with multiple peripherals including pushbuttons, resistors, an LCD screen with I2C interface, a buzzer, and an RFID-RC522 module. The circuit appears to be part of a smart trolley billing system, where the pushbuttons are used to add or remove items from the bill, the RFID reader scans items, the buzzer provides audio feedback, and the LCD displays billing information.

Component List

Pushbutton

Resistor (200 Ohms)

Arduino UNO

LCD screen 16x2 I2C

Buzzer

RFID-RC522

Wiring Details

Pushbutton

Resistor (200 Ohms)

Arduino UNO

LCD screen 16x2 I2C

Buzzer

RFID-RC522

Documented Code

The code provided is for the Arduino UNO microcontroller and is designed to operate the smart trolley billing system. It includes the initialization and operation of the RFID-RC522 module, the LCD screen, and the buzzer. It also handles the input from the pushbuttons to add or remove items from the bill and to reset the system.

/****************************************************
 * 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 code initializes the LCD and RFID reader, sets up the button pins, and enters a loop where it waits for button presses or RFID card detection. When a card is detected, it checks if the item should be added or removed from the bill and updates the LCD and buzzer accordingly.