During one of the first fairs that Robostorm had had a tent at, we noticed that it was very hot at the fair, and no one wanted to venture into the sun to buy water from a vendor. It is from this that we can up the the Aquabot, a robot that brings the water to you.
At first, I was in charge of building the base and making it move. We decided to reuse the base of an old powered wheelchair, and add our own electronics to make it remote control. We were able to get one donated from a local assisted living place. We got a new battery, and removed the old chair and electronics, but kept the drive motors. We built a wooden frame above the steel frame of the base, and added a large electronics box to the back. In designing the circuit to drive the Aquabot, we made sure to add safety features to avoid urning people over by accident. The power switch operated somewhat like a key in a car: there is an
on, and momentary
start positions. The
start position will activate a latching relay that controls power to the motors, allowing a bumper on the front of the Aquabot to disable the relay, turning of the motors. To be re-enabled, the switch must be held in the
start position. We chose a motor controller that could take in RC receiver inputs directly, without the need for a microcontroller. However, it was later decided to add an Atmega328 microcontroller to process the inputs and provide additional safety features. The board that it is on was designed so that the microcontroller can be bypassed easily, if the code ever had an issue. The microcontroller will require that it be 'activated' by pressing a button on the remote, and will stay activated for five seconds or as long as it is moving. This makes it less likely that a stick on the remote will get accidentally bumped and cause unexpected motion. The microcontroller also limits the acceleration of the Aquabot, so that if the stick is bumped while it is activated, it will not suddenly jerk.
The cooler and water dispenser was originally made by other members of the club. It use Lego Mindstorms motors and controller to accept money and dispense water. It also used two coolers, one as storage and dispensing, and the other with a track to guide the water out. This was used for the first fair of the Aquabot, but it had issues. The Lego motors were not really powerful enough to dispense the water, and it could only hold a couple bottles at a time. For the second year, I redesigned the cooler and water dispenser. Instead of using Lego Mindstorms, it used a Teensy++ 2.0 for the brains, and a high powered, metal geared hobby servo to dispense the water. The dispenser was redesigned to fit entirely in one cooler, and was 3d printed. This way, parts could be reprinted at the fair if something broke. It was also designed so that an extra servo could be added if one was not enough. The bill acceptor was replaced with one from an old vending machine. Although we were not able to get bill validation to work, it does accept bills much better than the old one. I made a clear acrylic box to hold the bill acceptor, money, and electronics on top of the cooler. The next year, the electronics were moved to a second acrylic box to hold a display, keypad, and LED driver board. LED strips were added to the outside of the Aquabot, and flash different colors when a bill is inserted and a bottle dispensed. The LCD displays the number of bottles remaining and sold, and can also be use with the keypad to set the bottles remaining, bottles sold, and the brightness of the LED strips.