Table Token Generator and Indicator in Restaurant using Microcontroller

DOI: http://dx.doi.org/10.24018/ejeng.2022.7.2.2761 Vol 7 | Issue 2 | March 2022 55 Abstract — Over the years, technology has vastly modernized the restaurant industry. Much of the innovation has been with Point of Sale (POS) operations. But still there is some scope to improve the customer service. In this paper, we proposed a solution that makes interacting with waiters much easier, faster, and more convenient. There are few systems which are being developed in Arduino as a table token system. As a microcontroller, Arduino is an advantageous hardware that can be programmed to be used for a variety of applications. This study is based on giving a better experience to customers by improving the response time. Instead of yelling or using some bells, customers can generate a token by pushing a button. With this the waiter can be informed which table needs attention and quickly respond to the needs of the customer. Moreover, this will allow the customers to experience a quiet and fine dining atmosphere which in future will insure better customer loyalty and profit for the restaurant. In a nutshell, this paper deals with designing a system that will make interacting with waiters as well as serving customer smoother and more affordable.

I. INTRODUCTION 1 Nowadays, many restaurants manage their business by manual, especially taking customer orders manually or with waiters in inefficient ways. Some are using POS systems mostly for billing. There is a specific lack of use of technology in normal fast food chains. Mostly the present technology emphasizes on Billing and processing order but there are very few systems that are focused on giving customers quicker response based on customer needs [1]. Waiters traditionally engage directly with clients before processing orders in a traditional restaurant. A high-quality suggestion service system would actively identify customers as well as their preferred meals and spending records. The idea of this research comes from personal experiences in restaurants and fast food chains. This can be achieved by designing a system where the customer will generate a token by pushing a button while sitting in a table and it will indicate in the segment display by showing the number of the table. A noise will be made by a notification buzzer that will indicate that a certain numbered table requires attention. As a result, a waiter can quickly respond to the needs of the customer. Since there is an automated queue, the waiter can track the sequence of tables that need attention. Our collective experiences showed a need for a model that addresses the customer waiter interaction problems. We work on the idea and implement a new and more practical and economically profitable solution that will serve customers and employees alike. This model can gain popularity as many restaurants and fast-food chains are expanding as this is a fast industry but are having a lot of difficulty in managing customers as the business grows larger. Instead of relying on table-hosts memory, the system will give a notification buzzer that will indicate that a certain numbered table requires attention as well as store the sequence of table numbers that has pushed the buttons. As a result, a waiter can quickly respond to the needs of the many customers. This also removes the communication problem with waiters when they are low in numbers.
The paper is broken into five parts, each of which is organized as follows: Section I contains an introduction, followed by a brief survey of relevant works on the use of microcontroller in section II, section III contains the methodology and modeling, section IV has the findings of this research and a discussion of the findings, and section V contains the conclusion.

II. LITERATURE REVIEW
A study of 94,404 customers visiting a popular Indian restaurant during a 12-month period had found that generally customers have to deal with a longer waiting time for basic restaurant services. Upon reviewing, it seems there lies a system where a user by using either the website, a mobile application, by phone, or, sometimes, on site, can reserve a table. The customer is immediately sent a confirmation email and an SMS. The automated queue management software updates the status whenever the queue position changes [2]. To operate the quiz buzzer with the sounding of an alarm sound and showing the team number that hits the button first, three distinct approaches were used. Often these systems are designed by 8051 processors. These approaches are the Fastest Finger First Indicator Circuit that uses all microprocessors' basic functionality, the Quiz Game Controller using the PIC16F877A microcontroller that uses this microcontroller's features along with UNL2003 and the Quiz Buzzer using the AT89C51 8051 microcontroller. Arduinos may be used for anything from wearable fashion to space exploration, and the possibilities are endless. Although it has its drawbacks, it is a useful instrument for education and learning [3]. The authors developed a different way for defining and solving problems that blends the feasible region approach with mechanism design. Additionally, it favors impatient customers while massively increasing lead times for patient customers. In certain circumstances, strategic delay is ideal when resource is sufficient, whereas in others, it is advantageous when resource is restricted. Researchers identified three main requirements that must exist in order for the ideal strategic delay to occur: a price, a lead time, and a segment size condition [4]. According to this research [5], the service provider's quality or value rises with the amount of time spent with the customer. As a result, greater service delays translate into longer customer wait times. The authors studied how an efficient "quality-speed trade-off" is made by a service provider. [6] The research indicated that optimizing profit requires striking a balance between service quality and cost. The conclusion revealed that by combining marketing and operational perspectives, the conventional perception of the conflict between service quality and cost may be resolved. This paper [7] asserts theorems resulting in high traffic limits for generalized ticketing and conventional queueing operations. In a ticket line, a customer is given a piece of paper with a number and informed of the customer's current service number. However, the arriving consumer must decide whether to accept the slip or balk, depending on their perception of the queue's length and corresponding wait time. In this research [8], restaurateurs seeking to optimize revenue should pay particular attention to the duration of their tables' occupancy and the average customer expenditure. Moreover, tables in less appealing locations inside the eating room had higher SPM values than tables in ostensibly pleasant settings. According to the results, restaurant designers should reevaluate their use of banquettes. The paper [9] discussed the difficulty of predicting the amount of service capacity that should be provided in a scenario where more capacity may result in increased demand. There is discussion of the difficulties associated with standard techniques. In certain instances, it is shown that it is feasible to predict optimum service capacity rather easily from transaction data. As a result, this approach has both educational and practical applications. The authors purported [10] that when demand is high and service is quick, the two-dimensional process monitoring the number of customers waiting in line and offline collapses to a single dimension for any fixed-capacity allocation choice. Due to limit process, authors solved for the capacity allocation that minimizes average cost when customer abandoning, and queueing charges are included. However, they demonstrated the effectiveness of a simple technique based on Little's Law for dynamically estimating both in-line and offline wait times. The purpose of this article [11] was to evaluate the effect of process improvements on customer perceptions of waiting and customer satisfaction. The results indicated that process adjustments may have a considerable effect on both the customer impression of wait time and the actual wait time. Additionally, it demonstrated the value of conducting a pilot of a proposed process modification and assessing critical process performance and customer satisfaction prior to execution. The authors sought [12] to alleviate customer disappointment by delivering customized menus for each customer based on their preferences via the use of splitting IT technologies [13]. Additionally, the app displayed a real-time map to the restaurant and the status of the current table reservation. The research's anticipated conclusion was the development of a completely automated restaurant management system with the aforementioned capabilities, as well as the ability to minimize order confusion and enable the customer to quickly choose a menu based on their preferences. This paper studied [14] about "Waiter Robo" which is used to order food, drinks, and clear tables, etc. The menu bar is comprised of an LCD display, a keypad, and a Bluetooth module. The order is sent to the kitchen and reception through the communication network. Following that, food is distributed to the customer. This article detailed the design and development of a waiter robot that is being explored as a potential replacement for human automation. [15] The objectives of this study were to investigate the effect of such reliance on critical performance indicators, such as estimated wait times and average queue length, as well as on capacity optimization choices. Due to the intractable nature of precise analysis, authors proposed a new framework that incorporates the fluid model with bivariate dependency orders and copulas.

III. METHODOLOGY AND MODELING
Our model works on the basis of interaction between a customer and a waiter. Here, the customer calls for service, and the waiter provides it. Our model deals with managing this interaction in a way that makes it convenient and efficient. To do so, we designed our model that takes input from customer tables, display that specific table, uses sound to indicate the need of service and stores the sequence to make table management easier for the waiter. This process is also managed by the waiter or cashier. This model is a simulated design that can be constructed into an actual physical product. To design the model, we used Arduino chips as our base and expanded upon that using its basic principles and properties. As a microcontroller, Arduino is a very convenient hardware that can be programmed to be used for implementing various models. We programmed the Arduino based on our models need and then added components with to finally design our desired system.

A. Working Principle
This system is designed upon following some key principles. Using these rules, we have constructed the structure and workings of the model. 1) Switching Principle: Here we used to switch principles of a switch circuit to change the states of Arduino pins from high to low. Since the system is normally in active high state, we use the switches to change a state to active low, which works as our input that can be interpreted to provide specific output signals. 2) Arduino Coding Principle: Through Arduino coding, we have pre-defined some states and also set some instructions to be completed for those state changes.
Through the coding, we check whether any state goes from active high to low and based on the pin number, we change the states of the output pins accordingly to get our desired outcome. 3) Transistor switching: Here when we get the high voltage on the base of the transistor, the emitter collector path will be active and current will flow through the speaker to ground. 4) Display Principle: It follows the principle of 7-segment display. Input is checked in Arduino and for a specific input, a specific output sequence is given which in turn lights up a specific number on the display. 5) Queue Principle: Here, using the basic principles of a queue, the button pressing sequence of the tables is stored which is displayed in the queue and can also be dequeuer using a dequeening switch. Here, we have a switch network of 8 switches. One terminal of the network is connected with 8 input pins (A0-A5, D0-D1) of Arduino 1 and the other terminal is connected to ground. There is also a bulb network. One terminal of the bulb network is connected with 5V and another terminal is connected to the switch network. The bulb and table push buttons will be attached to the table. We then have a resistor box connecting with the Arduino input pins with 5 V power, keeping them in active high state. The output pins (D12-D5) are connected to 7-segment display and D4 is connected with the speaker through a 2n2222 NPN transistor and 1N4007 diode. A reset push button is also attached with the reset pin. The output pins D2-D5, D11, D12 are connected with the 16×2 LED to display the queue.

B. Implementation
The second Arduino uses the same input configuration as the first Arduino except one difference. Here, the D13 input pin is connected with a push button that works for dequeuer operation. The reset buttons and dequeuer button will be placed near the cashier table and the displays, and the buzzer will be attached in a central position.

C. Measurement/ Test Setup
Our model tries to make easier and faster interaction between the customer and the waiter. The engineering problem that lies here is understanding basic principles of various electronics and using those principles to structure a model using physical components that will solve the initial problem of inefficient and unsatisfying customer waiterinteraction. To tackle the problem, we have proposed our model throughout this paper. The key point of solving this issue lies in understanding how the system actually works. When a customer pushes the switch, the 7-segment display will show the table no, the lamp attached to the table will blink, the speaker will play a tone and the table number will be stored in the queue. So, the waiter will be alert and can provide service to that table while keep an eye on the queue to see the sequence of tables that need attention. The cashier or the waiter/table-host can reset the 7-segment display when the service is provided and can dequeuer the serviced table no from the queue. They can also reset the queue.
In this way, the customer can quickly alert the waiter that he requires service without calling or shouting and the waiter can provide service to the customer quickly while also keeping track of the tables that he or others have to serve. So, in this way, the model solves our initial problem with satisfactory results. Further data on model effectiveness can be collected when it is implemented in real life using hardware and placed in actual restaurants.

A. Simulation
In previous sections, the circuit structure and workings have been explained. Here, we will explain how actually the system works.
The Arduino 1 is coded in a way so that the output pins go to high state in such a sequence that the 7-segment display shows 0. The Arduino 2 uses liquid crystal header file to initialize the output to work as the controller for the 16×2 LED display. Two strings are used in the coding of Arduino 2. One is used to show the word 'Queue:' and another string is used to work as a queue to store and modify table number sequence. The Arduino 1 also has an additional function that plays a user specified tone through the speaker.
Both Arduinos are coded in the same input configuration to check for state from high to low. Initially, the input pins are set to high by 5 V supply. When a table button is pushed, that line is connected to the ground and so that input pin goes to low state. For this change in input state, the Arduino 1 sets the output pins accordingly to high state to show the table number in 7-segment display by powering specific diodes. The output pin connected to the speaker will also go to high state and the speaker will play the tone. Meanwhile, Arduino 2 will concatenate the table number to the queue string. Also, since the lamp with the table is connected to the ground, the circuit will be complete, and the lamp will blink. The reset switches connect the reset pin to the ground and refreshes associated systems. Refreshing Arduino 1 sets the 7-segment display to 0 again and refreshing Arduino 2 will clear the queue string. Arduino 2 has an additional button that works in the same principle as the input switches. Using it will remove the first number of the queue string thus dequeening the queue.

B. Experimental Result
• Each table switch has an associated lamp attached with it which will blink when switch is pushed. The reset buttons have no lamps attached with them. • A0-A5, D0, D1, RST pins are input pins that functions when in active low state. • D12-D5 are output pins that are attached to diodes of seven segment display, D4 is attached to buzzer circuit. • Depending on the diode combination, seven segment display displays a number, indicating the table needing attention. • Pressing the reset button of Arduino 1 will reset the segment display while pressing the reset button of Arduino 2 will reset the queue. Since the system is designed based on HIGH and LOW logic, the theoretical and testing values will always match. If they don't match, then that indicates manufacturing defects on the hardware or buggy code compiled for Arduino chips.

C. Software Based Comparison
In our initial version of the model, we implemented the system in tinker cad. Since it was an early iteration, there were some significant limitations. Comparing the final Proteus version and the tinker cad version not only provides a decent comparison between the two models and two different mediums of model design, but also gives insight on how the model progressed over time. 1) The initial version had an extra start switch which had to be turned on every time manually to allow input from the table. This method was heavily inefficient as there can be multiple inputs at a time from the tables but these won't be registered thus creating a bad scenario. On the Proteus version, there is no such hassle, multiple inputs are counted without the need of manual intervention by the waiter. The system is plug and play based. So no start switch required. 2) If two customers press buttons at the same time, then there is no way of handling both of them in the tinker cad build.
In the Proteus version, this has been handled by the inclusion of a queue. 3) Since the tinker cad version has no queue associated, the features of enqueuer and dequeuer cannot be implemented.
The Proteus version has a robust automated enqueuer and a manual dequeuer system. 4) Comparing the two software tools side by side, Proteus provides more functionality, equipment libraries and features compared to tinker cad. Tinker cad lacks in component diversity and implementation methods. This is very apparent in this model as there is no built in Arduino Nano chip. As a result, we have to implement the model using Arduino Uno, which for our purpose, is expensive. 5) Another difference in implementation between Proteus and tinker cad is that tinker cad will require a breadboard for proper arrangement of the components. Due to the constructions of the breadboard, a good amount of pins remain unused to prevent congested circuits. This means we need two breadboards in tinker cad to develop this model which will not only increase the size of the system but also will introduce additional cost for breadboards. From these comparisons, we can conclude that while Proteus and tinker cad are similar, Proteus overall suits better for our model due to the vast component library and more robust system. It is also apparent that the model we have done in Proteus has improved significantly from our initial tinker cad design.

V. CONCLUSION
In this paper, we tried to design a system that will make customers get service from waiters easier and more convenient. The idea came to us from personal experiences that convinced us that there is need for such a system and after some in-depth searching, we realized this is not a common technology and so we saw potential in such a system that can really push the restaurant industry forward. To do so, we used our existing knowledge of microcontrollers and electronics and used basic electronics principles to construct a design to serve our purpose.
We have also realized the effect this model can have on social-economic conditions of the society. This is a model that can provide good service with low cost thus bringing a fair bit of economic value in society. Since it is a fairly low cost and efficient system, there is opportunity for good profit margins.
In each iteration, we have faced newer challenges and limitations and we worked on them to improve the quality of the model. While we have made significant progress from our initial design, we still have some limitations such as: reset switch and dequeuer switch are fixed in a position through wires, lack of LED included push buttons and no system to calculate, store the delay between pressing the button and getting the service from table-host. These problems can be fixed in future implementations.