Smart Shopping Trolley Using Arduino UNO & RFID | Automatic Billing System
on
Get link
Facebook
X
Pinterest
Email
Other Apps
Smart Shopping Trolley Using Arduino UNO & RFID | Automatic Billing System – MakeMindz
Arduino UNORFID RC522IoT ProjectBeginner Friendly
Smart Shopping Trolley with RFID Auto-Billing
Eliminate checkout queues with a supermarket trolley that scans RFID-tagged products, calculates your bill in real-time, and displays it on a 16×2 LCD.
9Components
~2 hrsBuild Time
SPIProtocol
I²CLCD Interface
1
Project Overview & Features
The Smart Shopping Trolley uses RFID technology to scan products automatically when placed near the trolley's RC522 reader. Each product has an RFID tag. When scanned, Arduino looks up the product name and price from a local database, updates the running total, and displays everything on the 16×2 LCD. A buzzer beeps to confirm each scan.
📡
Auto RFID ScanningHands-free product detection using the RC522 reader
💰
Real-time BillingBill updates instantly on every scan
🖥️
16×2 LCD DisplayShows item name, price, and running total via I²C
🔔
Buzzer AlertAudio confirmation on each successful scan
🔘
Push ButtonsAdd, Remove, and Reset controls built-in
⚡
Queue-Free CheckoutNo cashier needed — pay directly at exit
2
Components Required
#
Component
Specification
Qty
1
Arduino UNO
ATmega328P, 5V
×1
2
RFID Reader Module
RC522, SPI, 3.3V
×1
3
RFID Tags / Cards
Mifare 1K (13.56 MHz)
×4+
4
LCD Display
16×2 with I²C backpack (0x27)
×1
5
Buzzer
Active Buzzer, 5V
×1
6
Push Buttons
6×6mm tactile switch
×3
7
Breadboard
830-point or mini
×1
8
Jumper Wires
Male-Male, various lengths
×20
9
Power Supply
USB 5V or 9V DC barrel
×1
ℹ️The RC522 RFID module operates at 3.3V — never connect its VCC to the Arduino's 5V pin, as this will damage the module.
Open Arduino IDE → Sketch → Include Library → Manage Libraries. Search and install: MFRC522 by GithubCommunity, LiquidCrystal_I2C by Frank de Brabander.
2
Find Your LCD I²C Address
Upload an I²C scanner sketch to find your LCD's address. It's usually 0x27 or 0x3F. Update the address in the code: LiquidCrystal_I2C lcd(0x27, 16, 2);
3
Wire the RC522 RFID Module
Connect SDA→D10, SCK→D13, MOSI→D11, MISO→D12, RST→D9. Connect VCC to the 3.3V pin (not 5V) and GND to GND.
4
Wire the LCD (I²C)
Connect SDA→A4, SCL→A5, VCC→5V, GND→GND on the Arduino.
5
Connect Buzzer & Buttons
Buzzer (+) → D5, (−) → GND. Each button: one leg to D2/D3/D4, other leg to GND.
6
Scan Your RFID Tag UIDs
Upload the MFRC522 DumpInfo example sketch and scan each RFID tag. Note the UID printed on the Serial Monitor (e.g., B3 23 E4 11). You'll need these for the product database.
7
Update the Item Database in Code
Replace the UIDs and product details in the item_list[] array with your scanned UIDs, product names, and prices.
8
Upload & Test
Upload the code, open Serial Monitor at 9600 baud. Scan a tag — the LCD should show the product name and price, and the buzzer should beep once. Test all three buttons.
💡Pro Tip: Attach RFID tags to product boxes using double-sided tape. Position the RC522 reader at the trolley's entrance opening so tags are scanned automatically when items are dropped in.
💡Wokwi Instructions: (1) Create new Arduino UNO project → (2) Paste diagram.json → (3) Paste sketch code → (4) Press Play → (5) Click RFID cards on-screen to simulate scanning!
9
How It Works
The system follows a simple but powerful flow. Each product has an RFID tag with a unique UID. When the tag enters the RC522 reader's electromagnetic field, the reader communicates via the SPI protocol to pass the UID to the Arduino. The Arduino then compares the UID against its local item_list[] database. If matched, it updates the bill, triggers the buzzer, and refreshes the LCD.
①
RFID Tag Detected
RC522 reader detects a tag in its ~5cm range and reads the UID via SPI bus.
②
UID Lookup
Arduino searches the item_list[] array for a UID match to retrieve product name and price.
③
Bill Updated
Depending on the mode (add/remove), the price is added or subtracted from the running bill_amount.
④
LCD + Buzzer Feedback
The 16×2 LCD shows the product name and price, followed by the updated total. Buzzer beeps once to confirm.
Comments
Post a Comment