Computer Organisation and Application
Computer Organisation and Application
Submitted by
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE ENGINEERING
BONAFIDE CERTIFICATE
Certified that Computer Architecture and organization Mini Project report titled
“SMART SHOPPING CART” is the Bonafide work of Jagannath Saha
[RA2311003010048], Aritra Basak [RA2311003010016], Arhaan
Siddiquee [RA2311003010045], who carried out the project work under my
supervision. Certified further, that to the best of my knowledge the work
reported herein does not form any other work
Dr.G.Bhargavi Dr.NIRANJANA G
Guide Professor & Head
Assistant Professor Dept. of Computing
Dept. of Computing Technologies Technologies
SMART SHOPPING CART
Submitted by
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE ENGINEERING
SCHOOL OF COMPUTING
Sub code & Sub Name : 21CSS201T & Computer Organization and Architecture
Project Title :
Max
Particulars Marks Obtained
Marks
Project Report 05
Total 40
Date :
Staff Name :
Signature :
SMART SHOPPING CART
OBJECTIVE:
The objective of this project is to design a Smart Shopping Cart that uses RFID technology
to automatically add items to a virtual cart. It displays item information and calculates the
total cost, improving shopping efficiency and reducing checkout time.
ABSTRACT:
The Smart Shopping Cart leverages an Arduino Nano microcontroller, RFID sensor
module, RFID cards, LCD display, and LEDs to allow users to scan items as they shop.
Each item has an RFID tag, which, when scanned, updates the cart’s total on an LCD display.
The cart includes a buzzer for invalid scans and green/red LEDs to signal successful or
erroneous scans. This project automates item addition, making shopping quicker and more
user-friendly.
INTRODUCTION:
In busy retail environments, checkout processes can be time-consuming and lead to long
lines. The Smart Shopping Cart addresses this problem by integrating RFID-based item
detection with real-time price updates, displayed on an LCD. Customers can directly add
items to their cart by scanning each item’s RFID tag, reducing the need for manual scanning
and speeding up the checkout process. This smart system provides a modern solution to a
common retail challenge.
HARDWARE/SOFTWARE REQUIREMENTS:
Hardware Components
1. Arduino Nano
o Description: A compact microcontroller board based on the ATmega328p,
the Arduino Nano is widely used in embedded systems for its small size,
low power requirements, and ease of programming.
o Specifications:
6 analog inputs
o Function in Project: Receives input from the RFID sensor, processes tag
IDs, and controls the LCD, buzzer, and LEDs based on programmed
logic.
o Purpose: Allows the system to detect and read unique IDs from RFID
cards or tags, which are attached to items.
3. RFID Cards
o Description: RFID cards are small tags embedded with unique IDs that
can be read by the RFID sensor.
4. LCD Display
o Description: A 16x2 LCD display is commonly used in Arduino projects to
visually output text information.
o Function in Project: Shows feedback to the user, helping them keep track
of the items they’re scanning and the cumulative total.
5. Buzzer
o Description: LEDs are small lights that turn on when current flows
through them, providing clear visual indicators.
7. Power Supply
o Purpose: Supplies the required power to the Arduino Nano and attached
components.
8. Jumper Wires
Software
1. Arduino IDE
o Purpose: Used to write the program (sketch) for the Arduino Nano,
compile it into machine code, and upload it to the microcontroller.
o Key Features:
CONCEPTS/WORKING PRINCIPLE
Description: The Arduino Nano is the core controller of the system, managing all data
processing and control signals. As the main processor, it communicates with the RFID
module to read item tags, processes data to check if the scanned item is valid, and controls
outputs like the LCD, LEDs, and buzzer.
Function: When an RFID tag is scanned, the Arduino receives the tag’s unique ID from the
RFID module. It then verifies the ID, retrieves the corresponding item’s name and price, and
displays this information on the LCD. Based on the result, it activates either the green or red
LED and, if needed, the buzzer to alert the user.
2.RFID Module
Description: The RFID module reads RFID tags, which contain unique identifiers for each
item. In this system, the RFID module typically operates on the 13.56 MHz frequency (e.g.,
using an RC522 module).
Function: When a tag is brought within range, the RFID module captures the unique ID and
sends it to the Arduino. The Arduino then processes this ID to identify the item and
determine the action to be taken. The module enables seamless communication between the
tag and the system without needing direct contact.
3.LCD Display
Description: A 16x2 LCD display shows information about the scanned items, including the
item name, price, and a running total cost.
Function: The LCD provides real-time feedback to the user by displaying the item name and
price whenever a valid tag is scanned. It also shows the total cost, allowing the user to keep
track of the cumulative amount as more items are scanned. This helps create a
straightforward and interactive interface for the user.
Description: Two LEDs (green and red) and a buzzer act as feedback indicators for the
scanning process. They provide both visual and auditory signals to the user.
Function:
Green LED: Lights up when a valid item is successfully scanned. This indicates that the
scanned item has been recognized and added to the total.
Red LED and Buzzer: Triggered if an invalid or duplicate item is scanned. The buzzer
sounds along with the red LED, alerting the user that the scan is unsuccessful. This feedback
helps reduce errors by notifying the user immediately if there’s an issue.
5.Power Supply:
Description: The power supply can be a portable battery pack or a USB connection that
supplies power to the Arduino Nano and other connected components.
Function: It provides the required voltage and current to power the entire system, ensuring
the Arduino and all connected peripherals (RFID module, LCD, LEDs, and buzzer) operate
continuously. Using a battery pack makes the system portable, allowing it to function in
different environments without needing a constant power outlet.
Working Principle
1. Item Detection: The RFID sensor detects each item's tag ID as it's scanned.
2. Validation and Feedback: The Arduino checks if the tag ID matches any known item. A
valid item triggers the green LED and updates the LCD, while an invalid tag triggers the red
LED and buzzer.
3. Cost Calculation: For valid items, the price is added to the total, which is shown on the
LCD.
4. Display Update: Each scan updates the LCD with the item name, price, and running total.
APPROACH/METHODOLOGY/PROGRAMS:
Circuit Diagram
Program
#include <Arduino.h>
#include <Wire.h>
#include <LiquidCrystal.h>
char input[12];
int count = 0;
int a;
int p1 = 0, p2 = 0, p3 = 0;
double total = 0;
int count_prod = 0;
void setup()
pinMode(A4, INPUT_PULLUP);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
lcd.clear();
Wire.begin();
Serial.begin(9600);
lcd.setCursor(0, 0);
lcd.print("AUTOMATIC BILL");
delay(2000);
lcd.setCursor(0, 1);
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("WELCOME TO");
delay(2000);
lcd.setCursor(0, 1);
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
void loop()
count = 0;
memset(input, 0, sizeof(input));
input[count] = Serial.read();
count++;
delay(5);
a = digitalRead(A4);
lcd.setCursor(0, 0);
lcd.setCursor(0, 0);
p1++;
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
delay(2000);
count_prod++;
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
lcd.clear();
delay(1000);
lcd.clear();
lcd.setCursor(0, 1);
if (total < 1)
lcd.print("0.000");
else
lcd.print(total);
}
}
if (p1 > 0)
lcd.clear();
lcd.setCursor(0, 0);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
delay(2000);
p1--;
count_prod--;
lcd.clear();
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
lcd.setCursor(0, 0);
delay(1000);
lcd.clear();
if (total < 1)
total = 0.0000;
}
lcd.print(total);
else
lcd.clear();
lcd.setCursor(0, 0);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
delay(2000);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
Key Functions:
1. Setup: Initializes the LCD, serial communication, and LEDs, displaying a welcome message.
2. Loop: Constantly checks for serial input and reads the state of a button (used to add or
remove items).
Operation:
Adding an Item: If the input matches a predefined RFID tag and the button is pressed, the
code assumes a specific item (e.g., "Butter") is being added.
o It displays the item name and price on the LCD.
o Increments the item count and updates the total price.
o Activates LEDs briefly to confirm the addition.
Removing an Item: If the same tag is scanned with the button unpressed, it assumes the item
is being removed.
o Checks if the item is already in the cart.
o Decrements the item count and updates the total, displaying feedback on the LCD and with
LEDs.
OUTPUT:
CONCLUSIONS:
Thus, the Smart Shopping Cart was successfully built and tested. The cart adds items upon
RFID scan, updates the total, and provides alerts for invalid scans, thereby streamlining the
shopping experience and reducing checkout time.
REFERENCES: