Ping Organ using an Arduino




I was trying to think of a quick toy I could build for my kids.  I came up with this idea of an ultrasonic range finder, an Arduino, and a speaker.  Basically the Arduino plays a tone out of the speaker based on the distance from the range finder.  The result works pretty well and can be built in minutes.  You can play this from anything from your entire body, to just your feet.

http://www.youtube.com/watch?v=6F4xoe1rQMs

Arduino Ping Organ




Step 1: Parts

1. Arduino
2. Range Sensor (I used a Parallax Ping))) that I picked up a Defcon a couple of years ago, anything like this would work as well http://www.sparkfun.com/products/639)
3. A small speaker (I pulled mine out of an toy moose that sang Blue Christmas)

Ultrasonic range finders basically work by sending out an ultrasonic signal and then they sense how long it takes to come back.  Think sonar for a submarine.

Step 2: Schematic

The Schematic is pretty simple.  Speaker to Arduino pin 11 and ground.  Ultrasonic range finder to power, ground, and Arduino pin 7

Schematic Arduino Ping Organ

Step 3: The Code

The code is pretty simple.  I just combined the Ping demo and the Tone demo that come with the Arduino UI.  I did it a couple of different ways.  You can either take the distance in inches or cm and multiply it by a number (i.e. inches * 10) to get a frequency that’s playable.  Then as you move around you’ll get different frequencies.  To make it more playable I got the frequencies of actual notes and told them to play that note when the distance was within a range (I used 20 cm for each note range).  Then you just have it play the note.  I’ve attached the sketch.

Major Components in Project

1. Arduino
2. Range Sensor
3. A small speaker




Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:
Wireless Robotics Platform
Wireless Robotics Platform with XBee Remote Control

I built a remote-controlled robotics platform using a 4WD mobile platform, an Arduino (Seeeduino Mega), an Adafruit motor shield, and...

Close
Scroll to top