Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Information Technology
By:
Feraer, Reinier M.
Reyes, Jervin V.
October 2012
ii
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION
1.3. Objectives………………………………………………………........5
CHAPTER 3 METHODOLOGY
3.2. Methodology
4.1. Results
4.2. Discussion
6. Actual Testing……………………………………………............71
5.2. Conclusion………………………………………………………….83
5.3. Recommendation……………………………………………….......83
APPENDICES
LIST OF FIGURES
Figure 6 3 x 4 Keypad……………………………………………….............14
LIST OF TABLES
INTRODUCTION
needed by the people in their daily course of life. Push carts were used by the customers
to help them carry all of their bought goods, it carried a large amount of grocery items
which was hard for a human to carry and it had wheels so that customers can easily
One of the concerns that customers face during their time of purchasing their
grocery is how they can properly and wisely manage their budget. Customers tend to buy
Barcode readers were commonly used in the cashier counters inside the
supermarket. It was an electronic device used to read or scan printed barcode labels of the
products being sold in the supermarket. Like a flatbed scanner, it consisted of a light
source, a lens and a light sensor translating optical impulses into electrical ones.
Additionally, nearly all barcode readers contained decoder circuitry which analyzed the
barcode’s image data provided by the sensor and sending the barcode’s content to the
using small, low-power digital radios based on an IEEE 802 standard for personal area
2
networks. ZigBee devices were often used in mesh network form to transmit data over
long distances, passing data through intermediate devices to reach more distant ones. This
transmitter/receiver able to reach all of the devices. Any ZigBee device can be tasked
The project was about the innovation of the concept of a simple push cart. Push
carts made it easier for customers to move around and select products without having to
lift the heavy baggage of grocery items. A push cart was made up of the container basket,
the wheels and the bar to which the customer applied force in order to push the whole
cart. The project had the concept of adding new parts in the traditional push cart. One part
was the barcode scanner. This part was used in order to read/scan the product or item to
be purchased. Another part was the ZigBee module that will transmit or relay data from
the cart onto the counter where the total price of the accumulated products purchased was
calculated and a display of a list of all items purchased. Data was then sent back from the
counter to the cart and was displayed into another new part which was the LCD screen.
The description of the item scanned by the barcode reader and the total accumulated price
The barcode reader can only read items two inches away from the cart. Items
scanned beyond that range will not be read. The cart is powered by a battery that will last
3
for four hours. The range of the ZigBee module is only up to twenty to thirty meters,
The project inspired the researchers to create and combine different helpful
materials present in a grocery store such as a product barcode scanner, an LCD screen
and a push cart. With this kind of combined technology, customers will not have
difficulty in running around the store, buying stuff they need and still think of the total
price in their heads. Instead, they will have an automatic list of the items they bought and
SMART CART*
BATTERY LCD
BARCODE
MICROCONTROLLE KEYPAD
READER
R
ZIGBEE
(Transmitter)
Wireless
ZIGBEE
(Receiver)
CASHIER
people tend to buy unnecessary items which results in unnecessary expenses. Nowadays,
it is very important to budget our money in order for us to save for our future and
emergency use.
The Puregold Supermarket was currently operating in a traditional way which was
the first-come-first-serve basis and still the products were only scanned in the counter.
With the project, Puregold Supermarket can add a cashier stand which is only for Smart
Cart users which will decrease the queue time and at the same time will also help the
The Smart Cart was composed of a LCD screen display where customers can
view the items that they need to buy. By providing this, customers will be aided
throughout their grocery shopping in the supermarket. A barcode reader was also
provided for customers to read the barcode of the items which they are to purchase. With
the use of ZigBee module, the items read by the barcode reader will be sent to a computer
located at the cashier. ZigBee has the ability to send data over a long distance. So
anywhere inside the supermarket, the Smart Cart is fully functional and accurate. The
customer will then have to come to a designated counter wherein the customer will have
1.3. Objectives
The general objective of this project was to design a smart shopping cart that
would aid customers on how to wisely manage their grocery budget and to minimize or
b) to interface a LCD screen for the display of the item list and
reader
LCD screen for the display of the total amount of the items purchased and of
ZigBee Module for long-distance data transfer between the Smart Cart and a
Barcode scanning range will be up to only two inches away from the product.
Scanning beyond that range will not yield any scan results.
beyond the range will result to data loss (data will not be sent to counter).
scanning
Data traffic will be encountered sometimes due to the queuing of data and
frequency.
Keypad – a set of buttons arranged in a block or pad which usually bears digits,
display that uses the light modulating properties of liquid crystals (LCs). LCs
Push cart – wheeled vehicle that can be pushed by a person; may have one or two
or four wheels.
CHAPTER II
ZigBee Module
using small, low-power digital radios based on an IEEE 802 standard for personal
area networks. Applications include wireless light switches, electrical meters with
in-home-displays, and other consumer and industrial equipment that require short-
range wireless transfer of data at relatively low rates. The technology defined by
low cost allows the technology to be widely deployed in wireless control and
batteries. Mesh networking provides high reliability and more extensive range.
9
ZigBee chip vendors typically sell integrated radios and microcontrollers with
bands; 868 MHz in Europe, 915 MHz in the USA and Australia, and 2.4 GHz in
kilobits/second.
The ZigBee network layer natively supports both star and tree typical
networks, and generic mesh networks. Every network must have one coordinator
device, tasked with its creation, the control of its parameters and basic
maintenance. Within star networks, the coordinator must be the central node. Both
trees and meshes allow the use of ZigBee routers to extend communication at the
network level.
Barcode Reader
printed barcodes. Like a flatbed scanner, it consists of a light source, a lens and a
light sensor translating optical impulses into electrical ones. Additionally, nearly
all barcode readers contain decoder circuitry analyzing the barcode's image data
provided by the sensor and sending the barcode's content to the scanner's output
port.
from battery or rechargeable battery and required recharging at least after a shift
of operation.
A liquid crystal display (LCD) is a flat panel display, electronic visual display,
or video display that uses the light modulating properties of liquid crystals (LCs).
replaced cathode ray tube (CRT) displays in most applications. They are available
in a wider range of screen sizes than CRT and plasma displays, and since they do
not use phosphors, they cannot suffer image burn-in. LCDs are, however,
LCDs are more energy efficient and offer safer disposal than CRTs. Its
device made up of any number of segments filled with liquid crystals and arrayed
PIC Microcontroller
PICs are popular with both industrial developers and hobbyists alike due
to their low cost, wide availability, large user base, extensive collection of
application notes, availability of low cost or free development tools, and serial
cost ratio. The PIC architecture was among the first scalar CPU designs, and is
still among the simplest and cheapest. The Harvard architecture—in which
microcircuit design greatly, and this benefits clock speed, price, and power
consumption.
the program space. Such lookups take one instruction and two instruction cycles.
relatively large program space of the PIC (e.g. 4096 × 14-bit words on the
16F690) and by the design of the instruction set, which allows for embedded
14
have to be synchronized with the four clock instruction cycle; otherwise there can
be a one instruction cycle jitter. Internal interrupts are already synchronized. The
constant interrupt latency allows PICs to achieve interrupt driven low jitter timing
true in the newest PIC models, because they have a synchronous interrupt latency
Keypad
Figure 6. 3 x 4 Keypad
bear digits, symbols and usually a complete set of alphabetical letters. If it mostly
contains numbers then it can also be called a numeric keypad. Keypads are found
button telephones, combination locks, and digital door locks, which require
that the digits 1, 2, and 3 are on the bottom row. Whereas in a telephone keypad,
either in a home or mobile phone, digits 1, 2, and 3 are located on top. A phone
key-pad also has the special buttons labeled * (asterisk) and # (number sign) on
either side of the zero key. Most of the keys on a telephone also bear letters which
have had several auxiliary uses, such as remembering area codes or whole
telephone numbers.
upwards, together with the four arithmetic operations, the decimal point and other
Approximation has been developed. With this method, barcode localization and the
angular orientation of the barcode is obtained. In order to decipher barcode data, the
scan line obtained by barcode localization and angular orientation information are
16
used. However, the image resolution has to be good enough so that the barcode data
could be read properly. In this work, image quality is improved with the methods of
applications, and provide the convenience of wireless access control. The purpose of
this thesis is to demonstrate that such a concept is feasible, by implementing one such
application. The application developed in this thesis involves the shutting off of
ringing tones of mobile phones that enter a “silent” zone. Such a policy is enforced by
a Bluetooth access point situated in this “silent” zone. The access point will send out
a “beacon” signal to the mobile phone, via Bluetooth, telling it to shut down its
ringing tone. Another focus of this thesis is to ensure that this procedure is secure.
Both the mobile phone and access point will have to carry out an authentication
Since the 1980s, barcodes have become the backbone of supply chain
sectors have placed increasing emphasis on further streamlining SCM to deliver cost
17
savings. This has lead to a number of leading organizations introducing mandates for
organizations are unsure which technology, barcodes or RFID offers them the best
return. This thesis will aid stakeholders in understanding the advantages and
research will examine the importance of a global standard for RFID such as the
Electronic Product Code (EPC) and offer insight into the coexistence of barcodes and
RFID. The research will employ a thorough documentation review as well as several
addition, Matlab provides graphical design tools such as Simulink and Dials and
Gauges Blockset. This paper exploits the serial communication capability of PIC
microcontrollers and the Matlab software along with graphical design tools of Matlab
microcontroller projects. Three examples are included to illustrate that the integration
of low-cost PIC microcontrollers with the Matlab-based GUI environment allows data
processing unit and peripherals such as memory, timers, and input/output (I/O)
functions on an integrated circuit (IC). There are more than a hundred varieties of PIC
applications, making PICs one of the most popular microcontrollers for educational,
hobby, and industrial applications. Similar to other microcontrollers, PICs are usually
not designed to interface with human beings; instead they are directly embedded into
which have become a mainstay of many personal computer (PC) applications, are
Wireless communication has announced its arrival on big stage and the world
is going mobile. We want to control everything and without moving an inch. This
applications that ensures comfort and safety to human life. The main aim of the
project will be to design a SMS driven automatic display toolkit which can replace
cum display toolkit which can be programmed from an authorized mobile phone. The
toolkit receives the SMS, validates the sending Mobile Identification Number (MIN)
19
and displays the desired information after necessary code conversion. The system is
made efficient by using ‘clone’ SIMs of same MIN in a geographical area so that the
same SMS can be received by number of display boards in a locality using techniques
have improved upon it and tried to take advantage of the computing capabilities of
microcontroller. We envision a toolkit that will not only display message but also can
transfer in the campus, it is seen that important notice take time to be displayed in the
notice boards. This latency is not expected in most of the cases and must be avoided.
display boards in major access points. The electronics displays which are currently
used are programmable displays which need to be reprogrammed each time. This
makes it inefficient for immediate information transfer, and thus the display board
loses its importance. The GSM based display toolkit can be used as a add-on to these
display boards and make it truly wireless. The display board programs itself with the
help of the incoming SMS with proper validation. Such a system proves to be helpful
for immediate information transfer the system required for the purpose is nothing but
a Microcontroller based SMS box. The main components of the toolkit include
microcontroller, GSM modem. These components are integrated with the display
board and thus incorporate the wireless features. The GSM modem receives the SMS.
The AT commands are serially transferred to the modem through MAX232. In return
the modem transmits the stored message through the COM port. The microcontroller
validates the SMS and then displays the message in the LCD display board. Various
20
time division multiplexing techniques have been suggested to make the display
P89C51RD2BN. Matrix Simado GDT11 is used as the GSM modem. In the prototype
model, LCD display is used for simulation purpose. While implementation this can be
Network Application
paving the way for new paradigms in embedded computing systems. This, allied with
pushing forward the design of new Wireless Sensor Network (WSN) infrastructures
that will tightly interact with the physical environment, in a ubiquitous and pervasive
fashion. Such cyber-physical systems require a rethinking of the usual computing and
networking concepts, and given that the computing entities closely interact with their
system lifetime) that future large-scale networked embedded systems will impose.
With this purpose, in this Thesis we start by evaluating the network performance of
the IEEE 802.15.4 Slotted CSMA/CA (Carrier Sense Multiple Access with Collision
Avoidance) mechanism for different parameter settings, both through simulation and
21
networks (e.g. throughput, energy efficiency, message delay) against the hidden-
buffering and bandwidth requirements was tested and validated experimentally. This
case conditions and also to make the appropriate network settings. Our experimental
protocol stack to the ERIKA real-time operating system. This implementation was
Presently, there has been a world-wide spread use of cellular phones. Cellular
communication plays an important role in our daily life. It helps us locate and be in
touch with another person in a remote location. Since the Philippines being a
in the Philippine setting. Subscribers purchase consumable credits for their account in
preset denominations. These gave subscribers limited option to choose the amount
The University of Santo Tomas is a Wi-Fi ready campus, but not everyone is
capable of using its service due to some limitations. This limitations is due to the
exclusively of the Wi-Fi service to students, faculty, and other employees of the
University, who have unique given usernames and passwords. That’s why our team
have come up with the idea of the Wi-Fi Access Vending Machine, in which other
possible users, like guests and visitors, who doesn’t have official accounts to access
The group has made a vending machine where the user can purchase their
own username and password. It is connected to a database and a system which will
generate their user accounts that will be sent to their mobile numbers which they will
be asked to input in the vending machine. This study resulted to a much wider range
of accessibility, efficiency, and trouble-free use of the Wi-Fi service in UST. [De
CHAPTER III
The following were parts of the Smart Cart. The researchers assumed that the
following parts will greatly increase the performance of the machine in order to make the
ZigBee
using small, low-power digital radios based on an IEEE 802 standard for personal
area networks. Applications include wireless light switches, electrical meters with in-
home-displays, and other consumer and industrial equipment that require short-range
wireless transfer of data at relatively low rates. The technology defined by the ZigBee
specification is intended to be simpler and less expensive than other WPANs, such as
Bluetooth. This served as the transmitter and receiver of signal in the counter-to-cart
data transmission.
Barcode Reader
printed barcodes. The Barcode Reader served a great purpose for the Smart Cart
system because it was the one tasked to read the products’ barcode label. It will then
24
send a relay message to the machine to tally and total the price of the user’s grocery
items.
television, instrument panels, aircraft cockpit displays, signage, etc. They are
common in consumer devices such as video players, gaming devices, clocks, watches,
calculators, and telephones. LCDs have replaced cathode ray tube (CRT) displays in
most applications. They are available in a wider range of screen sizes than CRT and
plasma displays, and since they do not use phosphors, they cannot suffer image burn-
in. LCDs are, however, susceptible to image persistence. This part was the one to
interact with the customer. This was where the customer can see all of the products
he/she bought from the grocery store as well as the budget and the total price of the
products.
PIC Microcontroller
PICs are popular with both industrial developers and hobbyists alike due to
their low cost, wide availability, large user base, extensive collection of application
notes, availability of low cost or free development tools, and serial programming (and
Keypad
This part was where the customer can input the budget that he/she has for
grocery items. This was intended to be the input device for the customer.
PIC Kit
Computer Unit
This hardware specification was used as the cashier side of the product. It
receives data sent by the cart then stores that data in the database. Later, the data
would be queried by the system in order for the cashier to check whether the items
bought match the items in the query. This part was also the one that would end the
POS transaction.
The researchers used the following programs in order to develop the system
This software enabled the researchers to create, edit and debug the program
Microsoft Access
This was the database software that was used for the development of the
This software enabled the researchers to create the interface for the cashier
which was connected to the Smart Cart through the use of the ZigBee Module.
3.2. Methodology
Analysis
Gathering
Design
Construction
Testing
Deployment
Maintenance
In developing the Smart Cart, the researchers used the Waterfall model. This type
of system development life cycle approach assumes that the various phases of the project
development can be carried out and completed entirely in a sequential manner. One
completed phase leads into the next phase. Its progress is seen as flowing steadily
This phase focused on determining and analyzing the problem that the
researchers want to solve. This phase determined the scope and processes that took
place all throughout the entire research. Information gathering was also included in
this phase.
Gathering of Materials
In this phase, the researchers gathered the materials for the Smart Cart and
took into consideration different designs in order to fully comprehend and create a
design that will be convenient for the customer. Gathered materials were either
This phase focused on designing the actual Smart Cart and the system
software that the researchers used. Different designs were considered to fully
28
integrate a functioning prototype of the cart. User interaction was the top priority
basis for considerations of the designing of the system of the Smart Cart.
After the Design Phase, the researchers immediately started the construction
of the system of the Smart Cart including the MCU and Visual Basic programs and its
database. This also included the construction of the circuitry of the system that
enabled the functionality of all the components of the Smart Cart. This phase
probably took two full months due to the fact that the researchers took into
After construction, the researchers tested the kiosk in order to determine any
problem in the machine and the system. The researchers immediately solved any
problem. Problems that occurred were tallied upon recognition for future references.
Deployment
After ensuring that problems encountered during the testing phase was
eliminated or diverted, the researchers prepared for the deployment phase. The
researchers coordinated with the owner to know the date of the deployment of the cart
in the convenience store. This phase only took a maximum of three days because
Maintenance
In this phase, the researchers monitored the Smart Cart’s performance and
benefits. Problems that occurred were given immediate action from the researchers.
During this phase, survey and analysis of the cart’s performance were evaluated
through questionnaires that were handed out to the owner and the customers.
SMART CART*
BATTERY LCD
BARCODE
MICROCONTROLLE KEYPAD
READER
R
ZIGBEE
(Transmitter)
Wireless
ZIGBEE
(Receiver)
CASHIER
The Smart Cart was composed of two major parts: the Smart Cart itself and the
Cashier. The Smart Cart was constructed with a Liquid Crystal Display (LCD) screen for
display, a Barcode Reader for reading barcode labels of products, a Keypad for user input
and for using other functions such as mode selector and enter/cancel, a battery for power
source, and a ZigBee Module for wireless transmission of data. The Cashier was
30
primarily a computer unit running the Visual Basic program, a database, and a ZigBee
Module also for wireless transmission. These components worked together to make the
innovative machine.
The entire system of the Smart Cart worked with all the components functioning
properly. This flowchart showed how data processes throughout the system.
START
INITIALIZE VARIABLE
INITIALIZE CONFIGURATION
NO
RETRIEVE LAST
START DATA
NEW?
YES
CLEAR DATA
CONNECT TO SERVER
ENTER
X BUDGET
MODE = 1 MODE = 2
MODE Y
MODE Y
A X
B
A B
NO NO
CURRENT IS ITEM IN
BUDGET > ITEM DATABAS
PRICE E?
WARNING YES YES
DISPLAY DISPLAY
TOTAL TOTAL
AMOUNT AMOUNT
DONE?
YES
GO TO CASHIER
GIVE CART
NUMBER
CHECK ITEM
(CART TO CASHIER ITEM LIST)
CLEAR DATA
START
The Smart Cart, when turned on connects to the server and prompts the user to
either start a new transaction or retrieve the last one. Retrieving the last transaction mode
was provided to support power loss or unexpected error occurring throughout the system.
The user is prompted to input his/her desired budget for his/her whole grocery shopping.
Exceeding the budget does not stop the customer transaction but only provides a message
that the user is exceeding his/her budget. After doing so, the user is given the choice of
32
scanning desired products or using the product locator. The product locater provides the
user to easily locate product aisle numbers. When the user scans the barcode label of
products, the user is to add or delete the item in his/her grocery list. The system also
displays product information like the product name and price and the total accumulated
price of the entire transaction. When the user is done with his/her shopping, the user is to
The researchers presented this part in a manner of question and answer type in
order for readers to easily understand this capstone. The answers were provided
2. What will be used to transmit data from the A ZigBee transmitter and a
8. How will the customer pay? customer can directly pay to the
cashier.
The following diagram illustrates the use case scenarios and their
corresponding actors.
SWITCH
INPUT
BUDGET
KEYPAD
CHANGE
MODE
CASH
REGISTER
CHECK
COLLECT ITEMS
PAYMENT
The table specifies what the actor could do during the process of studying
and testing.
The Smart Cart featured a barcode reader that scanned the product’s code. The
machine only read products with a barcode. The machine also had a Liquid Crystal
Display (LCD) screen to aid customers with their proper budgeting and to view other
difficulty to the machine. The machine used a ZigBee Module for long distance data
transfer within the supermarket and for multiple frequency accommodation. The products
and its prices scanned through the barcode reader were sent to the computer/server
36
located at the counter. After the customer was done with his/her shopping, he/she only
had to go to the cashier for the payment of all the merchandise bought.
37
CHAPTER IV
This chapter was about the results and discussion that of which the researchers
performed throughout the creation of the prototype. Material and module testing and
evaluation were very crucial to the performance and results of the prototype.
4.1. Results
The connection of LCD to Microcontroller and its function was tested in order
to see whether the LCD works and if it outputs the right characters that the user needs
to see. The LCD was tested with one scenario input where it should display budget
input and the product information. There were fourteen tests conducted until the LCD
It displayed
To be able to Budget input and Unsuccessful;
the right
display the product String format
July 17, information
1 budget input information will in the
2012 but on the
and product be displayed in assembly code
wrong
information desired position must be exact
position
It displayed
error
39
It displayed
To be able to Budget input and Successful;
the budget
display the product The string
July 25, and product
3 budget input information will format in the
2012 information in
and product be displayed in assembly code
the desired
information desired position is fixed
position
It displayed
To be able to Budget input and
the budget
display the product
August 1, and product
4 budget input information will Successful
2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
August 5, and product
5 budget input information will Successful
2012 information in
and product be displayed in
the desired
information desired position
position
40
It displayed
To be able to Budget input and
the budget
display the product
August and product
6 budget input information will Successful
12, 2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
August and product
7 budget input information will Successful
15, 2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
August and product
8 budget input information will Successful
22, 2012 information in
and product be displayed in
the desired
information desired position
position
41
It displayed
To be able to Budget input and
the budget
display the product
September and product
9 budget input information will Successful
5, 2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
September and product
10 budget input information will Successful
10, 2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
September and product
11 budget input information will Successful
12, 2012 information in
and product be displayed in
the desired
information desired position
position
42
It displayed
To be able to Budget input and
the budget
display the product
September and product
12 budget input information will Successful
15, 2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
September and product
13 budget input information will Successful
18, 2012 information in
and product be displayed in
the desired
information desired position
position
It displayed
To be able to Budget input and
the budget
display the product
September and product
14 budget input information will Successful
22, 2012 information in
and product be displayed in
the desired
information desired position
position
The connection between the keypad and the microcontroller was tested to
monitor whether the keypad was functioning according to its purpose. Testing
procedure was in fourteen tries until the user can input the right budget and use other
To be able to
To be able to
Unsuccessful;
input desired
When the
budget and All keys must be The end
button is
July 18, use other functioning and transaction
2 pressed it goes
2012 buttons for producing desired button was
inside an
other output not working.
endless loop
functions of
in the function
the Smart Cart
45
To be able to
Successful;
input desired
All keys are closing tags
budget and All keys must be
functioning for the
July 25, use other functioning and
3 according to assembly code
2012 buttons for producing desired
the target is fixed where
other output
result the loop
functions of
occurs
the Smart Cart
To be able to
input desired
All keys are
budget and All keys must be
functioning
August 1, use other functioning and
4 according to Successful
2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
August 5, use other functioning and
5 according to Successful
2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
August use other functioning and
6 according to Successful
12, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
August use other functioning and
7 according to Successful
15, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
August use other functioning and
according to Successful
8
22, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
September use other functioning and
9 according to Successful
5, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
September use other functioning and
10 according to Successful
10, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
September use other functioning and
11 according to Successful
12, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
September use other functioning and
12 according to Successful
15, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
September use other functioning and
13 according to Successful
18, 2012 buttons for producing desired
the target
other output
result
functions of
To be able to
input desired
All keys are
budget and All keys must be
functioning
September use other functioning and
14 according to Successful
22, 2012 buttons for producing desired
the target
other output
result
functions of
The ZigBee Module acted as the transmitter/receiver for the data of the
system. The connection between the ZigBee and the Microcontroller was tested in
order to know if the ZigBee really transmits/receives data as the user scans the
Unsuccessful;
To be able to
The Visual
transmit and
July 17, Data transmitted Slow response Basic
1 receive data
2012 at real-time time interfacing
from a certain
code was not
distance
sufficient
To be able to Unsuccessful;
Fast response
transmit and Retransmission
July 25, Data transmitted time but no
3 receive data of data must be
2012 at real-time retransmission
from a certain included in the
of data
distance algorithm
53
Successful;
Code handling
To be able to Fast response
in transmission
transmit and in
August 1, Data transmitted must be
4 receive data transmitting
2012 at real-time effective.
from a certain and receiving
Correct ports
distance data
and newer
syntax
transmit and in
August 5, Data transmitted
5 receive data transmitting Successful
2012 at real-time
from a certain and receiving
distance data
transmit and in
August Data transmitted
6 receive data transmitting Successful
12, 2012 at real-time
from a certain and receiving
distance data
54
transmit and in
August Data transmitted
7 receive data transmitting Successful
15, 2012 at real-time
from a certain and receiving
distance data
transmit and in
August Data transmitted
8 receive data transmitting Successful
22, 2012 at real-time
from a certain and receiving
distance data
transmit and in
September Data transmitted
9 receive data transmitting Successful
5, 2012 at real-time
from a certain and receiving
distance data
transmit and in
September Data transmitted
10 receive data transmitting Successful
10, 2012 at real-time
from a certain and receiving
distance data
55
transmit and in
September Data transmitted
11 receive data transmitting Successful
12, 2012 at real-time
from a certain and receiving
distance data
transmit and in
September Data transmitted
12 receive data transmitting Successful
15, 2012 at real-time
from a certain and receiving
distance data
transmit and in
September Data transmitted
13 receive data transmitting Successful
18, 2012 at real-time
from a certain and receiving
distance data
56
transmit and in
September Data transmitted
14 receive data transmitting Successful
22, 2012 at real-time
from a certain and receiving
distance data
The connection between the barcode reader and the microcontroller was tested
in order to determine if the microcontroller can really receive the data scanned by the
barcode. Testing procedure was done in fourteen tries with separate dates until the
barcode scanner could scan the correct barcode label and the microcontroller can
Unsuccessful;
To be able to Accurate scan and
July 17, Not the connected
1 scan products’ barcode label is
2012 Functioning is not plug
barcode label correct
correctly
58
Unsuccessful;
The
To be able to Accurate scan and
July 18, Still not connection for
2 scan products’ barcode label is
2012 Functioning the circuit
barcode label correct
board is
wrong.
Successful;
board
Completely
To be able to Accurate scan and
August 1, functioning
4 scan products’ barcode label is Successful
2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
August 5, functioning
5 scan products’ barcode label is Successful
2012 with desired
barcode label correct
results
59
Completely
To be able to Accurate scan and
August functioning
6 scan products’ barcode label is Successful
12, 2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
August functioning
7 scan products’ barcode label is Successful
15, 2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
August functioning
8 scan products’ barcode label is Successful
22, 2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
September functioning
9 scan products’ barcode label is Successful
5, 2012 with desired
barcode label correct
results
60
Completely
To be able to Accurate scan and
September functioning
10 scan products’ barcode label is Successful
10, 2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
September functioning
11 scan products’ barcode label is Successful
12, 2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
September functioning
12 scan products’ barcode label is Successful
15, 2012 with desired
barcode label correct
results
Completely
To be able to Accurate scan and
September functioning
13 scan products’ barcode label is Successful
18, 2012 with desired
barcode label correct
results
61
Completely
To be able to Accurate scan and
September functioning
14 scan products’ barcode label is Successful
22, 2012 with desired
barcode label correct
results
The connection of the entire Smart Cart was tested in order to determine if the
cart system really functions. These testing procedures would let the researchers know
if the entire Smart Cart system works and perform all its functions. Testing procedure
of the entire system should be like the other testing procedures of the individual parts.
There were twelve tries until the entire system turned on and did its basic functions.
62
The Visual
Basic
To be able to Unsuccessful;
Program start up interface
September start up the The LCD was
and device start
1 program is up
22, 2012 system and not connected
up but the device
the device properly
displays
nothing
The VB Successful;
To be able to
Program start up interface is up Proper
September start up the
2 and device start and running connection for
22, 2012 system and
up as well as the the LCD was
the device
device made
The program
Successful;
To be able to LCD will display proceeded
September Debugging for
start a new a budget input
3 with the next
23, 2012 assembly is
transaction line. step, which is
successful.
budget input
64
Unsuccessful;
The loop
Produce the
To be able to The cursor is counter in the
September correct characters
4 input desired not moving to assembly
23, 2012 and proper
budget the next space program is not
alignment
correctly
entered
Successful;
Desired result
alignment sufficient
needs
65
Successful;
Proper Item was
correct code
Unsuccessful;
For the
To be able to Correct values of The Visual
subtract mode
September view the total price for add Basic code for
7 it was not
25, 2012 correct values item and subtract the subtract
transmitting
of total price item method is
data
incomplete
Unsuccessful;
To be able to The device
Correct total The Visual
retrieve old keeps on
September value for old basic code
transaction in waiting for
9
26, 2012 transaction is case statement
case of loss of the total
displayed is not ended
power value.
properly
To be able to Unsuccessful;
Correct total The device
retrieve old
September value for old keeps on The value for
10 transaction in
26, 2012 transaction is waiting for the reply
case of loss of
displayed the total value packet was
power not initialized
Successful;
The Visual
To be able to
Correct total Basic code
retrieve old Retrieved the
September value for old was corrected;
11 transaction in correct total
26,2012 transaction is Value for
case of loss of value
displayed reply packets
power
was initialized
properly
67
To be able to
Desired Successful;
Item categories
locate the
output was Correct
September section must be
categories of
achieved, database
12
27, 2012 displayed
item using the
sections for queries for the
successfully
feature of the
item program code
system
4.2. Discussion
In order to display characters in the LCD, connect the corresponding LCD pin
assignment to the microcontroller. Hence, the communication between the LCD and
All available keys in the keypad were fully used in the system. The numbers
are used to input the desired budget of the customer for his/her shopping. The digit 1
and 2 buttons were used for two purposes: selection of mode between stating a new
scanning an item barcode and using the item locator. The ‘*’ and ‘#’ were also used
in the system for two purposes: Enter/Cancel and Mode Switching. For the
enter/cancel function, the button ‘*’ is used to enter the customer’s desired budget
while the ‘#’ is used to delete/cancel errors in the budget input. For the mode
switching function, the button ‘#’ is used to enable the add mode (+) which is for
adding items in the customer’s transaction while the ‘*’ is used for minus mode (-)
as well as a data transmitter. The computer unit also has a ZigBee module connected
to it. Once a product barcode has been scanned using the barcode scanner, the ZigBee
Module transmits the data to the computer unit. The computer unit looks for the
corresponding barcode inside its database. When the barcode has been located, the
ZigBee Module connected to the computer transmits the data back to the
microcontroller.
The ZigBee Module connected to the microcontroller and the computer unit is
working properly but it is limited for particular range. When the ZigBee Module is
not in its range, it does not transmit or receive any data causing transmission delays.
barcode reader used in the system is connected using the PS/2 connector because the
microcontroller does not support new barcode readers that are connected using the
USB port.
barcode reader only reads/scans a barcode label if fired from a very short distance. If
70
it is fired from a distance greater than its range, the barcode does not capture the
In order to interface the whole system, several trials were needed to confirm
the full functionality of the system. The first thing we did was to start up the system
as a whole, 12V was needed for the device, and the Visual Basic interface must be
also started for the device to function. Minimal errors for hardware were encountered.
Most of it was unattached connections. Most errors occur inside the software
programs. Some were initializations of variables and proper ending statement for
loops. The functionality of the Point-of-Sale was completely functioning. The device
was complete running and compatible for the Visual Basic interface along with the
proper database. Overall, the prototype was successfully performing its features and
functions.
71
6. Actual Testing
A. Device Image
B. Cashier Image
72
C. System Startup
D. New Transaction
73
F. Sending Success
G. Entering Budget
74
J. Choices of Mode
76
L. Product Scanned
77
N. Delete Item
O. Cancel Item
78
P. Product Locator
Page Up
Page Down
79
Re-enter Budget
80
Zigbee
Module)
Desired output
Corned Php
1 5 meters achieved 32.00 Successful Successful
Beef 32.00
Php scanned
Desired output
Corned Php
2 10 meters achieved 32.00 Successful Successful
Beef 32.00
Php scanned
81
Zigbee
Module)
Desired output
Corned Php
3 15 meters achieved 32.00 Successful Successful
Beef 32.00
Php scanned
Desired output
Corned Php
4 20 meters achieved 32.00 Successful Successful
Beef 32.00
Php scanned
Desired output
Corned Php
5 25 meters achieved 32.00 Successful Successful
Beef 32.00
Php scanned
Desired output
Corned Php
6 30 meters achieved 32.00 Successful Unsuccessful
Beef 32.00
Php scanned
Desired output
Corned Php
7 35 meters achieved 32.00 Unsuccessful Unsuccessful
Beef 32.00
Php scanned
CHAPTER V
This chapter presented the summary description of the conduct of the project and
its findings. The conclusion was based on the analysis of the data gathered and some
Several tests were conducted by the researchers. Based from the results, a total
of 12V is needed to power up the system including the ZigBee Module, LCD screen,
With the use of Smart Cart, shoppers can easily input their budget with simple
readable instructions. When the user is exceeding the budget, the buzzer will sound
that is strong enough to be heard by the user. Several functions were also added to
make the user comfortable such as the default mode which is add (+) item. Users can
also remove item and most of all when the user is finished, there is a dedicated lane
With these features, the utility of the system is convenient and very useful.
5.2. Conclusion
After several trial and errors, the researchers concluded that the prototype will
provide a better quality of market in most of the grocery stores, most especially to the
users who will be experiencing the ease of shopping. The prototype will provide the
users a budget input that will remind them if they exceed or not but it will not limit
them and of course the ease of payment, when they arrive at the counter their items
The researchers therefore conclude that “Smart Cart” system is anytime ready
for implementation not only in small grocery stores but also in big markets, with the
innovation of a ZigBee Module, the data can be networked which will produce
optimization for the market owners to lessen the workload of employee and time
queue of customers.
5.3. Recommendations
the data and the receiver. In due time when it is available, the system’s
barcode scanner can be mounted so that the user can easily scan the item.
84
2. The system can include an RFID, with RFID provided at the cashier area,
when the user enters the lane items in the cart are automatically scanned and
6. For the transmission of data, more efficient codes for the microcontroller and
Loop TempRs("Amount") =
Val(txtQty.Text) * Val(txtPrice.Text)
lblItems.Caption = Rs.RecordCount 'Val(TempRs("Price"))
tempTotalItems = Else
Val(Rs.RecordCount)
TempRs("Amount") =
txtTotalAmount.Text = Val(txtQty.Text) * Val(txtPrice.Text)
Format(TotalAmount, "##.00")
End If
Else
TempRs.Update
End If
End If
End Sub
Set TempRs = Nothing
Private Sub cmdModify_Click()
TotalAmount = "0"
If cmdModify.Caption = "Modify" Then
Call cmdFind_Click
txtQty.Locked = False
txtQty.Enabled = True End If
cmdModify.Caption = "OK"
End Sub
Else
Private Sub cmdMyReply_Click()
txtQty.Locked = True
txtQty.Enabled = False myDirective = "Y"
cmdModify.Caption = "Modify" myBarCode = "1" '"76164088"
myCartID = "12345678"
Set TempRs = New
ADODB.Recordset sItemNo = Trim$(myBarCode)
'Trim(txttempItemNo.Text)
TempRs.Open "Select * From sCartNo = "00000001" 'myCartID
tblTransactions Where CartNo='" & '"01"
txtCartNo.Text & "' AND ItemNo='" &
Call cmdSendReply
End Sub If IsNumeric(txtCash.Text) = True
And Val(txtCash.Text) >=
Private Sub cmdNew_Click() Val(txtTotalAmount.Text) Then
Loop Rs.AddNew
End If Rs("CashReceived") =
txtCash.Text
Set Rs = Nothing Rs("Change") = txtChange.Text
Rs("TotalAmt") =
TotalAmount = "0" txtTotalAmount.Text
lblItems.Caption = "0" Rs("TotalItems") =
txtItemNo.Text = "" tempTotalItems
txtDescription.Text = "" Rs("LogDate") = Format(Now,
txtItemCode.Text = "" "mm/dd/yyyy")
txtCategory.Text = "" Rs("LogTime") = Format(Now,
txtPrice.Text = "" "hh:mm:ss AM/PM")
txtQty.Text = ""
txtTotalAmount.Text = "0.00" Rs.Update
txtCash.Text = "0.00"
txtChange.Text = "0.00 " Else
lstItem.Clear
MsgBox "Please Check Your
Call cmdFind_Click Input!", vbExclamation, "Message"
lblPacket.Caption = End If
"ADVERTISEMENT REQUEST"
Set TempRs = Nothing
'productPrice =
Case "O" CDbl(txtPacket(1).Text)
replyPacket = End If
replyPacket & "X"
Case "T" ' Transmit Promo Details
End If
'replyPacket =
End If CStr(txtPacket(3).Text) & String$(80 -
Len(txtPacket(3).Text), Chr(32))
Set Rs = Nothing
Set Rs = New
ElseIf myDirective = "P" Then ADODB.Recordset
If Rs("PromoStats") = End If
"Yes" Then
Set Rs = Nothing
productPrice =
CDbl(Rs("PromoPrice")) Case "A", "B" ' A-Add Regular
Price , B-Add Promo Price
replyPacket = String$(10
- Len(productName), Chr(32)) & 'TotalAmount =
CStr(productName) & _ CDbl(txtPacket(2).Text)
String$(10 -
Len(FormatNumber(productPrice, 2, , , 'productName =
vbFalse)), Chr(32)) & txtPacket(0).Text
FormatNumber(productPrice, 2, , ,
vbFalse) 'productPrice =
CDbl(txtPacket(1).Text)
replyPacket =
replyPacket & "P" If myDirective = "A" Then ' Add
Regular Price
'TempRs("ItemNo") =
Set Rs = New Val(sItemNo)
ADODB.Recordset 'TempRs("Qty") = "1"
'TempRs("Amount") =
Rs.Open "Select * From Val(Price) * 1
tblProducts Where ItemNo='" & 'TempRs("Price") =
sItemNo & "'", Adoconn, 1, 2 Val(Price)
'TempRs("Status") =
If Rs.RecordCount > 0 Then "New"
'TotalAmount =
Price = Rs("Price") TempRs("Amount")
End If TempRs.AddNew
End If TempRs.AddNew
Set TempRs = New
ADODB.Recordset TempRs("CartNo") =
sCartNo
TempRs.Open "Select * From TempRs("ItemNo") =
tblTransactions Where CartNo='" & Val(Trim$(myBarCode))
sCartNo & "' AND ItemNo='" & TempRs("Qty") = "1"
Trim$(myBarCode) & "' AND TempRs("Amount") =
Status='New'", Adoconn, 1, 2 Val(Price) * 1
'TempRs.Open "Select * TempRs("Price") =
From tblTransactions", Adoconn, 1, 2 Val(Price)
TempRs("Status") =
If TempRs.RecordCount > 0 "New"
Then TotalAmount =
TempRs("Amount")
TempRs("Qty") =
Val(TempRs("Qty") + 1) TempRs.Update
TempRs("Amount") =
Val(TempRs("Amount")) + Val(Price) End If
TotalAmount =
TempRs("Amount") End If
TempRs.Update
'Compute Total Amount
'TempRs.AddNew Set Rs = New
ADODB.Recordset
'TempRs("CartNo") =
sCartNo Rs.Open "Select Sum(Amount)
'TempRs("ItemNo") = as TotalAmt From tblTransactions
Val(Trim$(myBarCode)) Where CartNo='" & sCartNo & "'",
'TempRs("Qty") = "1" Adoconn, 1, 2
'TempRs("Amount") =
Val(Price) * 1 If Rs.RecordCount > 0 Then
TotalAmount = productName = Rs("Code")
Rs("TotalAmt")
Set Rs = Nothing 'productPrice =
CDbl(Rs("Price"))
End If
Set Rs = Nothing
replyPacket = String$(10 -
Len(FormatNumber(TotalAmount, 2, , , End If
vbFalse)), Chr(32)) & Set TempRs = New
FormatNumber(TotalAmount, 2, , , ADODB.Recordset
vbFalse) & _
String$(10 - TempRs.Open "Select * From
Len(productName), Chr(32)) & tblTransactions Where CartNo='" &
CStr(productName) & _ sCartNo & "' AND ItemNo='" &
String$(10 - sItemNo & "' AND Status='New' AND
Len(FormatNumber(productPrice, 2, , , Amount > 0", Adoconn, 1, 2
vbFalse)), Chr(32)) &
FormatNumber(productPrice, 2, , , If TempRs.RecordCount > 0
vbFalse) Then
'TotalAmount = TempRs("Amount") =
CDbl(txtPacket(2).Text) Val(TempRs("Amount")) - Val(Price)
TempRs("Qty") =
'productName = Val(TempRs("Qty")) - 1
txtPacket(0).Text
TotalAmount =
'productPrice = TempRs("Amount")
CDbl(txtPacket(1).Text)
TempRs.Update
If myDirective = "M" Then '
Remove Regular price End If
Price = Rs("Price")
TempRs.Open "Select * From sItemNo & "' AND Status='New' AND
tblTransactions Where CartNo='" & Amount > 0", Adoconn, 1, 2
sCartNo & "' AND ItemNo='" &
sItemNo & "' AND Status='New'", If TempRs.RecordCount > 0
Adoconn, 1, 2 Then
TempRs.Delete TempRs("Amount") =
Val(TempRs("Amount")) - Val(Price)
End If TempRs("Qty") =
Val(TempRs("Qty")) - 1
Set TempRs = Nothing
TotalAmount =
End If TempRs("Amount")
End If End If
End Sub
Rs("Description") =
Private Sub cmdExit_Click() UCase(txtDescription.Text)
Rs("Code") = UCase(txtCode.Text)
Unload Me Rs("Price") = UCase(txtPrice.Text)
Rs("Category") =
End Sub UCase(cmboCategory.Text)
End If
If MsgBox("Add This New Item?",
End Sub vbYesNo + vbQuestion, "Save New
Item") = vbYes Then
Private Sub cmdNew_Click()
Set Rs = New ADODB.Recordset
Call ClearText Rs.Open "Select * From tblProducts",
Call UnLockText Adoconn, 1, 2
txtDescription.Text = Else
UCase(Rs("Description"))
txtCode.Text = UCase(Rs("Code")) On Error Resume Next
txtPrice.Text = UCase(Rs("Price")) txtPrice.Text = Mid(txtPrice.Text, 1,
cmboCategory.Text = Len(txtPrice.Text) - 1)
UCase(Rs("Category")) txtPrice.SetFocus
Else End If
xID = 1
LOCATOR
End If
Dim xID As Integer
Dim mytotalrec As Integer Call NagivateRecord(xID)
Rs.Update TempRs.MoveFirst
x=0 Loop
Call ConnectDatabase
lblTotalRecord.Caption = "Total
Call PopulateDatalist Records:" &
Format(TempRs.RecordCount)
Set TempRs = New ADODB.Recordset
TempRs.Open "Select * From Set lstItem = Nothing
tblLocator", Adoconn, 1, 2
End If
If TempRs.RecordCount > 0 Then
End Sub
txtCatName.Text & "%') Order By
Private Sub NagivateRecord(ByVal Category Asc", Adoconn, 1, 2
myID As Integer) '
'If TempRs.RecordCount > 0 Then
On Error Resume Next '
Set Rs = New ADODB.Recordset ' txtID.Text = TempRs("ID")
' txtCatCode.Text =
Rs.Open "Select * From tblLocator TempRs("CatCode")
Where ID=" & myID & "", Adoconn, 1, ' txtAisleNo.Text =
2 TempRs("AisleNo")
'
If Rs.RecordCount > 0 Then ' TempRs.MoveFirst
'
txtID.Text = Rs("ID") ' Do Until TempRs.EOF
txtCatName.Text = Rs("Category") '
txtCatCode.Text = Rs("CatCode") ' Set lstItem =
txtAisleNo.Text = Rs("AisleNo") lstDatalist.ListItems.Add(, ,
TempRs("ID"))
Else '
' lstItem.SubItems(1) =
txtCatName.Text = "" TempRs("AisleNo")
txtCatCode.Text = "" ' lstItem.SubItems(2) =
txtAisleNo.Text = "" TempRs("Category")
' lstItem.SubItems(3) =
End If TempRs("CatCode")
'
Set Rs = Nothing ' TempRs.MoveNext
'
End Sub '
' Loop
Private Sub lstDatalist_ItemClick(ByVal '
Item As MSComctlLib.ListItem) ' lblTotalRecord.Caption = "Total
Records:" &
txtID.Text = Item.Text Format(TempRs.RecordCount)
'
End Sub '
' Set lstItem = Nothing
Private Sub txtCatName_Change() '
'End If
'On Error Resume Next '
'lstDatalist.ListItems.Clear '
' End Sub
'Set TempRs = New ADODB.Recordset
'TempRs.Open "Select * From Private Sub txtID_Change()
tblLocator Where Category Like ('" &
If txtID.Text <> "" And
IsNumeric(txtID.Text) = True Then End Sub
Public Sub Wait(dwDuration As Long)
NagivateRecord (txtID.Text) 'Delay Execution between routine or
command line
Else Dim dblStart As Double, dblEnd As
Double, dblNow As Double
txtCatName.Text = ""
txtCatCode.Text = "" dblStart = Timer
txtAisleNo.Text = "" dblEnd = Timer + (dwDuration /
1000)
End If Do
dblNow = Timer
End Sub DoEvents
Loop Until dblNow < dblStart Or
dblNow > dblEnd
DATABASE CONNECTION End Sub
Adoconn.Open
"Provider=Microsoft.Jet.OLEDB.4.0;Da
ta Source=" & App.Path &
"\Database\SmartCart.mdb;Persist
Security Info=False"
Device 16F877A
Declare Xtal 20
Declare Watchdog = OFF
Declare FSR_CONTEXT_SAVE = On
Declare All_Digital True
Remarks On
Declare Serial_Data 8
TRISA = $C0
TRISB = $F8
TRISC = $03
TRISD = $02
TRISE = $07
DelayMS 500
myBuzz = 1
cartID = 1
For gCtr = 0 To 9
priceSTR[gCtr] = 32
totalSTR[gCtr] = 32
pNameSTR[gCtr] = 32
Next gCtr
priceSTR[10] = 0
totalSTR[10] = 0
pNameSTR[10] = 0
Cls
Print At 1,1, "BARCODE SYSTEM "
Print At 2,1, "PRESS <*> TO START."
While 1 = 1
GoSub myNumKeypad
Break
EndIf
Wend
GoSub initCart
GoSub subs_EncodeBudget
While 1 = 1
startIdle:
GoSub showIdle
While 1 = 1
GoSub myNumKeypad
Case "1"
Cls
Print At 1,1,"YOU MAY NOW SCAN"
Print At 2,1,"THE ITEM.."
GoSub subs_ReadBCode
GoTo exitIdle
Case "2"
aisleCtr = 1
While 1 = 1
startPI:
iTypes = "Y"
GoSub itemInquiry
Cls
EndIf
EndIf
Print At 4,1, " *-DN | 0-BK | #-UP "
While 1 = 1
GoSub myNumKeypad
Case "*"
Inc aisleCtr
Else
aisleCtr = 1
EndIf
GoTo startPI
Case "0"
GoTo startIdle
Case "#"
Dec aisleCtr
Else
aisleCtr = aisleLim
EndIf
GoTo startPI
EndSelect
Wend
Wend
Wend
EndSelect
Wend
exitIdle:
iTypes = "I"
GoSub itemInquiry
mainT:
dpType = 1
GoSub getAction
'ADD Product
SerOut PORTD.0, 84,["A"]
SerOut PORTD.0, 84,[Str BarCodeProc\13,Dec8 cartID]
SerIn PORTD.1, 84,[Str totalSTR\10, Str pNameSTR\10, Str priceSTR\10]
'MINUS Product
'cancel action
For gCtr = 0 To 9
priceSTR[gCtr] = 32
pNameSTR[gCtr] = 32
Next gCtr
priceSTR[10] = 0
pNameSTR[10] = 0
EndIf
Wend
initCart:
Cls
Print At 1,1, "1. START NEW"
Print At 2,1, "2. RETAIN PREVIOUS"
While 1 = 1
GoSub myNumKeypad
Break
EndIf
Wend
Cls
Print At 1,1,"SENDING REQUEST"
Print At 2,1,"PLEASE WAIT.."
Else
EndIf
SerOut PORTD.0, 84,["XXXXXXXXXXXXX",Dec8 cartID]
DelayMS 3000
Return
showIdle:
GoSub subs_CheckBGT
Cls
Print At 1,1,"TOTAL: ",Str totalSTR\10
Print At 2,1,"<1> SCAN ITEM"
Print At 3,1,"<2> PRODUCT LOCATOR"
EndIf
Return
subs_CheckBGT:
For bIdx = 0 To 9
inputTmp2[bIdx] = 32
Next bIdx
inputTmp2[10] = 0
For bIdx = 0 To 9
inputTmp2[bIdx] = totalSTR[bIdx]
Else
Break
EndIf
Next bIdx
inputTmp2[bIdx] = 0
Inc bIdx
EndIf
For bIdx2 = 0 To 9
inputTmp2[bIdx2] = 32
Next bIdx2
inputTmp2[10] = 0
bIdx2 = 0
inputTmp2[bIdx2] = totalSTR[bIdx]
Inc bIdx2
Next bIdx
inputTmp2[bIdx2 + 1] = 0
Return
getAction:
Cls
Print At 1,1,"PNAME: ", Str pNameSTR\10
Print At 2,1,"PRICE: ", Str priceSTR\10
Case 1
While 1 = 1
GoSub myNumKeypad
If keytemp = "*" Or keytemp = "#" Or keytemp = "0" Then
myAction = keytemp
Break
EndIf
Wend
Case 2
While 1 = 1
GoSub myNumKeypad
If keytemp = "*" Or keytemp = "#" Then
myAction = keytemp
Break
EndIf
Wend
EndSelect
Return
itemInquiry:
Select Case iTypes
Case "I"
Case "Y"
prodLoc1[16] = 0
prodLoc2[16] = 0
prodLoc3[16] = 0
SerOut PORTD.0, 84,["Y","0000000000",Dec3 aisleCtr,Dec8 cartID]
SerIn PORTD.1, 84,[Str prodLoc1\16,Str prodLoc2\16,Str
prodLoc3\16,aisleLim]
EndSelect
Return
myNumKeypad:
While 1 = 1
For kpCtr = 0 To 3
Case 0
kpCol1 = 0
kpCol2 = 1
kpCol3 = 1
Case 1
kpCol1 = 1
kpCol2 = 0
kpCol3 = 1
Case 2
kpCol1 = 1
kpCol2 = 1
kpCol3 = 0
EndSelect
If kpRow1 = 0 Then
DelayMS 50 : myBuzz = 0
DelayMS 50 : myBuzz = 1
GoTo sj_kp_end
DelayMS 50 : myBuzz = 0
DelayMS 50 : myBuzz = 1
GoTo sj_kp_end
DelayMS 50 : myBuzz = 0
DelayMS 50 : myBuzz = 1
GoTo sj_kp_end
DelayMS 50 : myBuzz = 0
GoTo sj_kp_end
EndIf
Next kpCtr
Wend
sj_kp_end:
Return
subs_ReadBCode:
dtOn = 0
dumbTimer = 0
sj_ReadChar:
bcrIdx = 0
dumbTimer = 0
If BarcodeToggle = 0 Then
If BarcodeData = 0 Then
BarCodeRaw[bcrIdx] = "0"
Else
BarCodeRaw[bcrIdx] = "1"
EndIf
While BarcodeToggle = 0 : Wend
'DelayUS 10
Inc bcrIdx
EndIf
Wend
GoSub subs_GetKey
dtOn = 1
Inc bcpIdx
GoTo sj_ReadChar
EndIf
sj_ReadCharComplete:
Return
subs_VerifyBuf:
'---- compare key code from buffer ---------
key_match = 0
For compareCtr = 0 To 8
GoTo sj_VBComplete
EndIf
Next compareCtr
key_match = 1
sj_VBComplete:
Return
subs_GetKey:
EndSelect
GoSub subs_VerifyBuf
If key_match = 1 Then
BarCodeProc[bcpIdx] = cConvert
GoTo sj_GKComplete
EndIf
Next cConvert
sj_GKComplete:
Return
subs_EncodeBudget:
sj_SEBStart:
For gCtr = 0 To 3
inputTmp[gCtr] = "0"
Next gCtr
inputTmp[4] = 0
gCtr = 0
sj_SEB_encode:
Cls
Print At 1,1,"ENTER YOUR BUDGET:"
Print At 2,1,"Php ", Str inputTmp\4
While 1 = 1
Print At 2, gCtr + 5
keytemp = 0
GoSub myNumKeypad
Inc gCtr
Else
Break
EndIf
Dec gCtr
EndIf
Else
inputTmp[gCtr] = keytemp
EndIf
Print At 2, gCtr + 5, inputTmp[gCtr]
Wend
sj_SEB_confirm:
While 1 = 1
keytemp = 0
GoSub myNumKeypad
Break
gCtr = 3
GoTo sj_SEB_encode
EndIf
Wend
myBudgetF = myValTemp
Cls
Print At 1,1,"BUDGET DATA"
Print At 2,1,"SAVED."
DelayMS 3000
sj_SEB_End:
Return
End
APPENDIX B
Pin Diagram of PIC16F877A
APPENDIX C
APPENDIX D
Reinier Mariano Feraer
#48 Tambo Malaki
Indang, Cavite
Mobile/Tel. No.: +639154262329
E-mail: feraerreinier@yahoo.com
OBJECTIVE
To obtain a job position in order to work and gain experience about the
Information Technology field.
EDUCATIONAL BACKGROUND
Tertiary: University of Santo Tomas (UST) 2009-present
España, Manila
PROFESSIONAL EXPERIENCE
Sybase Inc.
25/F Prestige Tower, Emerald Avenue, Ortigas, Pasig City
Telephone Number: (02) 914-2548
PROJECT:
1. Assigned to Professional Services(PS) Department
- La Salle Greenhills Tablet Deployment
SEMINARS ATTENDED
Microsoft Silverlight. University of Santo Tomas, España, Manila. June 17, 2011
A Lap around Expression Blend and Visual Studio 2010. University of Santo
Tomas, España, Manila. June 17, 2011
Android-IT-FY: A Seminar on Android Mobile Development. University of
Santo Tomas, España, Manila. July 18, 2011
Introduction to CCNA and Network Enterprise. University of Santo Tomas,
España, Manila. August 3, 2011
Introduction to Voice Network and Network Security. University of Santo
Tomas, España, Manila. August 3, 2011
Network+ and Security+. University of Santo Tomas, España, Manila. August 3,
2011
ASP.Net and C#.Net. University of Santo Tomas, España, Manila. August 3,
2011
Digital Forensics, Security and Law. University of Santo Tomas, España,
Manila. September 2, 2011
Gambas Linux Programming. University of Santo Tomas, España, Manila.
September 6, 2011
Know Better, Perform Better: System Management of Web-based
Applications & Career Path Orientation. University of Santo Tomas, España,
Manila. September 19, 2011
REFERENCE
Christian Talusig
Consultant
Exakt Inc.
25/F Prestige Tower, Emerald Avenue, Ortigas, Pasig City
+639175223446
ctalusig@exakt.com.ph
Jasper Villafranca
System Analyst
Exakt Inc.
25/F Prestige Tower, Emerald Avenue, Ortigas, Pasig City
+639278098564
jvillafranca@exakt.com.ph
Darren Joseph Real M. Madrid II
OBJECTIVE
SKILLS
EDUCATIONAL BACKGROUND
Tertiary: University of Santo Tomas (UST) 2009-present
España, Manila
PROJECT:
2. Assigned to Professional Services(PS) Department
- Adaptive Server Enterprise (ASE) Training
- La Salle Greenhills Tablet Deployment
SEMINARS ATTENDED
Microsoft Silverlight. University of Santo Tomas, España, Manila. June 17, 2011
A Lap around Expression Blend and Visual Studio 2010. University of Santo
Tomas, España, Manila. June 17, 2011
Android-IT-FY: A Seminar on Android Mobile Development. University of
Santo Tomas, España, Manila. July 18, 2011
Introduction to CCNA and Network Enterprise. University of Santo Tomas,
España, Manila. August 3, 2011
Introduction to Voice Network and Network Security. University of Santo
Tomas, España, Manila. August 3, 2011
Network+ and Security+. University of Santo Tomas, España, Manila. August 3,
2011
ASP.Net and C#.Net. University of Santo Tomas, España, Manila. August 3,
2011
Digital Forensics, Security and Law. University of Santo Tomas, España,
Manila. September 2, 2011
Gambas Linux Programming. University of Santo Tomas, España, Manila.
September 6, 2011
Know Better, Perform Better: System Management of Web-based
Applications & Career Path Orientation. University of Santo Tomas, España,
Manila. September 19, 2011
REFERENCE
Franz Wesley D. Porras
Consultant
Sybase Solutions Inc.
25/F Prestige Tower, Emerald Avenue, Ortigas, Pasig City
+639213698895
fporras@exakt.com.ph
Christian Talusig
Consultant
Exakt Inc.
25/F Prestige Tower, Emerald Avenue, Ortigas, Pasig City
+639175223446
ctalusig@exakt.com.ph
Jasper Villafranca
Analyst
Exakt Inc.
25/F Prestige Tower, Emerald Avenue, Ortigas, Pasig City
+639278098564
jvillafranca@exakt.com.ph
Adrian Gene J. Reyes
#8253 Spazio Bernardo Condominium
Sauyo Road, Quezon City
Mobile No: +63 926 736 3307
E-mail: geneebiz@yahoo.com
OBJECTIVE
To obtain OJT position in the field of Information Technology and harmonize with a
team of experienced professionals for my individual as well as corporate development
SKILLS
EDUCATIONAL BACKGROUND
Tertiary: University of Santo Tomas (UST) 2009-present
España, Manila
REFERENCE
OBJECTIVE
To obtain job position in the field of Information Technology, to further enhance and
widen my knowledge and gain experience in software developing and debugging
SKILLS
EDUCATIONAL BACKGROUND
Microsoft Silverlight. University of Santo Tomas, España, Manila. June 17, 2011
A Lap around Expression Blend and Visual Studio 2010. University of Santo Tomas,
España, Manila. June 17, 2011
Android-IT-FY: A Seminar on Android Mobile Development. University of Santo
Tomas, España, Manila. July 18, 2011
Introduction to CCNA and Network Enterprise. University of Santo Tomas, España,
Manila. August 3, 2011
Introduction to Voice Network and Network Security. University of Santo Tomas,
España, Manila. August 3, 2011
Network+ and Security+. University of Santo Tomas, España, Manila. August 3, 2011
ASP.Net and C#.Net. University of Santo Tomas, España, Manila. August 3, 2011
Digital Forensics, Security and Law. University of Santo Tomas, España, Manila.
September 2, 2011
Gambas Linux Programming. University of Santo Tomas, España, Manila. September
6, 2011
Know Better, Perform Better: System Management of Web-based Applications &
Career Path Orientation. University of Santo Tomas, España, Manila. September 19,
2011
REFERENCE