Electrical Design
How it works
All control of the BroBot is handled via a standard Nintendo WiiMote and an Arduino. The WiiMote communicates via a Bluetooth HID protocol and reports information regarding which buttons have been pressed and infrared camera readings. In order to communicate to the Arduino via Bluetooth HID, a USB host shield is required. Most Bluetooth devices that interface with the Arduino are serial communications so they will not work with the WiiMote. This host shield provides the capability to interface between the Arduino and a USB port, which is connected to a Bluetooth USB dongle that has a BC41B143A chip. Drivers must be written for both the USB and Bluetooth interface. The user can control the BroBot either in autonomous mode or manual mode. A description of the interface is included below.
WiiMote Button Description:
Home - Toggle between autonomous mode and manual override mode.
A - If autonomous mode, start the autonomous sequence.
B - If manual mode, toggle position cam braking mechanism.
Plus - Toggle between the two types of control for up/down.
Minus - If manual mode, brake all the motors. Safety shutdown.
Up/Down - If manual mode, raise/lower either the retrieval system (default) or
the catapult arm. Switch between the two by pressing Plus.
Left/Right - If manual mode, rotate the base.
Although not currently implemented due to finicky data, the BroBot has the capability of throwing the beverages dependent on the user's distance. By using a Wii Sensor Bar, the WiiMote can report back the position of up to four infrared LEDs. After selecting which two points to use (the Wii Sensor Bar has up to 6 IR LEDs), we use triangulation to determine how far the user is from the fridge. From here we can calculate how far back the catapult arm is pulled back.


