The Wiimote makes a perfect control system for a fire fighting robot. A wiimote can both send and recieve bluetooth commands, making it a low cost bluetooth transciever.
It also has IR sensors which can detect a candle and a bluetooth transciever to communicate back to a host computer. I used a boebot as the robot platform, an arduino, wiimote and a Linux computer.
The wiimote uses its IR sensor to find the candle. It transmits the sensor readings back to the host computer over bluetooth . A C program running on the host computer reads the sensor data and sends commands back over bluetooth to the wiimote. The wiimote relays those commands to an arduino board over the wiimote's expansion port.
The wiimotes expansion port uses the I2C protocol. So normally a nunchuck is reading/sending those I2C commands, but in my case an arduino is reading them. The arduino then controls the servos (the boebot uses rc servos modified for continuous rotation) and a fan. The fan is switched on/off with a ULN8023 chip.
This fire fighting robot is still very crude. It lacks the number of sensors that you would be need to seriously compete. It is mainly a proof of concept that the wiimote can be used in a fire fighting robot. It basically just circles around until it sees a candle, then turns on the fan and moves toward the candle. The wiimote seems to loose the flame when it gets withing 4 inches. Maybe the candle is overloading the sensors or maybe its just bad programming on my part.
C code for host computer
The C program depends on version .4 of libcwiimote