Mechatronics Learning Studio
Bar Bot
Andre Maurice, Terrence Phenix, Jory Seguin,
Department of Mechanical Engineering, University of Ottawa
For this mechatronics project, an automated
bartender system was devised and implemented. The concept behind
the project was a system that could pour ounce drinks into shot
glasses depending on user input. The system was built in order
to require the least amount of user input possible. The main
components of the bar bot consist of an Arduino Mega, three
submersible pumps, an LCD display, a potentiometer, a stepper
motor and a photoresistor circuit.
The building process began with the plywood
housing around the electronic systems. A shelf was built near
the top to store the three liquid reservoirs and a cut out was
made in the front panel to allow for the rotation of a drink
tray. A stepper motor was mounted to the base of the case and
the drink tray was press fit to the shaft of the motor. A rear
panel was fastened to the case to house the electrical
components of the system. Two 6V power sources were installed on
the back in order to power the Arduino and pumps from two
separate circuits.
The user switches on a DPST switch located on the
front panel in order to connect both power sources to their
respective circuits. This illuminates the LCD display on the
front panel and four blue LEDs located inside the case. Using a
potentiometer, the user can make their drink selection from a
preset library of three drinks. These choices are communicated
to the user through the LCD display. Once a selection has been
made, the user places the desired number of glasses into the
drink tray, up to a maximum of three. The user will then press a
momentary push button on the front panel to initiate the pouring
sequence. This activates the stepper motor circuit and the drink
tray begins to rotate around to the pouring nozzle. The
photoresistor circuit is located beneath the pouring nozzle. An
ambient light level measurement is taken from the four blue LEDs
inside the case. The drink tray rotates the glasses above the
photoresistor. The bottom of each glass has been blacked out in
order to create a significant drop in the level of light
reaching the photoresistor, if this resistance drops below a
predetermined value; this indicates to the Arduino that a glass
in present in the tray and the pumps are activated. If the
resistance level does not drop, this means that no glass is
present, the pumps are not activated and the tray is rotated to
the next slot. Once all positions in the drink tray have been
verified, the stepper motor returns to its initial position and
presents the user the desired drinks.