During Øredev this year we decided to have a zeppelin in our booth, and to make it more fun we decided that it should be remote controlled! After a few iterations (hardware projects can be done agile too) we ended up with the following thing - an Arduino powered zeppelin that communicates with a computer using XBee and is controlled with a Wiimote connected to the same computer. The leetZeppelin was built by Fredrik Leijon (@fleijon) and Marcus Olsson (@macke). We think that all the gazing at the sky and half opened mouths proves that it was a huge success!
We started with a remote controlled Blimp from rctoys.com and as soon as it arrived we gutted the gondola to make place for the Arduino controller we wanted to use.
[caption id="" align="aligncenter" width="298" caption="First version"][/caption]
However, after some testing we realized it was too heavy and hard to steer so we decided to build our own gondola and ended up only using the engines that came with the Blimp kit.
The second version of the gondola had two motors that were able to change angle of the motors to direct thrust and easier steer the zeppelin. The motor mounts consist of carbon fiber tube glued to a Lego rod with a gear connected to a servo motor. Servo and the motor mount where glued to a frame of cardboard.
[caption id="" align="aligncenter" width="298" caption="Servo controlling motor direction"][/caption]
[caption id="" align="aligncenter" width="400" caption="Motor mount"][/caption]
To be able to drive the motors in both directions (to be able to go both forward and reverse) we dismantled 2 servos and jury rigged the controllers to work as motor controllers.
[caption id="" align="aligncenter" width="400" caption="Fredrik modding a servo motor"][/caption]
[caption id="" align="aligncenter" width="400" caption="Modded servo control"][/caption]
The zeppelin is controlled by an Arduino FIO. We chose the FIO since it has a connection for LiPo batteries and a XBee module can be mounted directly on it. To create place for the battery we used some Lego bricks for creating space between the Arduino and the cardboard frame. The Lego was glued to the frame and we used tape to attach the micro controller.
[caption id="" align="aligncenter" width="400" caption="Finished gondola"][/caption]
Just for the lulz we added an IR Led and the code for TV-B-Gone that allowed us to turn off TVs if a secret key combination was pressed on the Wiimote. We used a slightly modified version of Ken Shirriff's Arduino port of the tv-b-gone software.
[caption id="" align="aligncenter" width="400" caption="Tv-B-Gone IR Led"][/caption]
The computer controlling the zeppelin has a Wiimote and an XBee module, the software used to control the zeppelin is written in python using wxPython. The purpose for it is to parse input from the Wiimote and send it to the zeppelin.
The computer communicates with the Arduino controller over a serial port; the XBee modules create a wireless serial link between them. To get input from the Wiimote we used the CWiid library with a python wrapper. The reason for using python and Linux was simply that it allowed us to quickly build a working solution and the Wiimote library’s for Linux works a lot better than Windows versions.
Here's a list of the important parts used.
<strong>Hardware - Zeppelin</strong>
- Arduino FIO
- Servo motors
- 2 x Servo motor or motor controller
- Blimp Balloon Envelope (rctoys.com)
- IR Led
- Carbon fiber tube
- Lego Gears
- Lipo Battery - 1s 1000 mAh
<strong>Hardware - C&C</strong>
- Wii mote
- Computer running Linux
- Bluetooth dongle
<strong> </strong> <strong>Software</strong>
Some of the pilots
[caption id="" align="aligncenter" width="298" caption="Happy pilot "][/caption]
[caption id="" align="aligncenter" width="298" caption="Preflight check OK"][/caption]
Shameless plug: Are you a ninja? We are hiring in all our offices.