You are on page 1of 8


Our Technical Solution:

a) Client – Customer system:

LCD & PIR Circuits

The technical solution for this problem is to construct a smart restaurant that is based on IoT
technology, we put a PIR Sensor (Motion sensor) in each table once the customer is in the sensor
send a signal to the kitchen staff, alerting the waiter that is a customer waiting for them and by that
we minimize the time of serving the client, which rise the satisfaction of our client . (FIGURE 1)

Once the command is sent to the Arduino the kitchen staff start to prepare the meal, (FIGURE 2)
while that is happening, a LED is turn on, in the table of the customer which indicates that his order is
in process.

The order now is prepared the restaurant is fully automated, by a line follower Robots, that deliver the
meal to the customer, in such a short time, which improve the efficiency of the restaurant.

Figure 1 : PIR Sensor Circuit .

println("Motion Ended").println("Customer Arrived"). pirstate = HIGH. int pirstate = LOW. INPUT)./* This program blinks pin 13 of the Arduino when the PIR Sensor detect an obstacle (Customer) */ int led = 13. LOW). pirstate = LOW. } void loop() { value = digitalRead(pin). int pin = 2. if(pirstate == LOW){ Serial. } } } . int value = 0. if(value == HIGH) { // turn the LED on (HIGH is the voltage level) digitalWrite(pin. pinMode(pin. HIGH).begin(9600). if(pirstate == HIGH){ Serial. OUTPUT). } }else { digitalWrite(led. void setup() { pinMode(led. delay(3600). Serial.

Figure 2 : LCD Circuit .

h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12. } .begin(16./* This sketch prints the customer order "" to the LCD The circuit: * LCD RS pin to digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W pin to ground * LCD VSS pin to ground * LCD VCC pin to 5V * 10K resistor: * ends to +5V and ground * wiper to LCD VO pin (pin 3) * PIR SENSOR pin to digital pin 13 */ // include the library code: #include <LiquidCrystal. } void loop() { // set the cursor to column 0. 3. 2). 2).setCursor(0. // print the number of seconds since reset: lcd. lcd. 11. 5. // Print a message to the LCD. since counting begins with 0): lcd.print("Order Menu Num 9"). 1).print("Table Num 1"). void setup() { // set up the LCD's number of columns and rows: lcd. line 1 // (note: line 1 is the second row. 4.

4v ( 7. this one is compatible)  Lithium Ion Battery .65mm  Jumper wires (generic)  Toggle Switch  RFID Tag (Generic)( 4 of them)  Buzzer  Male Header 40 Position 1 Row (0.HC-SR04 (Generic)  RFID Module (Generic)  SparkFun RedBot Sensor .1000mAh 7.140 RPM (Pair)  Wheel .4V batter but doesn't have to be this specific one )  Hobby Gearmotor .Line Follower  Texas Instruments H-Bridge Motor Driver 1A ( L293D.1") Design Figure 1 : Drawings .5V/16MHz  Custom PCB  Ultrasonic Sensor . Line follower Robot: Things used in this project:  SparkFun Arduino Pro Mini 328 .

To make it work on its own without human input there are also line sensors and RFID module to detect tags placed next to the line. L293D. small and easy to use. There is also an ultrasonic sensor to detect obstacles. safety first! To build the PCB you need some tools and components (Arduino. Because RFID module has to be powered with 3. battery connector. we also decided to add a buzzer to the circuit so that a robot can beep when certain RFID tag is detected. CAD Design: Circuit design: Everything is controlled by Arduino pro mini that is connected to the different components that we designed. 4V of nominal voltage). . Everything is powered by 2 cell LiPo battery (7. buzzer. as they say. 3. H bridge that controls cheap and popular gear motors is L293D. 3V we had to add a voltage regulator on the PCB so that it supplies proper voltage to the module. some breakaway headers. 3V voltage regulator).

Assembling the components of our circuits: Arduino code: You will find the code attached to the project by the name of line_follower_robot .