Introduction: Arduino Laser Harp
A couple of weeks ago I presented my culmination project, framed laser harp, at New York City College of Technology. Work on it was so interesting for me, that I decided to share it here. I am an Arduino amateur and don't have any professional experience in electrical engineering or programming. Neither am I a musician. Probably that's why I had so much fun: when you are moving blindly, you can't see the ground anyway:)
So, why laser harp? First of all, lasers are always cool. But laser beams making sounds were some kind of sorcery for me ever since I encountered a huge Arc Harp at Burning Man 2012. I was obsessed with the idea of making my own laser instrument, and finally got a chance to do it.
After quite a bit of a research, I finally found a wonderful starting point – very well documented project template made by mnsman. Although I modified many things, my project heavily relies on mnsman's work. For example, the code I'm using is entirely taken from his project.
Another extremely helpful resource was Chris Ball's instructable. It has very comprehensive wiring diagrams and is great in explaining the working principle.
Laser Harp project is pretty 'multidimensional', because it involves different types of skills, such as wiring and soldering, drafting, woodworking, familiarity with Arduino and MIDI, and more. At the same time, everything is very flexible: you could design and build your own enclosure, change the number and function of laser modules, modify the code, etc.
A note on safety: NEVER LOOK DIRECTLY INTO THE LASERS. Also, avoid using high power laser modules (more than 5mW) for this project.
Good luck, and please let me know of any inaccuracies (either descriptive or grammatical) in this instructable.
Step 1: Working Principle
A laser harp is an electronic musical instrument, consisting of several laser beams (9 in this case: 7 notes, Octave Up, Octave Down) to be blocked in order to produce sound. In a framed version of the harp, each beam strikes a photocell, and when the player's hand interrupts it, the sensor prompts an Arduino microcontroller to send a MIDI "Note On" (logic HIGH) message.
In this particular laser harp MIDI signal is sent from the Arduino through MIDI interface to the laptop running MIDI software (I used MuLab, because it's free and simple). The second USB A/B cable just powers up the Arduino (it is possible to use a 5V power supply or couple of batteries instead).
Step 2: Parts and Tools
- 1 x Laptop (running MIDI software);
- 1 x Arduino Uno;
- 1 x MIDI interface (I used MIDIsport 4x4, because I had this at home);
- 2 x USB A to B cables (Arduino to laptop; MIDI interface to laptop);
- 1 x 5 pin DIN MIDI cable (harp to MIDI interface);
- 9 x 5mW red laser diodes;
- 9 x 50Ω photo-resistors (LDRs);
- 9 x 4.7K Ω resistor (in series voltage dividers with photo-resistors);
- 1 x 220Ω resistor (for MIDI plug);
- 1 x Arduino Proto Shield (bare PCB; to solder all wires into the board, instead of just inserting them into the Arduino itself);
- ~ 15 pin headers (to attach a bare PCB shield to the Arduino)
- 1 spool x 22 gauge electrical wire;
- 1 x ON/OFF switch (optional, for harp);
- 1 x 5 pin DIN female connector (harp to MIDI interface);
- 1 x 5V power supply (for laser modules);
Tools and Supplies
- Soldering iron and solder;
- Wire cutters;
- Wire strippers;
- Glue gun with hot glue sticks;
- Electrical tape;
- Tape measure;
- Breadboard (for circuit prototyping);
- Jumper wires (for circuit prototyping);
- Tac putty tabs (to hold laser modules in place when aligned);
The enclosure design is entirely up to you. I had access to a professional shop, and decided to give my harp a 'real' look. I will not describe the process of building the enclosure in this instructable, however, the drawings I used will be provided (as is). I used 1x pine for the neck and the column, 1/4" MDF for the sides of the 'box' and the stand, and 1/2" plywood for the top and bottom of the 'box'. I found this shape to be inefficient, because of the difficulties in laser modules/photodiodes alignment. I highly recommend to come up with another shape, something where the lasers and photodiodes form strait vertical lines when aligned. It was for me a real nightmare to align lasers and diodes at an angle.
If you decide to replicate this shape, you will need the following tools and supplies:
- Table saw;
- Band saw (jig saw may be used);
- Screw gun or pneumatic stapler;
- Drill with different drill bits (for the photo-resistors, power button and harp outputs placement);
- Wood glue;
- Joint compound;
Step 3: Schematics
There are two independent circuits: one for the laser modules (with power button and a 3-5V power supply), and another one for the Arduino board, photocells, and a MIDI jack. Each photocell is wired in series with an 4.7K resistor, which acts as a voltage divider and triggers logic HIGH when any of the laser beams is blocked.
In the "Laser Circuit" schematics above 5mW laser modules are shown as regular LEDs, simply because I couldn't find a laser module symbol in Fritzing. The same is true about the two AA batteries in the schematics – in reality I used a 5V power supply.
See the PDF of the EagleCAD schematic at the end of this step.
Step 4: Laser Circuit Wiring
Nine 5mW laser modules are wired in parallel and breadboarded before soldering. I also added an optional power button to the circuit, to be able to turn the lasers ON and OFF.
Step 5: Arduino Circuit Wiring
Wire a MIDI jack according to the pinout: Pin 2 – Ground, Pin 4 – 5V (through 220Ω resistor), Pin 5 – Tx. Label everything, it will be vital later. Breadboard the photocells/resistors circuit according to the schematic in Step 3. Solder after testing.
Step 6: MIDI Interface and Software
After assembling the Arduino circuit, you need to be able to send MIDI commands to the laptop. In order to do so I used a MIDIsport 4x4 interface (simply because I got it for free). MIDI cable runs from the MIDI jack (Step 5) to the MIDIsport's Port A, and from there to the laptop running MuLab software.
Step 7: Code
As I already said, the entire code was borrowed from here (Thank you, mnsman!). If you are unfamiliar with the Arduino microcontroller and the code uploading procedure, here is a great instructable on this topic.
Step 8: Enclosure
This step shows some photos of my enclosure design and build process, as well as a set of 1:1 Arch D drawings (36"x24"). If you wish to build the same enclosure, simply print out the drawings to scale, glue them directly to the wood, and then cut using appropriate tools. On the face of the MDF 'box' drill nine 1/4" holes for the photo-resistors spaced 2.5" apart. The lasers will be mounted into the neck of the harp.
Step 9: Putting It All Together
Think about how to integrate the circuits with the enclosure in the most efficient way (above are some photo suggestions). I decided to solder all the wires coming from the Arduino to the bare Arduino Proto Shield for more reliable connections.
I tried different approaches to align the lasers and the photo-resistors (hot glue, velcro, staples, white tac), and none of them worked perfectly. It was very hard not only to align the beams with the photocells, but also to keep them in place. White tac worked best for me, but still not perfect. I used some hot glue to keep the power button, MIDI and USB outputs in place.
Step 10: Done!
The video shows my friend Sharon having fun with the almost complete laser harp. The photo shows the device after painting and final touch-ups.
Good luck everyone, and let me know how it goes!