Theft Resistant Shopping Cart Project Proposal

Theft Resistant Shopping Cart
Project Proposal
Team 25
Team Members
Kevin Kong Zhi Yao (kkong7)
Mei Ling Yeoh (myeoh2)
XianZe Zhan (xzhan5)
TA: Jacob Bryan
ECE 445
Spring 2016
February 10th, 2016
1
Table of Contents
1.0
2.0
3.0
4.0
Introduction
1.1 Statement of purpose
3
1.2 Goals & Benefits
3
1.3 Technical functionality & Features
3
Design
2.1 Block Diagram
4
2.2 Block Description
5
Block Level Requirements and Verification
3.1 Requirements & Verification
7
3.2 Tolerance Analysis
10
Cost and Schedule
4.1 Cost analysis
11
4.2 Schedule
12
2
1.0 Introduction
1.1 Statement of Purpose
According to National Association for Shoplifting Prevention, there are approximately 27 million
shoplifters in our nation today. One of the most common techniques used in supermarket is to load up a
shopping cart full of items and walk out of the store without paying. Another way of shoplifting is to load
many items in the cart but only pay for certain items and then walk out the store with unpaid and paid
items. Some products do not have security tags on them; therefore, it is difficult for the store to detect
such act of thievery. Our project is designed to tackle the act of thievery using the shopping cart by using
weight sensors, barcode scanner and RFID. The theft resistant shopping cart will help the store manager
to solve the problem of shoplifting associated with the shopping cart, at the same time, improve
customer shopping experience.
1.2 Goals & Benefits




Prevent act of shoplifting using shopping cart in supermarket
Reduce the loss of revenue in business
Improve customer shopping experience
Reduce checkout time
1.3 Functions & Features







Sensor to gather the total weight of the items in the shopping cart
Interpret sensor data and compare the weight detected by the sensor with the weight
registered from barcode system
Require user interaction to scan (add), de-scan (delete) items using barcode scanner
Gather the information of the items in the cart from database through wifi connection
Able to transfer the total price of all the items in the cart to the existing checkout system
Activate the alarm and cart braking system if the act of thievery is detected
Visually display the total price of items in cart through LCD display
3
2.0 Design
2.1 Block Diagram
4
2.2 Block Description
Rechargeable battery
The cart will have a rechargeable lithium-ion battery pack with an output rating of 5V and 1A to power
all the modules of the shopping carts (sensors, control system, outputs and user interface). A battery
capacity above 3000mAh would be ideal to allow the system to run for 4 to 5 hours, long enough for
most shoppers to finish their shopping session.
Weight Sensor
There will be four weight sensors with the ability to measure up to 50kg of items on the bottom of the
cart basket. Each inner corner of the shopping cart, topped by a plastic/metal sheet will have a sensor to
collect the weight changes of the items in the basket. The data collected by the sensor will be passed
through DSP processing to reduce noise in the measurement before transferring to the microcontroller.
The sensors will be small, cheap and have low energy consumption.
Barcode Scanner
There will be a small barcode scanner attached to the rim of the shopping cart. The scanner is
responsible for adding items into the cart or removing items from the cart. To add an item in the cart,
the customer scans the item and the barcode is then fed digitally to the microcontroller through USB. If
the customer no longer wants an item in the cart, to delete the item from the current shopping list, the
customer needs to scan it again. The barcode scanner takes an input voltage of 5V in order to power the
sensors, converter and decoder in the scanner.
RFID
This module consists of RFID tag, RFID reader, wifi module and microcontroller. The RFID tag will be
mounted beneath the shopping cart, and it is used to track which shopping cart is allowed to leave the
shopping mall. There will be a RFID reader at the exits of the shopping and when the RFID is detected
(the cart is near the exits), the RFID reader will convert the radio waves from RFID tag into digital signal
which is then being processed by microcontroller of the RFID system. The data will be transmitted to the
microcontroller of the shopping cart through wifi and being processed by the microcontroller of the
shopping cart to determine where the cart is allowed to leave the shopping mall.
User Interface
The customers will need a simple interface to ‘de-scan’ the barcode of items that they no longer want to
buy. A simple push button is used for that user interface. When customers want to remove an item from
the scanned items, they need push the button and then scan the item which they wish to remove. There
will be a red LED indicating the “de-scan” process and will turn green when the process is complete. The
price on the LCD display would update the new prices for making the changes.
LCD Display
There will be 16x2 black characters on green LCD display mounted near the handle of the shopping cart
to show customers the accumulated price of the items in the shopping cart. This module takes digital
inputs from the microcontroller and converts the inputs to strings of characters.
5
Buttons
There will be a push buttons right beside the LCD display for user interaction. The push button is used to
activate the “de-scan” process. The buttons are normally opened and act as switches. One end is tied to
voltage of 5V and another end is connected to the input of the microcontroller. The input is tied to the
ground with a pull up resistor of 5 kΩ so that the voltage at each input is grounded when the switch is
open. The resistors will only draw power when the buttons are being pressed. When button is pressed, a
HIGH signal will be sent to the microcontroller and the signal is processed to determine whether to
delete the item from the shopping list.
Alarm (buzzer)
The piezo buzzer, acting as the alarm, is compatible with our 5V power supply and is loud enough to
overcome the background noises in a mall and be heard at a moderate distance, around 10 meters. The
alarm will sound when the cart detects that items are being moved out of the shopping mall without
being checked out first.
Cart Braking System
When act of thievery is detected, the cart braking system will be activated to slow down/stop the
shopping cart. To demonstrate the cart braking system, there will be an LED which will lights up to
indicate that the braking system is activated.
Database
The cloud database will store the price and weight of each item in the store as well as their respective
barcodes. There will be a simple database file built on our laptop to act as the cloud database.
Wifi Module
The Wifi module is an important communication media between the microcontroller and the database.
It will also communicate with RFID reader’s microcontroller to ensure the shopping carts’ statuses are
correct. The wifi module is also responsible in transferring the total price to be paid at the check out
station. Electric Imp, which is a relatively cheap and easy to program Wifi module will be used in this
project.
Microcontroller
The microcontroller is the brain of the whole shopping cart. It will be connected to the weight sensors,
the barcode scanner, the LCD display, the LED, the alarm, the cart brake as well as the wifi module. The
wifi shield and USB shield will be connected to the microcontroller and mounted on the same PCB. The
microcontroller is responsible for computing price, storing data and making decision. When it detects
the input from the push button and a reduction in weight from weight sensor at the same time, it will
allow items to be deleted from the shopping list and update the current total price. Our microcontroller
will be built based on the barbone of atmega328. Since atmega328 can share the same code with
arduino, it is easier for us to program it. In addition, it has a small SRAM for us to store the temporary
data so that we don’t need to build extra on chip storage component.
6
3.0 Block Level Requirements and Verification
3.1 Requirement & Verification
Requirements
Verifications
Rechargeable battery
1. Output rating of 4.5V to 5.5V of
voltage and 1A to 2A of
current.
2. Have enough capacity to last
for 5 to 6 hours without
charging.
Weight Sensors
1. Able to measure up to 50kg of
weight.
2. Weight as small as 1g should be
able to be detected by the
sensors.
3. The weights of the shopping
item have to be measured
accurately no matter what
location they are on the cart.
4. Able to be calibrated digitally.
Barcode scanner
1. Easiness in scanning a barcode
(usability). Usability of a score
of 3/5 10%. (5 is the maximum
score, indicating very easy to
use)
2. Functions for
Imax
for
=5V
Points
10
1. Verification process for item 1:
a. Measure the voltage and current output of the
power supply using multimeter.
2. Verification process for item 2:
a. Use a multimeter to measure the current
consumption of the running circuit. The
capacity needed in mAh is then calculated.
10
1. Verification process for item 1:
a. Apply weights starting from 10kg up to 50kg in
increments of 10kg while observing accuracy of
the sensors.
2. Verification process for item 2:
a. 1g of weight onto the sensors and observe the
measurement of the sensors. Then apply
weights from 2kg to 10kg in increments of 2kg
with and without the 1g weight to see if the
sensors are sensitive to the difference caused
by the 1g weight.
3. Verification process for item 3:
a. Use a plate (plastic/metal) that is wide enough
to cover the entire area of the cart and
measure the accuracy of the sensors when an
item is placed on different part of the plate.
4. Verification process for item 4:
a. Introduce an offset to the weight sensor by
applying weights in increment of 1kg from 1kg
to 10kg and then attempt to recalibrate the
sensor to 0 digitally.
20
1. Verification process for item 1:
a. Have 5 volunteers to use the barcode scanner
and rate the usability with a score from 1 to 5.
2. Verification process for item 2:
a. Connect the USB port of the barcode scanner
to a USB host shield. Power the USB host shield
with 5Vdc. Ensure barcode scanner can read
7
3. Able to read barcode with print
contrast 30%
4.
RFID Tag
1. Readable at most 2 inches from
the RFID Reader
User Interface
1. Able to receive input from
users via push buttons
2. Able to send data to be
displayed to LCD display
LCD display
1. Functions
Imax
barcode.
b. Attach 5V DC in series with ammeter to
of
USB host. Ensure Imax
3. Verification process for item 3:
a. Print barcode with contrast of -10% to -40%
(10% increment) on a sheet of paper.
b. Scan the barcode printed in different contrasts
and ensure the scanner is able to read the
barcode
4. Verification process for item 4:
a. Place the barcode and barcode scanner at 2mm
apart using ruler/measuring tape. Increment
the distance between the barcode and the
scanner to 800mm with an interval of 100mm.
b. Pass the test if the barcode reader is able to
read the barcode at all measuring points.
10
1. Verification process for item 1:
a. Place the RFID tag 1 inch from the RFID reader
and ensure RFID tag is read by RFID reader.
b. Repeat part (a) until the RFID tag is 2 inches
away from the reader with an interval of 0.2
inches.
5
1. Verification process for item 1:
a. Asks user to provide input to the interface via
push buttons and verify that the input reaches
the microcontroller.
2. Verification process for item 2:
a. Sends data to the LCD interface ensure that the
correct data is displayed properly.
5
for
for
2. Able to display string
characters and numbers
of
1. Verification process for item 1:
a. Connect a voltmeter to analog output pin and
apply variable voltage supply to Vin
b. Sweep variable voltage from 4.7V to 5.5V and
ensure analog output remains within the range
of Vin
c. Supply 5V DC in series with ammeter to Vin and
ensure Imax 10mA
2. Verification process for item 2:
a. Use Arduino to program and transfer
information to LCD display. Pass the test if the
LCD able to display the string of characters and
numbers
8
Alarm + Cart Braking System
1. Loudness of alarm needs to be
at
least
40dB
above
background noise level of the
shopping mall at a distance of
10m.
2. Apply enough friction to slow
down the cart to less than 3
mph (Average human walking
speed) when pushed by an
adult male.
3. Response time less than 0.15
seconds.
Database
1. Be able to store the price,
weight, barcode and name of
the products.
2. Be able to store the
information for 1000 different
products.
3. Information look up time
should be O(n), where n is the
number of products in the
database.
Wifi Module
1. Turn on the device with source
supply at 3.3 Vdc (+/- 10%)
2. The current drawn by the
device will not exceed 50 mA.
3. Be able to transfer data at the
5
1. Verification process for item 1:
a. Measure the background noise of the shopping
mall and the sound of the alarm at 10m.
b. Compare amplitude of both sound waves using
Audacity.
2. Verification process for item 2:
a. Turn on the braking system and make sure
brake is applied onto the wheels. Asks an adult
male to push the shopping cart.
b. Measure time taken to travel a distance of 5m.
Calculate velocity.
3. Verification process for item 3:
a. Hook up a wire from the trigger signal from the
microcontroller and a wire from the alarm and
braking system to the oscilloscope.
b. Observe and capture the waveform when the
trigger signal is sent.
c. Measure the time difference between the
pulse of the trigger signal and the pulse of the
alarm and braking signal.
5
1. Verification process for item 1:
a. Use a simple C/Python program to print out a
random product’s information from the
database.
b. Check whether it has all the required
information.
2. Verification process for item 2:
a. Use a simple C/Python program to count the
number of the products in the basebase.
b. Check whether it has more than 1000 products.
3. Verification process for item 3:
a. Use a simple C/Python program to do a random
product look up. Check whether the lookup
time is linear.
10
1. Verification process for item 1:
a. Turn on the device for 5s. Then use the
multimeter to test the voltage of the device.
Check whether the working is stable within the
3.3Vdc(+/- 10%) range.
2. Verification process for item 2:
a. Continue reading the current from the
multimeter. Check whether the current is less
9
rate of at least 100 KB/s
Microcontroller
1. Turn on the device with source
supply in the range of 3.3 to 5
Volts
2. When mounted to PCB, the
microcontroller should program
the Wifi module to transfer
data.
3. The processing speed should be
fast enough. From receiving a
barcode information from the
scanner to get ready for next
scanning activity, it should take
less than 50 ms.
than 50 mA.
3. Verification process for item 3:
a. Transfer a 5 MB file via the wifi module and use
a stopwatch to count whether the transfer time
is less than 50s.
20
1. Verification process for item 1:
a. Turn on the device for 5s. Then use the
multimeter to test the voltage of the device.
Check whether the working is stable within the
3.3-5 Volts range.
2. Verification process for item 2:
a. Run
ArduinoISP
via
Arduino
onto
microcontroller and burn bootloader. Connect
the microcontroller to the PCB.
b. Check on the server side(database) whether
there is data being transferred.
3. Verification process for item 3:
a. Use a simple C program to measure the time
difference between two scanning activities.
Repeat this 5 times and take the worst run
time. If the worst time difference is less than
50 ms, it passes the test.
3.2 Tolerance Analysis
The critical part of the design is the barcode scanner. If the barcode scanner fails to read the barcode,
the data of the items (price and weight) cannot be retrieved from the database and being used in the
microcontroller. The weight of the items sensed by the weight sensor has no data to compare with as
the weight registered by the barcode system failed to deliver to the microcontroller. Besides, the LCD
display would not be able to show the accumulated price of the shopping list to the customer. The
barcode scanner requires good motion tolerance, printing tolerance and working distance. A good
motion tolerance means no pauses between scans. The processing speed of the whole scanning process
(from scanning the first barcode to the next barcode) needs to be at most 50 ms in order to achieve high
performance. The tolerance is set at most 50 ms which should be less than human reaction time. The
user should not be waiting for the barcode to be able to make the next scan. The processing process is
shown as below
Barcode
Microcontroller
wifi module
database
This processing speed can be tested using Arduino and C programming language. The time difference
between the first barcode registered to the next barcode registered can be calculated using time library
in C code. The calculated time should be below 50 ms.
10
4.0 Cost and Schedule
4.1 Cost Analysis
Labor Cost
Employee
Kevin Kong
Mei Ling Yeoh
XianZe Zhan
Total
Hourly Rate($)
Total Hours Invested (Hr)
28.50
28.50
28.50
260
260
260
780
Total Labor Cost = Hourly Rate x Total
hours invested ($)
7,410.00
7,410.00
7,410.00
22,230.00
Parts Cost
Item
Parts Number
Manufacturer
Microcontroller
ATmega328
Atmel
1
5.50
5.50
Wifi module adapter
WRL-11395
Electric Imp
2
29.95
59.90
Wifi module shield
BOB-12886
Electric Imp
2
12.95
25.90
Weight sensor
SEN-10245
Sparkfun
4
10.00
40.00
Buzzer (alarm)
PS1240
TDK
1
8.50
8.50
LCD display
GDM1602K
XIAMEN OCULAR
1
7.07
7.07
Button
COM-09190
Sparkfun
1
0.50
0.50
Battery
899666N
Motorola
1
8.29
8.29
RFID reader
28440
parallax inc
1
39.99
39.99
RFID tag
32399
parallax inc
1
2.49
2.49
USB shield
MAX3421E
MAXIM
1
24.95
24.95
Barcode scanner
ELEKTR-DE8143638
SC3B
1
20.00
20.00
Total
Grand Total
Section
Labor
Parts
Grand Total
Qty
Price per item
Total Price
243.59
Total ($)
22,230.00
243.59
22473.59
11
4.2 Schedule
Week
Feb-8th
Feb-15th
Feb-22nd
Feb-29th
Mac-7th
Mac-14th
Mac-21st
Mac-28th
Apr-4th
Apr-11th
Apr-18th
Apr-25th
May-2nd
Tasks
Finalize project proposal
Flow Chart of design
Select & order parts
Design circuit for
Control system
Power, weight sensor, outputs
User interface, barcode scanner, RFID
Run test on
Control system
Power, weight sensor, outputs
User interface, barcode scanner, RFID
Program microcontroller
Assemble weight sensors
Assemble barcode scanner
Assemble RFID
Assemble alarm + brake
Assemble wifi module + microcontroller
Assemble switch + LCD
Assemble power
Run test on control system
Run test on user interface, barcode scanner
Run test on weight sensor, outputs
Run test on RFID
Run test on power
Bring all modules together
Run test on project
Verify functionality & durability
Debugging
Continue debugging
Fix any issue with design
Prepare for presentation
Prepare for demonstration
Finalize presentation
Finalize demonstration
Finalize presentation
Prepare final papers
Lab checkout
Finalize final papers
Responsibility
Mei Ling
XianZe
Kevin
XianZe
Kevin
Mei Ling
XianZe
Kevin
Mei Ling
XianZe
Kevin
Mei Ling
Mei Ling
Kevin
XianZe
Mei Ling
Kevin
XianZe
Mei ling
Kevin
XianZe
Kevin
Mei Ling
XianZe
Mei Ling
XianZe, Kevin
Mei Ling
XianZe, Kevin
XianZe
Kevin
Mei Ling
XianZe
Mei Ling
Kevin
XianZe
Mei Ling, Kevin
12