Close
0%
0%

Upright Laser Harp

New spin on the laser blocking musical instrument

Similar projects worth following
Laser harps are musical devices with laser beam "strings." When the beam is blocked, a note is played by the instrument. Usually laser harps have the beams travel vertically in the shape of a fan or vertical lines.

In this project, I built a laser harp with stacked laser beams that propagate horizontally. The beams reflect off mirrors to form square shaped beam paths. Instead of a MIDI output like my previous laser harp, this device has built-in MIDI player so the output is an audio signal. This means the device does not have to be connected to a computer or MIDI player (e.g. keyboard) to play sound. Both built-in speakers and audio output jack are available for playing music.

MOTIVATION

I was motivated to create a laser harp that was easier to play. With this design, the lasers land on "frets," which makes it much simpler to block notes with a single finger. Usually laser harps are played by blocking the beam with your entire hand, while this device plays more like a conventional stringed instrument. It is also a major challenge to align lasers with photodetectors, so my goal was to develop a mechanism that enabled fine-tuning of the laser beam direction without having to go through painful alignment. 

SYSTEM OVERVIEW

The upright laser harp consists of 12 lasers and photoresistors arranged in six layers. Two mirrors per layer reflect the laser beams to the photoresistors. In the figure, the red arrow indicates how the laser is reflected to the photoresistor and the corresponding pins the laser and photoresistor is connected to. The pins are scrambled up due to the way the wiring feeds down the tower to the Arduino Mega. The lasers can be triggered on and off using digital pins, and the voltage drop across the photoresistors is measured using analog input pins. When the laser is blocked, the resistance of the photoresistor increases and the voltage output drops.

The instrument produces audio output using the incredible Adafruit Music Maker shield. I was so happy to discover this shield, because I can now easily produce audio signals from the device without connecting a MIDI player. Check the link for all the info on how to set up this shield. The shield is run in MIDI mode with the audio output being run to audio jack and speakers. A latched pushbutton turns the speakers on and off. Here is a link to the chip (VS1053b) at the heart of the music maker shield. Page 33 has all the instruments.

The volume of the device is controlled using a potentiometer connected to the Arduino Mega. The output is read and software updates the volume of the MIDI signal. Finally, the device can also switch between different MIDI instruments. A rotary switch is read and the output is used to update the instrument. I chose to have 16 preloaded instrument selections on the device. The number of instruments is not limited by the Arduino and music shield. There are over 100 options for instruments on the VS1053 chip. I think there is probably enough memory on the mega to store all those instrument codes if you wanted. The selected instrument is displayed on a wheel with 16 spokes. The wheel is turned using a stepper motor, which is controlled with 4 digital pins.

ULH_BOM.xlsx

Bill of Materials for Upright Laser Harp All parts and cost for one unit of the first prototype.

sheet - 53.24 kB - 09/18/2019 at 06:10

Download

ULH_1V0.ino

Arduino code for Upright Laser Harp

ino - 8.75 kB - 08/22/2019 at 05:27

Download

Zip Archive - 720.67 kB - 08/22/2019 at 05:20

Download

Standard Tesselated Geometry - 68.05 kB - 08/22/2019 at 05:19

Download

Adobe Portable Document Format - 7.85 kB - 08/22/2019 at 05:18

Preview
Download

View all 28 files

View all 22 components

  • Upright Laser Harp Shield

    Jonathan Bumstead5 hours ago 0 comments

    The design for the Upright Laser Harp shield is completed! This shield will be placed on top of the Music Maker Shield and Arduino Mega. The following components will be connected directly to the shield:

    1. Laser control signals
    2. Photoresistor analog output
    3. Volume potentiometer
    4. Instrument wheel rotary encoder
    5. Hall effect sensor
    6. Buck converter (12V input to 5V output)

    The most difficult part in the upright laser harp build is all the wire wrapping and building up the prototype board. Now all the these components will just connect via JST into the board. With this design improvement, there will be no tracking wires to the right Arduino pins required and no wire wrapping. The entire electrical setup with be compact and fit within the footprint of the Arduino Mega, which is much smaller than the current setup up with prototype board. In the first prototype, all the signals from the lasers and photoresistors connected to the prototype board and then had to all be wired again to the Arduino. Now there will only be one connector to the Upright Laser Harp shield. Here are some screenshots of the PCB design in Autodesk Fusion. 

    I know there is a lot going on in these schematics, so I made a high-level overview of how everything connects to the shield. The white rectangles are JST connectors. In the screenshots above, the laser and photoresistor signals from the four corners of the device are labelled as LAPH0, LAPH1, LAPH2, and LAPH3 (LAPH is a abbreviation for LAser and PHotoresistor signals). 

    After a lot of brainstorming and designing, I finally arrived at the second iteration of the electronics for the upright laser harp. I ordered some boards for building up version 2.  

  • Rethinking V2 electronics

    Jonathan Bumstead2 days ago 0 comments

    I completely changed my mind for the electronics layout for V2 of the upright laser harp. Initially, I was a little disappointed, because I put a lot of time into brainstorming and designing PCBs for each layer of the laser harp. It was only when I reached the end that I realized something was fundamentally wrong with the design. 

    I started counting up all the connectors and PCBs and realized that my new "improvement" for version 2 was actually inefficient! I would need a PCB for each laser and photodetector, totally 12 PCBs. I would also need a connector cable between each PCB. In the electronics box, I would still have to connect the front panel components to the Arduino. It turns out that my first laser harp prototype was not so bad: one prototype board connecting all the photoresistor outputs, laser control signals, and front panel components. So the initial plan for V2 electronics is officially axed. 

    The new plan is to optimize the original format with a single PCB in the form of an Arduino mega shield. The upright laser harp shield will connect directly to an Arduino Mega and on top of this shield will be the Music Maker Shield. 

    Although this change back to the original electronics design scheme feels like a setback, I know it is a better plan that will make the second version easier to build. This is the goal anyway! There is always something to gain from being open to starting over or reverting back to an original idea. You just never know at what stage of a design (or in this case redesign) you will realize that you are going down the wrong direction! 

    Here is the current state of the new schematic: the Upright Laser Harp Arduino Shield:

    An explanation and full schematic will be coming soon!

  • Laser module and photodetector PCB

    Jonathan Bumstead3 days ago 0 comments

    Each corner of the laser harp has three pairs of photoresistors and lasers. Therefore I need to run down the following signals to the electronics box:

    1. Laser module control signal 1 (LO1)
    2. Laser module control signal 2 (LO2)
    3. Laser module control signal 3 (LO3)
    4. Photoresistor output 1 (PO1)
    5. Photoresistor output 2 (PO2)
    6. Photoresistor output 3 (PO3)
    7. Ground
    8. 5V

    In the first prototype, the leads for the photoresistors and lasers were pulled down through each layer and connected to the control circuit in the electronics box. So the laser and photoresistors at the top required longer cables. This design makes it difficult to differentiate the control/output signals and manage the cables. 

    Instead of this strategy, I want to have a small PCB on each row for version 2. The PCB will include the electronics for generating the control signal and analog output that can connect directly into the Arduino. The output of each PCB would connect to the input of the next PCB on the way down to the electronics box.

    I wanted to use the same PCB for each layer, so I needed a way to connect the control/output signals for each laser and photoresistor to the right pin. The solution was to add solder pads at the output of the laser/photoresistor and then three separate solder pads connected to the appropriate control pins. On each board, the laser output solder pad would then get shorted to the appropriate control signal pin. So for layer 1, the LMS node (control signal for the laser module) would get connected to LO1 (the first laser control signal). I designed the board in Autodesk Eagle with the help of my favorite tutorial by randofo on Instructables

    I'm happy with this board for the upright laser harp V2. Now I am onto importing the PCB into Fusion and integrating it with my new kinematic mount (which also needs a bit more work). 

    In the mechanical model, you can see the two 8-pin JST mounts for the input and output of the PCB (refer to the top of the log for the pin description). The board also has a 2-pin JST jack for the laser module. The only downside to this design is that I now need to accommodate larger 8-pin jacks running through each layer of the laser harp. 

  • New kinematic mounts (KMV2)

    Jonathan Bumstead5 days ago 0 comments

    I designed and began testing the next version of the kinematic laser mounts. I took a few components from the previous design and started brainstorming modifications. I decided to attach the flexible mount to the rear component holding the screws instead of requiring a front component. This greatly reduces the size of the module.

    Initially I designed the flexible part that could be 3d printing, which I think would be easier to get working. I completed the part and soon after getting the 3d printer ready, I started to reconsider. The whole goal was to make the second prototype easier to manufacture and 3D printing 12 flexible parts for each harp was going to take a lot more time than the first prototype. I went back to the drawing board and came up with a design to test. 

    3D printed design idea

    Lasercutting design idea:

    After finalizing the design, I laser cut the parts and put together a small test assembly. I then tested the alignment range (i.e. the angle the laser can be steered out of the mount) by placing graph paper 15cm from the laser mount. 

    By calculating the displacement of the beam on the graph paper, I can calculate the steer angle. The steer angle helps me to figure out if the mount is working well enough because I know roughly what is required for the laser harp. Here is a diagram showing the calculation.

    I am able to adjust the beam around +/-4degrees in one direction and +/-1.5degrees in the other direction. I am getting close with this mount, but I need to make a few more tweaks before making a bigger test. Once I am happy with the mount, I will build up a layer and test it. 

  • Improvements for version 2

    Jonathan Bumstead6 days ago 0 comments

    The upright laser harp has been a successful first prototype, but there are a few parts of the design that make it difficult and time consuming to construct. My ultimate goal is to make the upright laser harp into a robust kit. I have the design plans for the first version freely available, but the current build is challenging with some tedious construction stages. Here I will outline my plans for version 2 of the upright laser harp that will make the whole thing easier to construct so it can reach a larger audience. I am also considering selling assembled versions of the upright laser harp.

    1. Improved kinematic mounts

    I spent the most time developing the kinematic mounts for laser beam alignment, but I am still not 100% satisfied with the results. In my first prototype, the lasers are glued into place and there is a "course" adjustment required. In other words, there is variation in how the lasers are positioned in the mount and if the laser is not put in the mount correctly, the fine tuning with the kinematic mount isn't enough to align the beams.

    For the next iteration in the laser mount design, I want the lasers to fit firmly in place and make the kinematic mounts flexible enough that they can be used for the full alignment procedure. I also want the kinematic mounts to be more compact.

    2. PCB for the photoresistors and laser diodes

    In first prototype (V1), the wires from the photoresistors and lasers are fed down through the laser harp. This makes cable management messy and frustrating. My goal for V2 of the upright laser harp is to design PCBs to be positioned at each layer with cable outputs:

    1. Photodiode output
    2. Laser output
    3. 5V
    4. Gnd

    These outputs can be directly connected to the Arduino Mega without the need for a prototype board. With these PCBs, the cables can easily be connected between layers of the laser harp. I also want to use photodiodes instead of photoresistors because of faster response and power consumption. 

    3. PCB for combining Arduino and Music Maker Shield

    The Arduino Mega and Music Maker Shield are expensive and I don't need all the pins. In the next stage of prototyping, I want to design a single PCB that combines the ATmega2560 and VS1053 ICs. This custom PCB will be specifically designed for the connectors from the photodiode/laser module PCBs and will cost less than buying the two boards separately.

    4. Optimize mechanical design

    Finally, I want to improve the overall mechanical design be reducing the requirements for glue, hiding the cabling down through the device, and optimizing the tolerancing. One major issue with the current design is the time required for jamming parts together and glueing because of tight or loose fitting components. 

  • Original project plans

    Jonathan Bumstead09/12/2019 at 03:16 0 comments

    After completing the first prototype, I turned back to my original handwritten project plans. Looking back on these plans is also helping me with the next steps in the project. In this project log, I wanted to go over a few design decisions I made early on in the project and how they affected the system development.

    1. Laser beam trajectory

    I knew from the beginning that I wanted the lasers to propagate horizontally in a closed loop, but I wasn't sure how to shape the closed laser loop. I originally thought the laser beam wrapping into a circle would be best. This idea was inspired by the laser vortex projects and my laser sheet generator musical instrument. However, I soon realized it is difficult to wrap a laser beam into a circle. The closest solution I could find was using many prisms, but it would be expensive and difficult for the user to break the beam because all the prisms are in the way. In the photocopied page you can see my plans for circular laser trajectories and math to figure out how to achieve them with prisms.

    I eventually settled on making square trajectories because they were so much easier to construct. Initially I thought this was a setback in the development, but later thought square trajectories would look great and make the most sense to play. 

    2. Tower height and layer spacing

    In my first sketches, I imagined the upright laser harp being really tall with one laser on each layer. From the drawing, it looks like I always knew there would be two small speakers on the front of the device. 

    After getting some feedback from my wife, I switched to a shorter design with two lasers per row. I liked the compact look more and I started to realize that a major advantage of this design in general is a smaller system that is easy to carry around. 

    I also took some time modeling the stacked laser trajectories using Matlab. I needed to decide if the trajectories would change in the vertical direction. 

    Here you can see a few ideas I had. I liked the symmetry and simplicity of the constant trajectory size in the drawing to the right of the figure. This design would also be easier to construct and test the idea. 

    3. How to redirect the beams

    At the beginning of the project, I really wanted to redirect the light using prisms so that the laser beam would be visible throughout the entire trajectory. If I used mirrors, I worried that they would block the view of the beam path. After doing some math, I realized that a 90deg turn by refracting light through a prism would not be possible. However, prisms can redirect light in a 90deg turn through total internal reflection. I made an order for Hemicircle shaped plastic, which also can redirect the beam 90deg. I was disappointed how much of the laser light was still transmitted (so much for total internal reflection!). The losses were too much and the alignment was a nightmare. I decided to just go with small mirrors, which were cheaper and easier to work with. 

    To make up for this short coming, I made the device as "see-through" as possible so that it was easy to see as much of the beams as possible. 

    One last sketch here showing some of the planning for how to layout the lasers and how the beams should be tuned. 

  • Mounting electronics and soldering

    Jonathan Bumstead08/24/2019 at 01:38 0 comments

    I designed all the electronics to be mounted to the top of the electronics box so that the bottom panel could easily be removed if the electronics needed to be troubleshooted. The Arduino Mega, stepper motor controller, prototype board, and instrument wheel are all pressed into the top of the box using the mounts. A few lasercut parts slide over the boards as shown in the images above. These parts then press into the holes in the top of the box. 

    All the electrical components shown in the diagram are soldered to the prototype board: transistors for controlling the laser diode modules, resistors for the photoresistor circuit, pins for front panel components. There is a lot of soldering work here so I'd like to some day make a PCB for the upright laser harp.

  • Front and rear panels

    Jonathan Bumstead08/23/2019 at 04:42 0 comments

    I decided to build the device with two separate panels. In the rear are the jacks and switches for power and uploading programs to the device. In the front are all the controls related to controlling the instrument and audio of the device.

    Black acrylic pieces hold the components on the rear and front panel. Both acrylic panels are glued onto the wooden front and rear walls of the electronics box. After gluing the acrylic, I mounted the potentiometer, rotary encoder, on/off speaker switch, and headphone jack. On the rear, I attached a reset pushbutton, on/off power switch, power jack, and USB jack for uploading programs to the Arduino.

    The front and rear walls were then hammered into Layers 10-15, just like the side panels. At this point, I also connected the corner joints at the bottom of the device. A nut is glued into these joints so that bolts can hold on the bottom panel.

    I did a lot of soldering and wire wrapping to connect all the components as shown in the schematic. The power supply is 12V, so I made sure the Buck converter was adjusted for 4.5V output before connecting lasers and the motor. Finally, the outer wall for the electronics box were glued on to cover the Layer 10-15 tabs.

  • Instrument wheel

    Jonathan Bumstead08/22/2019 at 02:29 0 comments

    The laser harp can cycle through MIDI instrument sounds. I chose to preload 16 instrument labels on the Arduino that would be sent to the VS1053 chip on the Adafruit music maker shield. The number of instruments is not limited by the Arduino and music shield. There are over 100 options for instruments on the VS1053 chip. I think there is probably enough memory on the mega to store all those instrument codes if you wanted.

    To display the selected instrument, I designed an instrument wheel that rotates. An instrument name is written on each plank on the rim of the wheel. The signal from the rotary encoder changes the instrument and rotates the motor so the user knows which instrument is being played.

    The stepper motor is secured onto the mount with two bolts. There is directionality to this mount; see the CAD model gif and video to make sure everything is in the right direction. A 3D-printed motor coupler connects the motor shaft and wheel axle. The two axle pieces are glued together and pushed into the coupler. Then the first face of the wheel (the one with the bigger rectangular cutout) slides over the axle, followed by the second face of the wheel. Some wax may be required because it is a tight fit. The rim of the wheel with the instrument types holds the two faces together. The words will be upside down when viewing the wheel with the first face to the right of the second face.

    Next the two parts holding the Hall effect sensor are glued together. The Hall effect sensor is used to determine the position of the wheel. The bipolar Hall effect sensor switches high to low when the magnet field over the sensor changes. Two magnets are therefore placed on the wheel facing opposite directions. The wheel rotates until the sensor reads high and then switches to low. Some offset in steps is then added to position the first instrument at the right position in the display.

    The Hall effect sensor is pushed into place with housing over the middle lead to avoid a short. Check the wiring in the schematic. Now three circular parts slide over the axle so that the axle can turn in the circular hole in the Hall effect sensor mount. Two C-shaped parts are pushed orthogonally into the axle to hold everything in place.

    The motor is then connected to the axle via the coupler, which holds a nut and set screw that presses into the motor shaft. Finally, the whole assembly is held together with two spline shaped mounts.

  • Photoresistor design

    Jonathan Bumstead08/20/2019 at 05:02 0 comments

    To detect the blocked laser beam, I decided to use photoresistors. I debated using faster components, but, after watching this great Backyard Amusement video, realized that photoresistors would work fine given my requirements. 

    Even with the kinematic laser mounts, I knew that I wanted to add diffusers to make sure light fully illuminated the photoresistors. I used old 35mm film canisters cut to fit in a small mount, a trick I learned from my first laser harp

    A photoresistor is pushed into the photoresistor "wall," and two cables are connected to the photoresistor (one goes to 5V and the other goes to an analog input on the Arduino Mega). The film canister plastic slides into wooden mounts and is placed into a cross-shaped part. It looks like a little lantern. The body is pressed into the photoresistor wall. Finally, the photoresistor wall is used to connect the kinematic laser mount assembly. If the laser is aligned with the photoresistor, then a low signal out of the photoresistor corresponds to a blocked laser. The Arduino Mega is cued to play a note. 

View all 12 project logs

  • 1
    Prototype 1 disclaimer

    These are instructions for assembling the first version of the device. This build is challenging for several reasons that I am addressing in the second version (see project logs). My goal is to provide a full kit that is easier to build. I still think this first version is possible for others to build, and that is why I want to share the instructions! With that disclaimer aside, let's get started!

  • 2
    System Overview

    The upright laser harp consists of 12 lasers and photoresistors arranged in six layers. Two mirrors per layer reflect the laser beams to the photoresistors. In the figure, the red arrow indicates how the laser is reflected to the photoresistor and the corresponding pins the laser and photoresistor is connected to. The pins are scrambled up due to the way the wiring feeds down the tower to the Arduino Mega. The lasers can be triggered on and off using digital pins, and the voltage drop across the photoresistors is measured using analog input pins. When the laser is blocked, the resistance of the photoresistor increases and the voltage output drops.

    The instrument produces audio output using the incredible Adafruit Music Maker shield. I was so happy to discover this shield, because I can now easily produce audio signals from the device without connecting a MIDI player. Check the link for all the info on how to set up this shield. The shield is run in MIDI mode with the audio output being run to audio jack and speakers. A latched pushbutton turns the speakers on and off. Here is a link to the chip (VS1053b) at the heart of the music maker shield. Page 33 has all the instruments.

    The volume of the device is controlled using a potentiometer connected to the Arduino Mega. The output is read and software updates the volume of the MIDI signal. Finally, the device can also switch between different MIDI instruments. A rotary switch is read and the output is used to update the instrument. I chose to have 16 preloaded instrument selections on the device. The number of instruments is not limited by the Arduino and music shield. There are over 100 options for instruments on the VS1053 chip. I think there is probably enough memory on the mega to store all those instrument codes if you wanted. The selected instrument is displayed on a wheel with 16 spokes. The wheel is turned using a stepper motor, which is controlled with 4 digital pins.

  • 3
    Chassis Design and Cutting

    The system was designed in Fusion 360 and is constructed out of plywood and plexiglass. The methodology for designing and building the device was different from my previous projects. I focused on building subassemblies that functioned in isolation and then were added to the overall assembly. For example, the instrument wheel and kinematic laser mount took a lot of time to design and troubleshoot in isolation before adding to the completed assembly.

    The parts were lasercut and assembled using alignment tabs, bolts, and super glue.

    The files for laser cutting can be downloaded in the file section.

    Note: The tolerances on the parts are not perfect, so you may have to trouble shoot or shave down parts so they fit.

View all 6 instructions

Enjoy this project?

Share

Discussions

Øystein wrote 08/21/2019 at 08:25 point

What a wonderful instrument you have created! You should make a doctors bag case sou you could transport it easily :)

  Are you sure? yes | no

Jan wrote 08/23/2019 at 06:56 point

+1

  Are you sure? yes | no

Jonathan Bumstead wrote 3 days ago point

Thank you! Yes, I do need a case!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates