News Things that have been going on.

Bett and BananaDrone

03 February 2013

This week, we attended the 2013 Bett show and helped Stephen Heppell on the Learning Together stand.
We were invited by Tom Stacy to help teach kids Scratch and Python.
A small Scratch program being controlled using Bananas.

Kids were coming on to our stand having never even seen code before working through Scratch and leaving having written a small story in Python!
A short story made with python.

We also had some generic little cars that could be controlled over Bluetooth by an Android tablet, kids were then able to use a Javascript-like language to control them.
Bluetooth cars being controlled by an Android tablet.

On the stand, there was an incredibly large display, we had people tell Stephen that they remembered a time when the computers were that big and the screen was as small as the Pi!
A large screen for a small computer.

During all of this, Richard was hard at work, mostly trying to get Nodejs to work on the Raspberry Pi.
Why? Well we had an idea, what if we could fly Tom’s Parrot AR.Drone 2.0 using bananas and the MakeyMakey?
Well that’s exactly what we did.
Richard controlling an AR.Drone from a command line.

How BananaDrone works

It’s all quite simple actually, the AR.Drone creates a WiFi access point that we then connect to using a borrowed Airport Express, the ethernet from the Airport Express then goes into the Raspberry Pi.

MakeyMakey board connected up to four bananas.

For control, we had the kids hook up four bananas to the arrow keys on the MakeyMakey board, when you held the ground wire and touched a banana, it would complete a circuit and the MakeyMakey would send a keypress to the Pi.

On the software side, we used Nodejs along with the ar-drone and keypress libraries.
The code that goes from keypress to ar-drone was written at about 1AM the day before and is up on Richard’s GitHub.

Problems faced

As with any project, there were a few issues along the way, for starters, we had faital issues with Node on the Raspberry Pi and had to use Richard’s MacBook Pro to get things tested.
Nodejs failing to run.
We eventually found the issue.

OH, we're using the soft-float Debian, this is compiled for hard-float! Richard

So after reimaging the Raspberry Pi’s SD card to use hard-float Debian, Node ran correctly and everything was working except the network.
We had originally planned to get the AR.Drone to join our network but quickly gave up on that after discovering that we couldn’t set the timeout long enough for it to connect with all of the wireless access points in the hall also on 2.4Ghz.
After borrowing an Airport Express and configuring that, BananaDrone was finally ready for takeoff!

We even attracted the attention of Rob Bishop from the Raspberry Pi foundation!
Richard and Rob with a Model A Raspberry Pi
(Yes that’s a model A Pi, no we did not get one.)

Videos!

Command line testing using a Mac

Command line testing on the Raspberry Pi

BananaDrone fully working

Same from another angle

Second flight

Networking issues

I hate ifconfig, whenever you're looking at ifconfig something's going wrong and you want to be connected to the internet. Rob Bishop