You are on page 1of 79

UNIVERSITY OF DAR ES SALAAM

COLLEGE OF ENGINEERING AND TECHNOLOGY


DEPARTMENT OF ELECTRICAL ENGINEERING

EE499: FINAL YEAR PROJECT II (FINAL REPORT)

DESIGN AND IMPLEMENTATION OF AN AUTOMATIC FOOD ORDERING


SYSTEM.

A Project Report in Partial Fulfilment for the Award of Bachelor of Science


in Electrical Engineering

Name of Candidate: Makori, Kelvin J.


Registration Number: 2018-04-01728
Supervisor: Dr. Nelson Lujara.
Supervisor’s Signature: …………………
Submission Date: 11th July 2022.
DECLARATION.

Certification.

Statement of Authorship and Originality.

I declare that this report and work described in it are my own work, with any contribution from
others expressly acknowledged and/or cited.

I declare that the work in this report was carried out in accordance with the regulations of the
University of Dar es salaam and has not been presented to any other university for examination
either in Tanzania or overseas. Any views expressed in the report are those of the author and in
no way represent those of the University of Dar es salaam.

SIGNED……………………………

DATE………………………………

This report may proceed for submission for assessment for the award of BSc. In Electrical
Engineering at the University of Dar es salaam.

Supervisor ‘signature………………… Date………………………...

i
ABSTRACT

The growing number of restaurants and population of restaurant-goers have emphasized the need
to enhance the working of hospitality industry. This research work aims at improving the quality
of services and business of the hospitality industry by incorporating technology. Detailed research
on the integration and utilization of technology in hospitality industries showcased that, various
applications based on wireless technologies are already in use enabling partial automation of the
food ordering process. In this project, we will discuss about the integration of touch technology
in restaurants using android. The tablet at the customer table contains the android application with
all the restaurant and menu details. The customer tablet and kitchen display connect directly with
each other through radio frequency modules. This wireless application is user-friendly, improves
efficiency and accuracy for restaurants by saving time, reduces human errors and provides
customer feedback. This system successfully overcomes the drawbacks in earlier automated food
ordering systems and is less expensive as it requires a one-time investment for gadget

ii
ACKNOWLEDMENT

First and foremost, I would like to humbly acknowledge the almighty GOD for he is every reason
for my accomplishment of this report (progressing report). I would like to acknowledge my
supervisor Dr. Nelson Lujara and Eng.Mr. Stampinus Stephano for their time and cooperation for
the accomplishment of this project. Also, I would like to acknowledge all staff of electrical
engineering department for their comments and advices during oral presentation. Last but not least
I would also like to acknowledge My entire family for their material support.

iii
LIST OF ABBREVIATIONS
LED Light Emitting Diode
LCD Liquid Crystal Display

PC Personal Computer

PDA Personal Digital Assistants

RF Radio-frequency

UDSM University of Dar-es-Salaam.


Wi-Fi Wireless Fidelity

iv
TABLE OF CONTENTS
LIST OF ABBREVIATIONS ....................................................................................................... iv

LIST OF TABLES .......................................................................................................................vii

CHAPTER ONE: GENERAL INTRODUCTION......................................................................... 1

1.1 Introduction. ............................................................................................................................. 1

1.2 Problem Statement. .................................................................................................................. 2

1.3 Objectives. ................................................................................................................................ 2

1.4 Significance of the Project........................................................................................................ 2

1.5 Project Organization ................................................................................................................. 3

CHAPTER TWO: LITERATURE REVIEW ................................................................................ 5

2.1 Introduction. ............................................................................................................................. 5

2.2 Exististing Systems................................................................................................................... 5

2.3 Proposed System. ..................................................................................................................... 7

CHAPTER THREE: DESIGN OF THE PROPOSED SYSTEM .................................................. 9

3.1 Introduction of the Proposed System. ...................................................................................... 9

3.2 Working of the Proposed System. ............................................................................................ 9

3.3. Methodology. ........................................................................................................................ 10

3.4 Main Components of the Proposed System. .......................................................................... 11

3.5 System Flowchart. .................................................................................................................. 18

3.6 Simulation Model. .................................................................................................................. 19

v
CHAPTER FOUR: IMPLEMENTATION OF THE PROPOSED SYSTEM. ............................ 26

4.1 Introduction. ........................................................................................................................... 26

4.2 Tools and Equipment Used. ................................................................................................... 26

4.3 Software Implementation. ...................................................................................................... 26

4.4 Hardware Implementation. ..................................................................................................... 26

CHAPTER FIVE: RESULTS AND ANALYSIS. ....................................................................... 28

5.1 Introduction. ........................................................................................................................... 28

5.2 Customer Unit. ....................................................................................................................... 28

5.3 Kitchen Unit. .......................................................................................................................... 29

CHAPTER SIX: CONCLUSION. ............................................................................................... 30

6.1 Conclusion. ............................................................................................................................. 30

6.2 Challenges. ............................................................................................................................. 30

6.3 Recommendations. ................................................................................................................. 30

6.4 Future Work. .......................................................................................................................... 31

REFERENCES ............................................................................................................................. 32

APPENDICES. ............................................................................................................................. 33

Appendix A: Work Done So Far. ................................................................................................. 33

Appendix B: Time Schedule. ....................................................................................................... 34

Appendix C: Budget Estimation................................................................................................... 35

Appendix D: Arduino codes. ........................................................................................................ 36

vi
LIST OF TABLES

Table 1. Time Schedule. ................................................................................................................ 34


Table 2. Budget Estimation. .......................................................................................................... 35

vii
LIST OF FIGURES

Figure 2. 1 Block Diagram Showing the Proposed System (Sending Unit). .................................. 7
Figure 2. 2 Block Diagram Showing the Proposed System (Receiving Unit). ............................... 8
Figure 3. 1 Circuit Diagram of DC Power Supply. ....................................................................... 13
Figure 3. 2 DC Power Supply. ...................................................................................................... 13
Figure 3. 3 A liquid crystal display. .............................................................................................. 14
Figure 3. 4 Arduino Uno with a microcontroller .......................................................................... 15
Figure 3. 5 A 4x4 Matrix Keypad. ................................................................................................ 16
Figure 3. 6 Transceiver RF module. .............................................................................................. 18
Figure 3. 7 System Flow chart. ..................................................................................................... 19
Figure 3. 8 The Simulation Circuit Diagram of a Proposed System. ............................................ 20
Figure 3. 9 Customer Unit Display. .............................................................................................. 21
Figure 3. 10 Food Simulation Results. .......................................................................................... 22
Figure 3. 11 Drink Simulation Results. ......................................................................................... 23
Figure 3. 12 Others Simulation Results. ....................................................................................... 24
Figure 3. 13 Kitchen Display ........................................................................................................ 25
Figure 4. 1 Prototype Setup (Customer Unit). .............................................................................. 27
Figure 5. 1 Prototype Results of Ordering Food, Drinks and Others. ........................................... 28
Figure 5. 2 Add an Order Option. ................................................................................................. 29
Figure 5. 3 Kitchen Unit. ............................................................................................................... 29

viii
CHAPTER ONE: GENERAL INTRODUCTION

1.1 Introduction.

Restaurant is a place that provides services for customers to enjoy the food and drinks available
in that premises. Most of the restaurants will do anything to provide the best services for their
customers. Therefore, ways to effectively improve the service quality for customers by using
advanced technologies has received much attention in recent years. Restaurants only provide
passive services where the waiter can only deal with customer's order by asking customer's
requirements, transferring the order to kitchen and finally cash counter. In a medium to the large
and busy restaurant, this coordination is a challenge and requires an efficient ordering system.
Different approaches have been used to achieve a whole new level of satisfaction among the
customers. In traditional restaurants, orders are taken by waiters and they bring the food when it
is ready, later the customers pay the bill to the waiter or to the accountant at the reception area. A
lot of the restaurants come with different ideas and some of them have a really positive impact on
their business (Ashwini J, April-2018).

In this busy world no one prefers to wait for long time in restaurant. It takes a lot of time for the
process of ordering the food than waiting for food in the queue, also waiters make the same
mistake when it comes to taking their customers order. Miscommunication is the most common
reason why this problem happens. Hence, to reduce the amount of time getting wasted for the
ordering process, and the mistakes made by waiters when taking customers’ orders, we have
planned to create an automatic food ordering system. Herein, in the restaurant, the order will be
placed digitally through touch screen module (tablet). This order will be communicated through a
wireless medium to the kitchen as well as will be updated in the central database. This similar
display will be present in the kitchen and according to the customer's order, the catering staff will
prepare the food. Once the order is ready in the kitchen, the waiter will be notified about it being
ready to be served. The automation in this process involves the easiest way of sending the
information when ordering foods and requesting of waiter services. Many restaurants suffer from
difficult ways of sending the information when ordering foods and requesting of waiter services,
simply because, waiters make mistake when it comes to taking their customers’ orders.

1
These difficulties in sending the information can be reduced by design and implementation of
automatic food ordering system (Mahendra, et al., 2017).
1.2 Problem Statement.

Difficulties in Ordering foods and requesting for the waiter services are the problems which
customers face in restaurants. The design of Automatic food ordering system will reduce the time
taken to receive the ordered food and disturbance of calling the waiters for other services.
Therefore, there is a need to design an automatic food ordering system.
1.3 Objectives.

Below are the main and specific objectives which are clearly stated showing the
different aims to be achieved.

1.3.1 Main Objective.

The main objective is to design and implement an automatic food ordering system.

1.3.2 Specific Objectives.

1. To design an automatic food ordering system


2. To implement an automatic food ordering system

1.4 Significance of the Project.

After the project is accomplished, the following are some of the advantages

1. Improves efficiency and accuracy for restaurants by saving time.


2. It improves services quality.
3. It reduces human errors.

2
1.5 Project Organization

In this section, shortly explanations of each chapter content is show below.

1. Chapter One; General Introduction.

In this chapter, the meaning of the project was introduced, the problem statement was stated
together with objectives and significance of the project. Which gives the clear picture to the reader
about the aim of designing and implementing automatic food ordering system.

2. Chapter Two; Literature Review.

In this chapter the review of the project was done by passing through other similar projects
(systems) which are already in use. Also, the proposed system was introduced by trying to
overcome the drawbacks of the previous similar projects.

3. Chapter Three; Design of the Proposed System.

In this chapter detailed analysis of each component involved in the proposed system were
determined. Also, the reasons of selecting a component out of other components. But also, gives
a description of the system simulation model and simulation results. The simulation result was
checked to make sure system work as intended before implementation

4. Chapter Four; Implementation of the Proposed System.

This chapter provides a description of all the processes involved in the prototype building. Testing
and checking if the expected performance is achieved. First step in this implementation involves
software design, which involves writing of codes and uploading them into the microcontroller.
After software design all circuit components are connected as shown in simulation schematics.
Finally, the system was checked.

3
5. Chapter Five; Results and Discussion.

In this chapter, the outcomes of the proposed system were explained depending on the expected
results Why such results? Brief discussion of the results in relation to the simulation results were
also explained.

6. Chapter Six; Conclusion.

This chapter concluded that the proposed system is the best system among the available ones, by
comparing the advantages and disadvantages of each system.

4
CHAPTER TWO: LITERATURE REVIEW

2.1 Introduction.

This chapter is aimed at providing different information of the project. This information includes
details of the existing system in the world, drawbacks of the existing system, details of the
proposed system, advantages and disadvantages of the proposed system.

2.2 Exististing Systems.

The systems below are available systems which are used right now in the industry, the systems
are explained detailed, together with their drawbacks.

2.2.1 Traditional Paper-Based Systems.

The traditional paper-based system is one of the most extensively used systems worldwide. In this
system all records are stored on paper (Shweta Shashikant Tanpure, February 2013). However,
there are some problems faced by using this system. Below are some of the drawbacks faced when
this system is used.

1. The most common problem is waiters making mistakes with customer’s orders. At times, a
waiter can forget to add a specific item, make a change because a customer is allergic to certain
substance, or forget to give the order to the kitchen.
2. Customers also call over the waitress frequently to find out the status of their orders,
hence wasting the waiter’s service time.
3. The food may take longer to be prepared and served if the waiter has multiple tables.
Customers may also get wrong bills since they cannot see their bill amount until their meal is
complete.
4. Waiters need to constantly check with the chefs to determine when food is ready. Conversely,
chef needs to make sure waiters know that food is ready.
5. Managers have to analyse hundreds of paper receipts to determine best-selling items, popular
hours and customer satisfaction. They also require re-printing of menus when food is not
available or a price needs to be changed. This can be costly and time consuming to a restaurant.

5
2.2.2 QORDER

The next improvement in the food industry was the “QORDER”. The waiters now no longer took
the orders on paper. Instead, all the orders were taken on a handheld device called the “QORDER”.
It was a portable android device where the waiter enters order information on touch screen and
then sends it to the kitchen for processing. Simultaneously, the POS (PointOf-Sale) system
receives the sales information for later billing. QORDER utilizes Wi-Fi to easily reach to the most
remote corner spot in the restaurant. Once the guests are done, the waiter prints the receipt out and
processes payment with the handheld unit ( Soon, Wei, & Wen, 2010). Below are some of the
drawbacks faced when this system is used.

1. Disturbance for some customers, when calling the waiters.


2. Time used for ordering of foods is large.

2.2.3 Personal Digital Assistants (PDA’s).

With new technologies and approaches being introduced to automate the food ordering process, a
number of wireless systems like I-menu, FIWOS, WOS were developed. All these systems were
PDA- based. The feature of PDA systems was that customers or waiters key in ordering process.
Communication between the PDA’s and server became feasible and simple due to wireless
technology (Soon Nyean Cheong, December - 2010). Below are some of the drawbacks faced
when this system is used.

1. PDA-based systems surpluses the restaurant expenditures.


2. PDA systems also did not provide any real time feedback from customers.
3. Menu cards in the PDA’s were unattractive and uninformative as it did not support images.

2.2.4 Android Tablet-Based Menu.

Nowadays android-based technology has dominated the mobile application technology, it’s about
time for researchers incorporate it in the food industry, with interactive pictures it gives additional
information about the food item. Tablets are said to eliminate ordering errors from the waiters.
Tablet with android technology is really fragile and the hardware is expensive so there is a risk
for any establishment would not want to adopt this idea. Perhaps in the future tablet technology

6
will improve and the hardware will be easier to obtain then this proposal can flourish but right
now no establishment would want to invest in the technology. The motivation of the work is
because the customers keep feeling unsatisfied about the services offered and being entertained
late in terms of order taking by the waiter (V. Swapna, December- 2012).
Below are some of the drawbacks faced when this system is used.

1. Tablet with android technology is really fragile.


2. Hardware is expensive.

2.3 Proposed System.

To overcome the limitations of above systems, we propose this integration of touch technology in
restaurants based on android technology. The architecture attempts at a full coverage of the two
main areas of restaurant, the Serving area and the Kitchen. Figure 2.1 which shows the block
diagram of the proposed system-sending unit, also Figure 2.2 which shows the block diagram of
the proposed system-receiving unit.

Figure 2. 1 Block Diagram Showing the Proposed System (Sending Unit).

7
Figure 2. 2 Block Diagram Showing the Proposed System (Receiving Unit).

8
CHAPTER THREE: DESIGN OF THE PROPOSED SYSTEM

3.1 Introduction of the Proposed System.

The proposed system aims to assist the customer to order food without calling the waiters at
restaurant, Thus, the customer will order food through touch screen placed on the customer’s table.
This system will reduce the disturbance which customers face when ordering food, since in the
current systems, the customer needs to call the waiter when he/she needs to order food. This
system also reduces the time which the customer has to wait for food to be delivered to the table.

The system uses Arduino Uno as the main controller which receives and sends information through
RF modules The system has one microcontroller with two RF modules, one at sending unit and
another at the receiving unit, where by the two modules are installed about 30m away from one
another. The idea is that, when the customer inserts his/her order at the sending unit which is 30m
away from the receiving unit, his/her information will be sent and received at sending unit and
received unit respectively, this is because RF module does both sending and receiving signals.

3.2 Working of the Proposed System.

The system essentially consists of two units which are sending unit as well as receiving unit, the
working of these two units depends on each other. Each of the units will require its own circuitry
which when put together through RF module they will work as single system. Hence, the approach
will be of two parts.

1. Sending Unit.

This is the unit where by the transferring of the information begins when the customer arrives in
the restaurant, thus why it is called the sending unit simply because it sends information to the
other unit (receiving unit). Sending unit contains Microcontroller, Keypad, Liquid Crystal Display
(LCD), RF module and Source of power. This unit will be powered from the power source, and
when the customer arrives in the restaurant, he/she will be able to see the available menu and order
the food through keypad and LCD. The inserted information by the customers will be processed
in the microcontroller to a signal needed by the RF module, hence the signal will be transferred to
the other unit. This transferring of signals will be done by RF module.

9
2. Receiving Unit.

This is the unit where by the receiving of the information begins when the customer arrives in the
restaurant, thus why it is called receiving unit simply because it receives information from the
other unit (sending unit). Receiving unit contains RF module, MAX232 which is the part of RF
module and the PC. This unit will receive information from the sending unit through RF module
and the received information will be displayed in the PC with help of the software installed in the
PC. When the chef in the kitchen receives the order from the customer through PC, he/she will be
able to inform the customer whether the ordered food is available or not. When the ordered food
is already prepared, the chef will send the ordered food to the respective table through the waiter.

3.3. Methodology.

For this project to be accomplished, the following methods will be used.

3.3.1 Literature Review.

This involves searching and evaluating the available literature on a chosen project. It helps in
gathering information about previous established system highlighting their respective strengths
and shortcomings.
3.3.2. Consultation.

Consultations to project supervisor are scheduled every week for guidance. These meetings help
to correcting and solidifying ideas pertaining the chosen project. Challenges encountered in each
stage are also discussed here.

3.3.3 Preliminary Design and Analysis of the Proposed System.

Here the proposed system is summarized in a block diagram displaying different system
components. It also explains how components link with each other and how they collectively
work.

10
3.3.4 Simulation of the Design.

The designed circuit will be tested through circuit programs in order to determine the response of
the design before the stage of implementation
3.3.5 Implementation of the Design.

The prototype will be according to the designed circuit and the selection of material will depend
on the specifications of simulation results, and the designed prototype will have to be
demonstrated.
3.4 Main Components of the Proposed System.

For this project to be accomplished, the following components together with their characteristics
are explained below.
3.4.1 Power Supply.

A DC power supply is the one which gives a constant DC voltage to the load irrespective of the
load. Depending on its design it may be powered directly from a DC supply or from an AC supply
such as power mains. Basically, it is a device that converts an alternating current from utility
supply to low regulated direct current is a DC power supply. Dc supply is used over AC supply
simply because, most of modern electronics operate at very low voltages, and DC is used as low
voltage. DC power supply consists of different components such as transformer, rectifier, filters
and regulators

1. Transformer.

It can be defined as the static device that transfer electrical energy from one circuit to another
through electromagnetic induction. Controls the incoming voltage by either stepping up or
stepping down. In this project, a step-down transformer will be used because the amount of voltage
needed is 12V, while the supply voltage is 230V.

2. Rectifier.

Rectifier is a device that is used to change the alternating current power into pulsating direct
current (dc) power. The rectifier circuits include; half wave, full wave centre-tapped and full wave

11
bridge type. The difference among the three is based on how many AC half cycles each converts
to a pulsating DC output. Half wave rectifiers only convert one of the half cycles whereas full
wave rectifiers convert both half cycles. In this project, Full wave bridge rectifier will be used
because is most efficient as it uses four diodes connected in bridge so as to convert AC voltage to
DC voltage.

3. Filters.

The filter of the power supply is used to smoothen the output; it is designed to convert pulsating
DC from the rectifier circuit into a suitable smooth DC level. The two basic types of power supply
filters are the capacitance filter (C-filter) and RC-filter. The C-filter is the simplest and most
economical filter available, on the other hand RC-filter is used to reduce the amount of ripple
voltage across a capacitor. Its primary function is to pass most of the dc component of the signal.

4. Voltage Regulator.

Since the power supply from the mains varies overtime, the rectified and filtered DC output is still
not stable due to such fluctuations. This is bad situation to the electronic components in the circuit
as it may lead to malfunctioning. Thus, a voltage regulator is applied so as to maintain a constant
voltage level. The common voltage regulator used is transistor voltage regulator which can either
be series voltage regulator or shunt voltage regulator.
The choice of a particular power supply for an application is determined by various attributes of
the power supply, which are typically listed in the power supply's specification. Commonly
specified attributes for a power supply include:

1. Input voltage type (AC or DC) and range.


2. Efficiency of power conversion.
3. The amount of voltage and current it can supply to the load.
4. How stable its output voltage or current is under varying line and load conditions.
5. How long it can supply energy without refueling or recharging (applies to power supplies that
employ portable energy sources).
6. Operating and storage temperature ranges.

12
Figure 3.1 and Figure3.2 below shows circuit diagram of dc power supply and the
picture of dc supply respectively.

Figure 3. 1 Circuit Diagram of DC Power Supply (V. Swapna, December- 2012).

Figure 3. 2 DC Power Supply (V. Swapna, December- 2012).

13
3.4.2 Liquid Crystal Display (LCD).

This is the thin display device made of any coloured or monochrome pixel array in front of the
light or reflector. Each pixel consists a column of liquid crystal molecules suspended between two
transparent electrode and two polarizing filters, the axes of polarity of which are perpendicular to
each other. The liquid crystal twists the polarization of light entering one of the filters to allow it
pass through the other. This helps the human being to interact with the common controllers being
used in the devices or any operating circuit as it displays some of information which are due to
program output (micro-controller output) or even simulation of the circuit. Some of the most
commonly used LCDs are 16X1, 16X2, 20X4 and 128X16 Displays which means that 16
characters per line by 1 line, 16 characters per line by 2 lines, 20 characters per line by 4 lines and
128 characters per line by 16 lines respectively. The LCD display offers the following advantages;

1. Allow the display of the message.


2. It is cheap compared to a light-emitting diode display LED.
3. Easily programmable.
4. Use a small amount of power compared to LED.
5. Allow display of more than one content.
LCD with 20 characters per line by 4 lines (20 X 4) will be used, so as to obtain wider
display of information. Figure 3.3 below shows LCD of 20 X 4 type.

Figure 3. 3 A liquid crystal display ( Soon, Wei, & Wen, 2010).

14
3.4.3 Microcontroller.

A microcontroller is an integrated circuit that acts as the brain of electronic systems. A single chip
microcontroller constitutes of CPU’s, internal memory, timer, input/output ports and other
associated programmable peripherals. A single chip microcontroller constitutes of CPU’s, internal
memory, timer, input/output ports and other associated programmable peripherals. A
microcontroller can be considered as computer on a chip but unlike a normal computer, it is
designed to perform only few tasks whose mode of operation relies on the set of instructions stored
in a memory. In this project, Arduino Uno has been selected as the board to hold the micontroller
for this system. The microcontroller selected for this project is ATmega328P which has four ports
(A, B, C, D) with 8 pins each, hence gives the total of 32 pins.
The reason of choosing this type of microcontroller is obtain sufficient number of ports, as required
by the project. Port A will be used for keypad, port B and C will be used for LCD and port D for
RF module. Figure 3.4 below shows Arduino Uno with a microcontroller.

Figure 3. 4 Arduino Uno with a microcontroller (Ashwini J, April-2018 )

15
Reasons for the selection of Arduino Uno;

1. It has a low cost.


2. It has a compact size.
3. Compatibility.
4. Easy interfacing over several other types of microcontrollers.
5. It can be programmed by C++ which can be easily understood by most beginners.

The microcontroller in this project acts as the centre of all the controlling processes. It receives
regulated power of +5V from the regulated supply. It is interlinked with several interfaces by using
RF modules, that are useful for signal transmission and reception through its pins so as to receive
information from one unit then send a proper signal to other unit.

3.4.4 Keypad.

Is the collection of keys that used for the operation of the portable electronic devices. Keypad
made of pushbuttons connected in rows and columns, rows and columns have some lines which
are connected to pushbuttons contacts, for instance 4x4 matrix keypad has the total number of 16
pushbutton which are connected to row and column lines. The microcontroller has the ability scan
these lines for a respective pressed button. Keypad specifically 4x4 matrix keypad will be used as
medium to interact with the computer using finger to push the buttons, because there will be a lot
of options to select while ordering food in the restaurant. Figure 3.5 below shows keypad.

Figure 3. 5 A 4x4 Matrix Keypad (Ashutosh, Niranjan, & Apurva, 2013).

16
3.4.5 RF Module.

RF module (Radio-frequency module) is a small electronic device used to transmit and/or receive
radio signals between two devices. In an embedded system it is often desirable to communicate
with another device wirelessly. This wireless communication may be accomplished through
optical communication or through radio frequency (RF) communication. For many applications,
the medium of choice is RF since it does not require line of sight. RF communications incorporate
a transmitter and a receiver. They are of various types and ranges. Some can transmit up to 500
feet.

The term RF module can be applied to many different types, shapes and sizes of small electronic
sub assembly circuit board. It can also be applied to modules across a huge variation of
functionality and capability. RF modules typically incorporate a printed circuit board, transmit or
receive circuit, antenna, and serial interface for communication to the host processor. Most
standard, well known types are covered here.

1. Transmitter module.
2. Receiver module.
3. Transceiver module.

The first two types of Rf module performs only single type of operation, either receiving or
sending of signals from or to another device. And the last one performs both receiving and sending
operations between two devices.

Hence transceiver module is most commonly used due to its multiple operations, but it is costly
compared to other two types. Figure 3.6 below is the diagram showing Rf module.

17
Figure 3. 6 Transceiver RF module (Mahendra, et al., 2017).
3.5 System Flowchart.

The operation of the system will be between two units i.e Transmitting unit and the receiving unit,
as discussed before, the transmitting unit transfers information to the receiving unit, while the
receiving unit receives the information from the transmitting unit.

The information flows, starts from the customer unit (transmitting unit) and ends to the receiving
unit. Figure 3.7 below shows the flow of the information from one unit to the other.

18
Figure 3. 7 System Flow chart.

3.6 Simulation Model.

Before building the prototype of this proposed system, the circuit of the project was simulated, to
check if the system will work as expected. A simulation software tool named Proteus 8 profession
(version 8.13) was used to develop the project simulation model. Consider Figure 3.8 below shows
the simulation circuit of the proposed system.

19
Figure 3. 8 The Simulation Circuit Diagram of a Proposed System.

3.6.1 Simulation Discussion and Results.

Initially, when the system is powered, the customer unit will display different food options and
the kitchen unit will display nothing (waiting for the order from the customer unit). The customer
will have three different options for selections i.e. F for food, D for drinks and O for others. The
system guarantees the customer to add order when he/she needs to do so. According to the
simulation results observed, the system works as expected. Figure 3.9 below shows the customer
unit display.

20
Figure 3. 9 Customer Unit Display.
3.6.2 Ordering Food (F) Simulation Results.

As explained above, the system will guarantee the customer the three options of selections, on
food selection the customer will have the access to choose or to select between rice, ugali and
banana, which are categorized in food section. But still, in rice section the customer will be offered
some options to select which are rice beans (RB), rice meat and rice chicken. Also, in the ugali
section the customer will be offered some options to select like ugali choma, ugali makange and
ugali chicken. But also, in banana section the customer will be offered some option to select which

21
are banana meat, banana fish and rice banana (mixer). The figure 3.10 below shows the clear
picture of one of the sections on food simulation results.

Figure 3. 10 Food Simulation Results.


3.6.3 Ordering Drinks (D) Simulation Results.

Once the customer selects drinks section, he/she have the access on selection of three different
categories i.e soda, juice and smoothie. On soda section he/she will find other options between
Coca-Cola, Pepsi and Fanta. Also in juice section, the customer will be able to choose between

22
mango juice, avocado juice and mixer (mango-avocado). But also, in smoothie section the
customer will have a guarantee to choose among the three options which are banana smoothie
(without milk), banana smoothie (with milk) and smoothie mixer. The figure 3.11 below shows
the clear picture of drink simulation results.

Figure 3. 11 Drink Simulation Results.


3.6.4 Ordering Others (O) Simulation Results.

Once the customer selects others section, he/she have the access on selection of three different
categories i.e chips, cake and fruits. On chips section he/she will find other options between chips

23
kavu, chips zege and chicken chips. Also in cake section, the customer will be able to choose
between vanilla cake, chocolate cake and plain cake. But also, in fruits section the customer will

have a guarantee to choose among the two options which are fruits (1 plate) and fruits ( plate).
The figure 3.12 below shows the clear picture of others simulation results.

Figure 3. 12 Others Simulation Results.

24
3.6.5 Kitchen Display Simulation Results.

The display in the kitchen shows the items ordered by the respective customer in the respectively
table. Also, the display shows the amount of food ordered in terms of plate numbers for example,
when the customer in table number one orders two plates of rice beans, one plate of banana meat,
one plate of ugali choma and the other plate of ugali makange, the display in the kitchen shows as
figure 3.13 below.

Figure 3. 13 Kitchen Display

25
CHAPTER FOUR: IMPLEMENTATION OF THE PROPOSED SYSTEM.

4.1 Introduction.

The process of Implementation of the Prototype involves actual building of the designed project
solution so that it performs its prescribed tasks according to the requirements. Initialy, before this
implementation software designing involved, which deals with uploading of the codes to the
microcontrollers. Then comes the second part which is the hardware designing which involved building
and connecting of the circuit components.

4.2 Tools and Equipment Used.

Different tools and equipments which were used in the construction process of making this project
prototype together with their functions are explained below

1. Screws and Screwdrivers.

These two components were used in making hardboard which all the connections of the customer
unit were inserted inside it.

2. Breadboard.

This was the device used to make all the connections of the control circuit

4.3 Software Implementation.

Software implementation involved the uploading of the codes into the microcontrollers in both Arduino
uno and Arduino nano. C++ Programming language was used in software implementation of this project.
Arduino IDE (Integrated Development Environment) software were used for code compilation. Before
upload/burn them into the microcontroller through USB, they were checked to be error-free.
4.4 Hardware Implementation.

Implementation of hardware part of involved procedures used to develop the physical

prototype model. The procedures involved were as follows:

1. Preparing the hardboard which is used to insert customer unit components


2. Connections of Arduino uno (microcontroller) together with other associative interfaces like LCD,
keypad, rf module and battery to make a complete customer unit.

26
3. Connection of Arduino nano (microcontroller) together with other associative interfaces like rf
module and PC (kitchen display). All together to make a waiter unit.
4. Then the circuit was ready to be powered and tested.
Figure 4.1 below shows the prototype setup (customer unit) after building and fixing all
components of the circuit.

Figure 4. 1 Prototype Setup (Customer Unit).

27
CHAPTER FIVE: RESULTS AND ANALYSIS.

5.1 Introduction.

Since the connection of the circuit was made completely, the circuit was power and tested so
that to ensure if the connected circuit works satisfactorily as in the simulation. The following
results were observed.
5.2 Customer Unit.

When the system was powered on, the customer unit display (LCD) shows the options to choose
which are F for food, D for drinks and O for others. Figure 5.1 below shows the prototype results of
ordering food, drinks and others.

Figure 5. 1 Prototype Results of Ordering Food, Drinks and Others.


After ordering (food, drink or others), the system will guarantee the customer an option to add an
order with the options to select F-yes, D-No and O for Exit. Once the customer selects D-No, the
customer’s LCD will notify the customer that, the order has been sent so he/she should wait for
sometimes so that he/she can be delivered with his/her order. Figure 5.2 below shows the option
to selects if the customer wants to add an order.

28
Figure 5. 2 Add an Order Option.

5.3 Kitchen Unit.

The kitchen unit which is made of the kitchen display (PC), will display the table number which
the customer unit is allocated, and the respective order ordered. Figure 5.3 below shows the kitchen
unit.

Figure 5. 3 Kitchen Unit.

29
CHAPTER SIX: CONCLUSION.

6.1 Conclusion.

In this paper, there are comparisons between automation tools of food ordering system in
restaurant and hotels, such tools are, Traditional paper-based system, Personal Digital Assistants
(PDA) based System, and QORDER system. The speed of processing of an Automatic food
ordering system is almost the same as that QORDER system whereas the speed of processing of
Traditional paper-based system is much slower than PDA based systems, QORDER system and
Automatic food ordering system. So, it is clearly that Automatic food ordering system is the
cheapest solution for the restaurant and hotels owners. Thus, a wireless communication automated
food ordering system is presented.

An Automatic food ordering system is ease, effective and convenient to use thereby leads to the
improvement of performance of the restaurant/hotel’s staff. But also, this system ensures customer
satisfactions and quality of services. Therefore, the proposed system has the potential to add
working efficiency of the restaurant staffs and to attract customers.

6.2 Challenges.

Towards the completion of this project several challenges were encountered throughout.

These challenges include:


1. Unavailability of some components in the market which led to changing of specifications on
some parts of the circuit so as to suit the requirements with the available components. Touch
screen were not available in the market, which led to replacing it with keypad.
2. Some of equipment used, have lower working efficiency which led to the un expected
performance of the project. The Rf modules used, transfers noisily signal which led to unclear
information at the kitchen unit.

6.3 Recommendations.

Below are the recommendations suggested for this project:

1. Prototype-level was the last achievement of this project. The prototype made for low power
application with one customer table only (customer unit), however this concept can be used
for high power applications with more than one tables.

30
2. In order to improve the system, rf modules to be used has to be the transceiver rf modules
so that to simplify the communication between the two units (transmitter and receiver).

6.4 Future Work.

Some limitations and unavoidable challenges led to failure to accomplish the expected work
hundred percent. So, in future some works has to be done so as to improve the performance and
quality of this proposed system. Below are future works to be performed so that the expected
performance and quality to be accomplished.

1. The use of transceiver rf modules with higher frequency range, so that so improve the
communication between the customer and the waiter in the longer distance (wireless).
2. The use of touchscreen in place of keypad. This will increase the comfortability of the
customer while ordering food.

31
REFERENCES

Soon, N. C., Wei, W. C., & Wen, J. Y. (2010). Design and Development of Multi-Touchable
ERestaurant . International Conference on Science and Social Research. Kuala Lumpur.

Ashutosh, B., Niranjan, J., & Apurva, J. (2013, April). Digital Ordering for Restaurant using
Android. Internal Journal of Scientific, 3(4).

Ashwini J, A. S. (April-2018 ). Automated Food Ordering System. International Journal of


Scientific & Engineering Research, 35-37.

Mahendra, C., Ankit, T., Neha, A., Priyanka, P., Namrata, K., & Kulkarni, P. P. (2017). Automated
Table Ordering System. International Journal of Advance Research and Development, 75-
74.

Shweta Shashikant Tanpure, P. R. (February 2013). Automated Food Ordering System with Real-
Time Customer Feedback. International Journal of Advanced Research in Computer
Science and Software Engineering, 200-220.

Soon Nyean Cheong, W. W. (December - 2010). Design and Development of Multi-Touchable


ERestaurant. In 2010 International Conference on Science and Social Research (CSSR
2010) (pp. 67-89). Kuala Lumpur, Malaysia: johnson's publishers.

V. Swapna, M. F. (December- 2012). Design and Implementation of Ordering System for


Restaurants. International Journal of Engineering Research & Technology(IJERT), 45-50.

32
APPENDICES.
Appendix A: Work Done So Far.

1. Consultation with supervisor.

2. Literature review.

3. Initial system design


4. Detailed design.
5. System simulation
6. Implementation of the design.
7. Prototype testing.

33
Appendix B: Time Schedule.

Table 1. Time Schedule.

S/N Activities WEEKS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

1 Literature
review

2 Consultation
with supervisor

3 Progress report
submission

4 First oral
presentation

5 Report writing

6 Submission of
report

7 Second oral
presentation

8 Prototype
testing

KEY

1. Work already done

2. Work to be done

34
Appendix C: Budget Estimation.

Table 2. Budget Estimation.

S/N Component Quantity Cost per piece (Tshs) Total cost (Tshs)

1 Arduino UNO R3 board with DIP 1 35000 35000


ATmega328P
2 Arduino NANO ATmega328P 1 25000 25000
3 Keypad 1 5000 5000
4 LCD Display 1 33000 33000
5 RF module 2 8000 7000
7 Connecting cables (Jumper cables) 30 3000 3000
8 Internet and stationery - - 20000
9 Transportation - - 10000
Total 138,000/=

35
Appendix D: Arduino codes.

#include <Wire.h>
#include <VirtualWire.h>
#include<LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#include <Keypad.h>
SoftwareSerial serial(12,11);
LiquidCrystal_I2C lcd(0x27, 20, 4);
int i=0;

char *controller;
char *controller1;
//const int buttonPin1 = 8;
//int buttonState1 = 0;
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {13,4,3,6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {10,5,8,7}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad


Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

36
String cart[6];
int count=0;
int menuState=0;

void setup()
{
// put your setup code here, to run once:
//Serial.begin(9600);
//pinMode(buttonPin1, INPUT);
//pinMode(7,OUTPUT);
//vw_set_ptt_inverted(true); //
//vw_set_tx_pin(12);
//vw_setup(8000);// speed of data transfer Kbps
serial.begin(9600);
delay(100);
lcd.begin(20,4);
lcd.backlight();
lcd.setCursor(2,0);
lcd.print(" WELCOME ");
lcd.setCursor(2,1);
lcd.print("COET RESTAURANT");
delay(100);
lcd.setCursor(0,2);
lcd.print(" F D 0");
lcd.setCursor(0,3);
lcd.print(" FOOD DRINKS OTHERS ");
}

void loop() {
//buttonState1 = digitalRead(buttonPin1);
//Serial.println(controller);

37
if(menuState==0){

char customKey = customKeypad.getKey();


if (customKey)
{
if (customKey == '0'){

zero ();
menuState=1;

}
else if (customKey =='1'){
one ();
menuState=1;
}

else if (customKey =='2'){


two ();
menuState=2;
}

else if (customKey =='3'){


three ();
menuState=3;
}

}
else if(menuState==1){

38
char customKey = customKeypad.getKey();

if (customKey){
if (customKey == '4'){

menu11();
menuState=11;

}
else if (customKey =='7'){
menu21();
menuState=21;
}
else if (customKey =='*'){
menu31();
menuState=31;
}
}

}
else if(menuState==2){

char customKey = customKeypad.getKey();

if (customKey){
if (customKey == '5'){

menu41();
menuState=41;

39
else if (customKey =='8'){
menu51();
menuState=51;
}
else if (customKey =='0'){
menu61();
menuState=61;
}
}

}
else if(menuState==3){

char customKey = customKeypad.getKey();

if (customKey){
if (customKey == '6'){

menu71();
menuState=71;

}
else if (customKey =='9'){
menu81();
menuState=81;
}
else if (customKey =='#'){
menu91();
menuState=91;
}
}

40
}

else if(menuState==11){
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '4'){

cart[count++]= "RICE BEANS";


addOrder();
menuState=40;

}
else if(customKey == '7'){

cart[count++]= "RICE MEAT";


addOrder();
menuState=40;

}
else if(customKey == '*'){

cart[count++]= "RICE CHICKEN";


addOrder();
menuState=40;

41
else if(menuState==21){
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '4'){

cart[count++]= "BANANA FISH";


addOrder();
menuState=40;

}
else if(customKey == '7'){

cart[count++]= "BANANA MEAT";


addOrder();
menuState=40;

}
else if(customKey == '*'){

cart[count++]= "RICE-BANANA";
addOrder();
menuState=40;

}
else if(menuState==31){

42
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '4'){

cart[count++]= "UGALI CHOMA";


addOrder();
menuState=40;

}
else if(customKey == '7'){

cart[count++]= "UGALI MAKANGE";


addOrder();
menuState=40;

}
else if(customKey == '*'){

cart[count++]= "UGALI CHICKEN";


addOrder();
menuState=40;

else if(menuState==41){
char customKey = customKeypad.getKey();

43
if (customKey)
{
if (customKey == '5'){

cart[count++]= "COCA-COLA";
addOrder();
menuState=40;

}
else if(customKey == '8'){

cart[count++]= "PEPSI";
addOrder();
menuState=40;

}
else if(customKey == '0'){

cart[count++]= "FANTA";
addOrder();
menuState=40;

else if(menuState==51){
char customKey = customKeypad.getKey();
if (customKey)

44
{
if (customKey == '5'){

cart[count++]= " MANGO JUICE";


addOrder();
menuState=40;

}
else if(customKey == '8'){

cart[count++]= "AVOCADO JUICE";


addOrder();
menuState=40;

}
else if(customKey == '0'){

cart[count++]= "MIXER";
addOrder();
menuState=40;

else if(menuState==61){
char customKey = customKeypad.getKey();
if (customKey)
{

45
if (customKey == '5'){

cart[count++]= " SMOOTHIE WITH MILK";


addOrder();
menuState=40;

}
else if(customKey == '8'){

cart[count++]= "SMOOTHIE WITHOUT MILK";


addOrder();
menuState=40;

}
else if(customKey == '0'){

cart[count++]= "SMOOTHIE-MIXER";
addOrder();
menuState=40;

else if(menuState==71){
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '6'){

46
cart[count++]= "CHIPS KAVU";
addOrder();
menuState=40;

}
else if(customKey == '9'){

cart[count++]= "CHIPS ZEGE";


addOrder();
menuState=40;

}
else if(customKey == '#'){

cart[count++]= "CHICKEN CHIPS";


addOrder();
menuState=40;

else if(menuState==81){
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '6'){
cart[count++]= "VANILLA CAKE";

47
addOrder();
menuState=40;

}
else if(customKey == '9'){

cart[count++]= "CHOCOLATE CAKE";


addOrder();
menuState=40;

}
else if(customKey == '#'){

cart[count++]= "PLAIN CAKE";


addOrder();
menuState=40;

else if(menuState==91){
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '6'){

cart[count++]= "FRUITS (1)";


addOrder();

48
menuState=40;

}
else if(customKey == '9'){

cart[count++]= "FRUITS (1/2)";


addOrder();
menuState=40;

else if(menuState==40){
char customKey = customKeypad.getKey();
if (customKey)
{
if (customKey == '1'){

home();
menuState=0;

}
else if (customKey =='2'){
waitMessage();
home();
menuState=0;
sendOrder();
}

49
else if (customKey =='3'){
home();
menuState=0;
count=0;
}

}
void home(){
lcd.clear();
lcd.setCursor(2,0);
lcd.print(" WELCOME ");
lcd.setCursor(2,1);
lcd.print("COET RESTAURANT");
lcd.setCursor(0,2);
lcd.print(" F D O");
lcd.setCursor(0,3);
lcd.print(" FOOD DRINKS OTHERS");

}
void addOrder(){
lcd.clear();
lcd.setCursor(2,0);
lcd.print("DO YOU WANT TO ADD");
lcd.setCursor(2,1);
lcd.print(" AN ORDER? ");
lcd.setCursor(0,2);

50
lcd.print(" F D O");
lcd.setCursor(0,3);
lcd.print(" YES NO EXIT");

}
void menu11(){
lcd.clear();
lcd.setCursor(1,0);
lcd.print("F1- RICE BEANS");
lcd.setCursor(1,1);
lcd.print("F2- RICE MEAT");
lcd.setCursor(1,2);
lcd.print("F3- RICE CHICKEN");
lcd.setCursor(1,3);
lcd.print("#- EXIT");

void menu21(){
lcd.clear();
lcd.setCursor(1,0);
lcd.print("F1- BANANA FISH ");
lcd.setCursor(1,1);
lcd.print("F2- BANANA MEAT");
lcd.setCursor(1,2);
lcd.print("F3- RICE-BANANA ");
lcd.setCursor(1,3);
lcd.print("#- EXIT");

}
void menu31(){

51
lcd.clear();
lcd.setCursor(1,0);
lcd.print("F1- UGALI CHOMA ");
lcd.setCursor(1,1);
lcd.print("F2- UGALI MAKANGE");
lcd.setCursor(1,2);
lcd.print("F3- UGALI CHICKEN");
lcd.setCursor(1,3);
lcd.print("#- EXIT");

void waitMessage(){
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" ORDER SENT ");
lcd.setCursor(1,2);
lcd.print(" PLEASE WAIT ");
lcd.setCursor(0, 3);
lcd.print("."); delay(15);
lcd.setCursor(1, 3);
lcd.print("."); delay(15);
lcd.setCursor(2, 3);
lcd.print("."); delay(15);
lcd.setCursor(3, 3);
lcd.print("."); delay(15);
lcd.setCursor(4, 3);
lcd.print("."); delay(15);
lcd.setCursor(5, 3);
lcd.print("."); delay(15);
lcd.setCursor(6, 3);

52
lcd.print("."); delay(15);
lcd.setCursor(7, 3);
lcd.print("."); delay(15);
lcd.setCursor(8, 3);
lcd.print("."); delay(15);
lcd.setCursor(9, 3);
lcd.print("."); delay(15);
lcd.setCursor(10,3);
lcd.print("."); delay(15);
lcd.setCursor(11, 3);
lcd.print("."); delay(15);
lcd.setCursor(12, 3);
lcd.print("."); delay(15);
lcd.setCursor(13, 3);
lcd.print("."); delay(15);
lcd.setCursor(14, 3);
lcd.print("."); delay(15);
lcd.setCursor(15, 3);
lcd.print("."); delay(15);
lcd.setCursor(16, 3);
lcd.print("."); delay(15);
lcd.setCursor(17, 3);
lcd.print("."); delay(15);
lcd.setCursor(18, 3);
lcd.print("."); delay(15);
lcd.setCursor(19, 3);
lcd.print("."); delay(15);

void zero()

53
{
controller="0" ;
//vw_send((uint8_t *)controller, strlen(controller));
//vw_wait_tx(); // Wait until the whole message is gone
//digitalWrite(7, HIGH);
lcd.clear();
lcd.setCursor(2,0);
lcd.print(" WELCOME ");
lcd.setCursor(2,1);
lcd.print("COET RESTAURANT");

delay(100);
lcd.setCursor(0,2);
lcd.print(" F D O");
lcd.setCursor(0,3);
lcd.print(" FOOD DRINKS OTHERS");

//digitalWrite(led9,LOW);
// i=0;
}
void one()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("F1- RICE");
lcd.setCursor(1,1);
lcd.print("F2- BANANA");
lcd.setCursor(1,2);
lcd.print("F3- UGALI");
lcd.setCursor(1,3);

54
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
//i=1;
}
void two()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("D1- SODA");
lcd.setCursor(1,1);
lcd.print("D2- JUICES");
lcd.setCursor(1,2);
lcd.print("D3- SMOOTHIE");
lcd.setCursor(1,3);
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void menu41()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("D1- COCA-COLA");
lcd.setCursor(1,1);
lcd.print("D2- PEPSI");
lcd.setCursor(1,2);
lcd.print("D3- FANTA");
lcd.setCursor(1,3);

55
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void menu51()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("D1- MANGO JUICE");
lcd.setCursor(1,1);
lcd.print("D2- AVOCADO JUICE");
lcd.setCursor(1,2);
lcd.print("D3- MIXER");
lcd.setCursor(1,3);
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void menu61()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("D1- MILKY");
lcd.setCursor(1,1);
lcd.print("D2- NO-MILK");
lcd.setCursor(1,2);

56
lcd.print("D3- MIXER");
lcd.setCursor(1,3);
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void menu71()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("O1- CHIPS KAVU");
lcd.setCursor(1,1);
lcd.print("O2- CHIPS ZEGE");
lcd.setCursor(1,2);
lcd.print("O3- CHICKEN CHIPS");
lcd.setCursor(1,3);
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void menu81()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("O1- VANILLA CAKE");
lcd.setCursor(1,1);
lcd.print("O2- CHOCOLATE CAKE");

57
lcd.setCursor(1,2);
lcd.print("O3- PLAIN CAKE");
lcd.setCursor(1,3);
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void menu91()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("O1- FRUITS (1)");
lcd.setCursor(1,1);
lcd.print("O2- FRUITS (1/2)");
lcd.setCursor(1,2);
lcd.print(" ");
lcd.setCursor(1,3);
lcd.print("#-EXIT");
//digitalWrite(led9,LOW);
i=2;
}

void three()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("O1- CHIPS");
lcd.setCursor(1,1);

58
lcd.print("O2- CAKES");
lcd.setCursor(1,2);
lcd.print("O3- FRUITS");
lcd.setCursor(1,3);
lcd.print("#- EXIT");
//digitalWrite(led9,LOW);
// i=3;
}

void four()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("Order yako imetumwa");
lcd.setCursor(1,2);
lcd.print("Tafadhari subiri");
lcd.setCursor(0, 3);
lcd.print("."); delay(15);
lcd.setCursor(1, 3);
lcd.print("."); delay(15);
lcd.setCursor(2, 3);
lcd.print("."); delay(15);
lcd.setCursor(3, 3);
lcd.print("."); delay(15);
lcd.setCursor(4, 3);
lcd.print("."); delay(15);
lcd.setCursor(5, 3);
lcd.print("."); delay(15);
lcd.setCursor(6, 3);
lcd.print("."); delay(15);

59
lcd.setCursor(7, 3);
lcd.print("."); delay(15);
lcd.setCursor(8, 3);
lcd.print("."); delay(15);
lcd.setCursor(9, 3);
lcd.print("."); delay(15);
lcd.setCursor(10,3);
lcd.print("."); delay(15);
lcd.setCursor(11, 3);
lcd.print("."); delay(15);
lcd.setCursor(12, 3);
lcd.print("."); delay(15);
lcd.setCursor(13, 3);
lcd.print("."); delay(15);
lcd.setCursor(14, 3);
lcd.print("."); delay(15);
lcd.setCursor(15, 3);
lcd.print("."); delay(15);
lcd.setCursor(16, 3);
lcd.print("."); delay(15);
lcd.setCursor(17, 3);
lcd.print("."); delay(15);
lcd.setCursor(18, 3);
lcd.print("."); delay(15);
lcd.setCursor(19, 3);
lcd.print("."); delay(15);

controller="1" ;
serial.print("TABLE ONE UGALI");
// vw_send((uint8_t *)controller, strlen(controller));

60
/// vw_wait_tx(); // Wait until the whole message is gone

void five()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("Order yako imetumwa");
lcd.setCursor(1,2);
lcd.print("Tafadhari subiri");
lcd.setCursor(0, 3);
lcd.print("."); delay(15);
lcd.setCursor(1, 3);
lcd.print("."); delay(15);
lcd.setCursor(2, 3);
lcd.print("."); delay(15);
lcd.setCursor(3, 3);
lcd.print("."); delay(15);
lcd.setCursor(4, 3);
lcd.print("."); delay(15);
lcd.setCursor(5, 3);
lcd.print("."); delay(15);
lcd.setCursor(6, 3);
lcd.print("."); delay(15);
lcd.setCursor(7, 3);
lcd.print("."); delay(15);
lcd.setCursor(8, 3);
lcd.print("."); delay(15);
lcd.setCursor(9, 3);

61
lcd.print("."); delay(15);
lcd.setCursor(10,3);
lcd.print("."); delay(15);
lcd.setCursor(11, 3);
lcd.print("."); delay(15);
lcd.setCursor(12, 3);
lcd.print("."); delay(15);
lcd.setCursor(13, 3);
lcd.print("."); delay(15);
lcd.setCursor(14, 3);
lcd.print("."); delay(15);
lcd.setCursor(15, 3);
lcd.print("."); delay(15);
lcd.setCursor(16, 3);
lcd.print("."); delay(15);
lcd.setCursor(17, 3);
lcd.print("."); delay(15);
lcd.setCursor(18, 3);
lcd.print("."); delay(15);
lcd.setCursor(19, 3);
lcd.print("."); delay(15);

controller1="1" ;
serial.print("TABLE ONE WALI");
//vw_send((uint8_t *)controller1, strlen(controller1));
//vw_wait_tx(); // Wait until the whole message is gone

void six()
{

62
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Order yako imetumwa");
lcd.setCursor(1,2);
lcd.print("Tafadhari subiri");
lcd.setCursor(0, 3);
lcd.print("."); delay(15);
lcd.setCursor(1, 3);
lcd.print("."); delay(15);
lcd.setCursor(2, 3);
lcd.print("."); delay(15);
lcd.setCursor(3, 3);
lcd.print("."); delay(15);
lcd.setCursor(4, 3);
lcd.print("."); delay(15);
lcd.setCursor(5, 3);
lcd.print("."); delay(15);
lcd.setCursor(6, 3);
lcd.print("."); delay(15);
lcd.setCursor(7, 3);
lcd.print("."); delay(15);
lcd.setCursor(8, 3);
lcd.print("."); delay(15);
lcd.setCursor(9, 3);
lcd.print("."); delay(15);
lcd.setCursor(10,3);
lcd.print("."); delay(15);
lcd.setCursor(11, 3);
lcd.print("."); delay(15);
lcd.setCursor(12, 3);

63
lcd.print("."); delay(15);
lcd.setCursor(13, 3);
lcd.print("."); delay(15);
lcd.setCursor(14, 3);
lcd.print("."); delay(15);
lcd.setCursor(15, 3);
lcd.print("."); delay(15);
lcd.setCursor(16, 3);
lcd.print("."); delay(15);
lcd.setCursor(17, 3);
lcd.print("."); delay(15);
lcd.setCursor(18, 3);
lcd.print("."); delay(15);
lcd.setCursor(19, 3);
lcd.print("."); delay(15);

controller="1" ;
serial.print("TABLE ONE NDIZI");
//vw_send((uint8_t *)controller, strlen(controller));
// vw_wait_tx(); // Wait until the whole message is gone

}
void seven()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("Order yako imetumwa");
lcd.setCursor(1,2);
lcd.print("Tafadhari subiri");
lcd.setCursor(0, 3);

64
lcd.print("."); delay(15);
lcd.setCursor(1, 3);
lcd.print("."); delay(15);
lcd.setCursor(2, 3);
lcd.print("."); delay(15);
lcd.setCursor(3, 3);
lcd.print("."); delay(15);
lcd.setCursor(4, 3);
lcd.print("."); delay(15);
lcd.setCursor(5, 3);
lcd.print("."); delay(15);
lcd.setCursor(6, 3);
lcd.print("."); delay(15);
lcd.setCursor(7, 3);
lcd.print("."); delay(15);
lcd.setCursor(8, 3);
lcd.print("."); delay(15);
lcd.setCursor(9, 3);
lcd.print("."); delay(15);
lcd.setCursor(10,3);
lcd.print("."); delay(15);
lcd.setCursor(11, 3);
lcd.print("."); delay(15);
lcd.setCursor(12, 3);
lcd.print("."); delay(15);
lcd.setCursor(13, 3);
lcd.print("."); delay(15);
lcd.setCursor(14, 3);
lcd.print("."); delay(15);
lcd.setCursor(15, 3);
lcd.print("."); delay(15);

65
lcd.setCursor(16, 3);
lcd.print("."); delay(15);
lcd.setCursor(17, 3);
lcd.print("."); delay(15);
lcd.setCursor(18, 3);
lcd.print("."); delay(15);
lcd.setCursor(19, 3);
lcd.print("."); delay(15);

controller="1" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone

}
void eight()
{

lcd.clear();
lcd.setCursor(1,0);
lcd.print("Order yako imetumwa");
lcd.setCursor(1,2);
lcd.print("Tafadhari subiri");
lcd.setCursor(0, 3);
lcd.print("."); delay(15);
lcd.setCursor(1, 3);
lcd.print("."); delay(15);
lcd.setCursor(2, 3);
lcd.print("."); delay(15);
lcd.setCursor(3, 3);
lcd.print("."); delay(15);
lcd.setCursor(4, 3);

66
lcd.print("."); delay(15);
lcd.setCursor(5, 3);
lcd.print("."); delay(15);
lcd.setCursor(6, 3);
lcd.print("."); delay(15);
lcd.setCursor(7, 3);
lcd.print("."); delay(15);
lcd.setCursor(8, 3);
lcd.print("."); delay(15);
lcd.setCursor(9, 3);
lcd.print("."); delay(15);
lcd.setCursor(10,3);
lcd.print("."); delay(15);
lcd.setCursor(11, 3);
lcd.print("."); delay(15);
lcd.setCursor(12, 3);
lcd.print("."); delay(15);
lcd.setCursor(13, 3);
lcd.print("."); delay(15);
lcd.setCursor(14, 3);
lcd.print("."); delay(15);
lcd.setCursor(15, 3);
lcd.print("."); delay(15);
lcd.setCursor(16, 3);
lcd.print("."); delay(15);
lcd.setCursor(17, 3);
lcd.print("."); delay(15);
lcd.setCursor(18, 3);
lcd.print("."); delay(15);
lcd.setCursor(19, 3);
lcd.print("."); delay(15);

67
controller="1" ;
serial.print("TABLE ONE juice");
// vw_send((uint8_t *)controller, strlen(controller));
// vw_wait_tx(); // Wait until the whole message is gone

void sendOrder(){
serial.println("***********NEW ORDER**************");
serial.println("********* TABLE ONE**************");
String sentItems = "";
//serial.println(item);
//serial.println(count);
for(int i=0;i<count;i++){
String item = cart[i];
if(sentItems.indexOf(item)== -1){
int vl = isInCart(item);
serial.print(item);
serial.print(" (");
serial.print(vl);
serial.println(")");
sentItems.concat(" "+item + " ");
//serial.println( sentItems);
}

serial.println( " ");


count=0;
}

68
int isInCart(String item){
int vl=0;
for(i=0;i<count;i++){
if(item.equalsIgnoreCase(cart[i])) vl++;
}

return vl;

69

You might also like