Blog Home

Play some tunes on a 13-note MIDI laser harp

Arduino TeamMay 4th, 2016

Nowadays, it seems like instruments come in all different shapes and sizes. Take Jon Bumstead’s an electronic harp, for example, that plays music by blocking laser beams — similar to how a musician would pluck a stick on the real thing.

The project consists of a laser diode, an Arduino, a galvo, several mirrors to reflect the beams, 13 photoresistors and a couple 3D-printed components for the mounts. The harp’s large frame is made up of three wooden parts that can be folded with a few hinges and held in place with 18 bolts, while the electronics are secured in a box with the galvo mounted at the top.

This laser harp has thirteen strings. To generate these strings, a laser beam is moved to thirteen different position (for thirteen different strings/notes) by moving a mirror galvanometer. The mirror galvanometer, or galvo for short, is a mirror that can quickly move to different positions depending on a control voltage that is sent to it. At the end of each laser beam is a photoresistor that is used to detect if a beam is blocked. When this is detected, a note is played. I also needed the laser beam to be turned off when moving positions so that it appeared as though there were thirteen distinct positions and not a continuous sheet of light.

To generate these signals, I used an Arduino. One of the greatest challenges of the project was creating an analog output that was fast enough to move the galvo (and laser beam) so that it appeared like there were really thirteen different beams and not a single beam being moved to different positions. I constructed a 4-bit R2R digital to analog converter (DAC). The digital output of pins 8-11 incremented thirteen times (for the thirteen positions), and the DAC generated an analog voltage ranging from 0 to 4V. I then amplified this signal  and ran it through a differential amplifier to get an analog voltage from around -7 to 7 volts for the galvo. The laser diode was synchronized with the galvo using the Arduino.

According to the Maker, the harp can be programmed to direct the beam to any position at any speed. And not only can you put on your very own laser show, but you can control the type of MIDI signal being created as well.

This laser harp is really a MIDI controller (i.e. it does not have its own sound engine). You can select whatever type of MIDI signal you desire. I chose to select middle C to the C one octave higher in frequency. Another MIDI instrument or reader (I used by Macbook Pro and Garageband) must then be used to actually create audio signals that could be played through speakers.

You can see it action in the video below!

Leave a Reply

You must be logged in with your Arduino account to post a comment.