Got a request from the Brage Theater in Drammen / Norway. They wanted a weird contraption to visualize the dream of a 12 year old boy. A great invention that would change the world. They gave me a good budget and mostly free will so I ended up with this:
It is an old radio* (like allways) with a motorized wheel made out of old meccano mounted on the rear. A Strobe light, speed controlled by the old tuning knob, is pointing at the wheel. Transparent pictures on the wheel makes a simple strobe animation of a blinkoing eye. Where the speaker used to be I have put a solenoid xylophone of copper pipes. All the original knobs and switches are interfaced to arduinos. The magifying glasses are motorized and the glass tubes on top have arduino controlled RGB leds pointing up into them.
No good video at the moment but I would like to explain in geeky details some of the challenges I had to overcome on my way.
Making the Xylophone
First challenge was finding the right material. 12mm (imperial standard is lame) copper pipes from a local building store was the shit. Easy to work with and bright clean sound when you get it right.
Tuning:
This was fun to learn. Found a good wind chime calculator xls file here: http://home.fuse.net/engineering/Chimes.htm. The procedure is:
- Cut a reference piece of a tube, aproximatly as long as you want them.
- Measure the frequency of this piece. It is not easy to measure, so the best way might be to adjust an oscillator, software or hardware, until the tube and the oscillator sound the same. Then you write down the frequency of the oscillator.
A usefull online oscillator here: http://www.neuralsemantics.com/applets/jazz.html - Insert the length and frequency of the reference tube into the Tubing Length Ratio Calculator page in the wind chime xls.
- Insert the desired frequncy. A table for frequencies vs note values are on a different page of the same xls sheet. Now you get the exact length and node points (where to drill your supporting holes).
- Cut the pipe with a pipe cutter.
- For each new length of source pipe you must measure the reference over again since they are all noticable different.
Solenoids: 
Push solenoids are expensive. End of story. Other then that it was pretty straight forward. I just connected them from the Arduino to12V via ULN2003 ICs. Timing is pretty crucial though. The coil should ideally be de-energized the exact moment before the mallet hits the pipe. To long time and the tone gets dampened by the mallet, to short and the mallet does even reach the pipe. To account for the unavoidable distance difference to each pipe, I made a calibration routine that lets you fine tune timing of each pipe with the knobs on the radio. The best sound is produced if you more then double the supply voltage on the solenoids and reduce the on-time instead. I howeever could not do this in this projects because of power supply limits.
Touch sensing:
The pipes doubles as touch switches, mening that if you touch it they will be stroken the moment you release your finger. Yeah, and I also made a short sequencer loop, recording all your touches and re playing them in a 10 seconds loop so you add up more and more tones. Electrically, I connected one pipe to one Arduino Input and to one Arduino output trough a 2Mohm resistor. The sence algorithm toggles the Ouput and then measure the microseconds it takes before the input also toggles, in this way measuring the capacistance of the tube which will change with your touch. So much for the theory. In reality I got massive distubance from the 50Hz (60Hz is lame) power grid. I partually avoided this taking many measurements in a row and then using the max value. The result is far from perfect and I had to make an on-the-fly calibration routine. It works but it can be inaccurate and tricky to calibrate. I need to investigate this technique better next time.
Finnish:
To get the blue corroded finnish I dipped them in Amonia (salmiakk) and left them over night hanging inside a bottle with Amonia in the bottom.
Horisontaly mounting the xylophone tubes:
This was tricky. No mather what I tried the tone was damped way to much. I was googling around for other peoples solutions but could not find anone else monting the xylophone horisontally. They all rely on gravity. At last I found the trick: Drill a 2mm hole at each node point. Take suiting metal springs and just screw them into the holes. Finding some way to mount the springs onto your base should not be to hard. **
Making the Strobe animation
The Meccano wheel on the back is motorized and has eight transparent images that make an animated shadow on the wall behind the machine when the strobe is on and tuned correctly.
The strobe LED:
I have made a strobe light using a regular Luxeon Star white power led. I use no focusing lense, because I need the light to come from a tiny point to make the shadow projection sharp. Since it is stobing, the duty cycle is rather short. I compensated partually with several times over current trough the LED. I am actually not entirely sure how much current I am running, I just increased until the LED broke, then reduced some again and inserted a new LED. Almost no heat is produced in the LED anyway thanks to the short duty cycle.
The strobe curcuit:
I wanted to use the original tuning knob to control the strobe speed. Problem: The strobe is running at maximum maybe 50Hz and the tuning capacitor is in the nano Farad area. I could not make a stable oscillator at such low frequencies with such a low cap. Solved this by makeing an oscillator in the 100KHz area and then dividing it down with a 40-series counter. Now I can freely choose my low frequency range by selecting counter output. This output was then run trough a one-shot monostable multivibrator to make uniform strobe pulse width at all frequencies. Tips for later: The pulse width out of the counter can easily be read by the Arduino for accurate interfacing a radio tuning capacitor!
The Motorized Wheel:
A semi powerfull DC motor, I have no idea where I got, with a small transmition wheel. A home made Meccano wheel, on an 8mm axel mounted with ball bearings and with a Ø120mm wooden wheel. This is made out of an 18mm thick oak plate with a hole saw. Then I made smaller holes in it with a smaller hole saw, just for beauty. Finnished with vegetable oil. A transmition belt made out of O-rings glued together with LocTite superglue. This works amazingly well and I do not think the glue has the credit, but the solvant inside which I think vulcanices the rubber bands to one piece of rubber. Anyway folks. The thing is delivered and well received. Let´s just hope it stays fit. No source code or chematics this time. Not a project to copy, but maybe one to inspire…
* NO RADIO WORTH SAVING WAS HARMED IN THIS PROJECT. I love these old radios and allways pick the really trashed ones that is beyond repair and will end up on the scrap heap anyway. ** I am really sorry for skipping between past and present form trough the text. My grammar is bad and I should feel bad. *** Global warming is a serious issue. Get informed. Take a stand.