Nature has a way of speaking to us in a way that soothes and revitalizes. Sounds of the wind in various places create low volume tones that we barely hear. They have a certain beauty and randomness to them that are unique to nature. We've all heard the wind rustling the leaves, hitting our cars, and, even in its most raw form, moving up against our ears on the beach and in open fields, but have we ever really gotten a chance to hear what the wind would sound like if we analyzed it electronically?
The Powerhouse Pirates have done just that. We modified a simple kite to hold an accelerometer and programmed an Arduino to play tones based on the accelerometer's input. The result is the SPEAKR! (Singing Portable Electronic Arduino Kite - Remix!). If the virtual world had wind, this is what it would sound like. And the best part is that it's cheap to build and easy to adapt! We're going to show you how...
Time: < 1 Day
Experience Level: Beginner
Step 1: What You'll Need....
This project is based on the open source platform Arduino. The advantage here is that most (if not all) of the components can be swapped out with cheap alternatives.
1) Arduino Uno (Adafruit Link) and Arduino Software
Most Arduinos or Arduino alternatives will work here.
2) Protoshield (or breadboard) (Adafruit Link)
The only thing used here is one circuit to the speaker and its corresponding resistor. We liked using the protoshield because it attaches right to our Arduino UNO.
3) 9V Battery 2.1mm plug (Adafruit Link)
This makes life easier. You can also use a wall adaptor, but then you have to bring your wall outside.
4) 1 100 ohm resistor (Amazon Link)
You only need one of these, and the actual resistance governs how loud your speaker is (so go for 1k or less).
(We purchased all of the above materials from our friends at Adafruit in their Arduino Starter Pack for $65 http://www.adafruit.com/products/68. If you've never used an Arduino before, it has a ton of replay value, so we'd recommend taking the plunge for a starter kit similar to this one.)
5) 8ohm speaker (Amazon Link)
This is where creativity comes in. Notice that though the speaker itself is less than a dollar, the shipping puts the total cost at about 14 bucks. We had a little fun here- we disassembled a talking greeting card and found one of these bad boys inside. The cards are available at most dollar stores. Radio Shack sells these speakers cheaply, as well.
6) Accelerometer - MMA7361 (Amazon Link)
Here's another point where we encourage getting creative. We used a MMA7361 - available off Amazon and Ebay for relatively cheap, but chances are if you dig deep you can find a similar model online for under 5 dollars. Wiring and documentation may be a bit different, but what's the fun in a project if it's not challenging?
7) 200 ft of 22 gauge wire (or 8 pieces of 22 gauge wire at 25 ft) (Radio Shack Link)
24 gague wire works, as well. 20 is starting to get a bit on the thick side. The thinner the wire, the easier it is to fly the kite. There is a tradeoff with the length of wire, as the signal degrades over long distance.
8) Misc odds and ends
b) Soldering Kit
c) Colored electrical tape (for marking wires- colored sharpies will work as well)
d) Bubble wrap 3"x2" (for protection in the event of a not-so-smooth landing)
e) Duct tape (to make the world go round)
f) 9V battery (power the Arduino)
g) Wire stripper (for electrical entertainment)
h) Scissors (because cutting with our teeth is annoying)
i) PC Board or breadboard (hold the accelerometer in place on the kite)
j) Optional: female headers if you don't want to solder your accelerometer to your breadboard
k) A windy day (or a car will work in a pinch)
...And last but not least, a kite of your choice! We bought ours for $5 at Five Below. The bigger the kite, the better it will support weight, but some larger kites are more difficult to fly (and more painful to watch crash if you're not experienced).
Step 2: Assemble the Arduinooooo!
1. Build your Arduino Uno, if you did not purchase it pre-built.
2. Solder the Protoshield together.
3. Properly attach the Protoshield to the Arduino Uno.
Step 3: Cut and Label Wires
1. Cut the 200 ft of wire into eight 25 lines of wire -- our lines were 20ft each.
2. Strip the ends of the wire with a wire stripper.
3. Label the ends with tape - we found that colored electrical tape worked best.
4. Twist the wires together to get a rope-like structure.
Step 4: Assemble Accelerometer and Wires
1. Solder female headers to PC board.
2. Solder wires to the PC board.
3. Solder the wires to the headers.
4. Cut the PC board (it's pretty big otherwise).
5. Snap in the accelerometer.
Be sure to write down which wires are going to which ports!
Note: You can solder the accelerometer directly to the PC board, but we chose to use female headers instead so we could re-use the accelerometer for our other projects.
Step 5: Cut the Kite and Feed Wires Through
1. Assemble your kite.
2. Poke a hole near the cross of the kite with scissors.
3. Feed your rope of wires through the hole.
4. Secure the PC board with Accelerometer to the kite. We secured it to the long, vertical piece, right below the cross.
How we secured it:
- Electrical tape to secure the accelerometer to the PC board.
- Wrapped bubble wrap around the accelerometer and PC board.
- Taped the whole thing down with duct tape.
Step 6: Insert Wires Into Arduino and Hook Up Speaker
See the wire schematic above for assistance. This directly corresponds to the protoshield headpins.
Step 7: Upload the Code
Though you don't need a computer to run the project itself, programming the Arduino requires some software on a computer. Don't worry, it's all cross platform and easy to use.
1) Arduino software
2) Add Arduino MMA7361 Library
... or other, if you have a different accelerometer
3) Upload the following code to the Arduino board (it is based off the examples in the MMA 7361 Library):
accelero.begin(13, 12, 11, 10, A0, A1, A2);
accelero.setARefVoltage(3.3); //sets the AREF voltage to 3.3V
accelero.setSensitivity(LOW); //sets the sensitivity to +/-6G
x = accelero.getXRaw();
y = accelero.getYRaw();
z = accelero.getZRaw();
pitch = (x*y/z) * 50;
//play the tone
tone(3, pitch, 10);
delay(10); //(make it readable)
Step 8: Plug in Battery Pack...
...with a 9V inside it.
Step 9: Test & Enjoy!
Turn on the battery pack and see if it works!
Fly it by using the rope-wire. Be careful and don't let the Arduino go!
This is a great project to do with your friends. We had lots of fun. It works best with a decent gust of wind outside. Plan a fun day out, have fun flying your kite, and capture the electronic sounds of the wind!
More content regarding the Powerhouse Pirates and SPEAKR! can be found on our website.
We'd love to see what you make and what sounds you get! Send us some of your content and we'll post it on our website or youtube account.
Audio from flying the kite outside a car is attached! Enjoy!
Special Thanks to:
Marc de Vinck
TE Class of '13