0% found this document useful (0 votes)
127 views30 pages

DIY Upright Laser Harp Guide

Here are the key steps to assemble the top layers of the upright laser harp: 1. Press corner brackets into precise locations in Layer 2. The orientation matters for fitting with Layer 3. 2. Press Layer 1 on top of the brackets to create a rigid sandwich structure for the top of the harp. 3. Glue square wooden blocks to the top of Layer 1. 4. Set the assembled top layers aside until ready to attach to Layer 3. Precise fitting of parts is important for the overall structure.

Uploaded by

Bambang Karyanto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views30 pages

DIY Upright Laser Harp Guide

Here are the key steps to assemble the top layers of the upright laser harp: 1. Press corner brackets into precise locations in Layer 2. The orientation matters for fitting with Layer 3. 2. Press Layer 1 on top of the brackets to create a rigid sandwich structure for the top of the harp. 3. Glue square wooden blocks to the top of Layer 1. 4. Set the assembled top layers aside until ready to attach to Layer 3. Precise fitting of parts is important for the overall structure.

Uploaded by

Bambang Karyanto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

instructables

Upright Laser Harp

by jbumstead

Laser harps are musical devices with laser beam this device has built-in MIDI player so the output is an
"strings." When the beam is blocked, a note is played audio signal. This means the device does not have to
by the instrument. Usually laser harps have the be connected to a computer or MIDI player (e.g.
beams travel vertically in the shape of a fan or vertical keyboard) to play sound. Both built-in speakers and
lines. audio output jack are available for playing music.

In this project, I built a laser harp with stacked laser In this instructable, I will go over the construction and
beams that propagate horizontally. The beams reflect how to play the instrument.
off mirrors to form square shaped beam paths. With
this design, the lasers land on "frets," which makes it Supplies:
much simpler to block notes with a single finger.
See below.
Instead of a MIDI output like my previous laser harp,

https://youtu.be/_1oTBekbUT4

Upright Laser Harp: Page 1


Upright Laser Harp: Page 2
Upright Laser Harp: Page 3
Step 1: Supply List

Supplies:

Arduino Mega
Adafruit Music Maker Shield
3mm thick plywood
Black acrylic
Clear acrylic
12 laser diode modules (650nm, 5mW)
12 photoresistors
12 1kOhm resistors and 12 30kOhm resistors
12 npn transistors
28BYJ-48 ULN2003 5V Stepper Motor + ULN2003 Driver Board
Rotary encoder
Latch pushbutton for speaker on/off
Power switch
5kOhm potentiometer
Audio jack
Power jack and cable
12V Power supply - with this supply I had to solder a 5.5 x 2.5 mm cable to match the jack (this
could be better planned)
Momentary pushbutton for reset
Hall effect sensor
2mm diameter magnet
8 ohm speakers
1/8" audio cable
USB extension cable and panel mount
Header pins
Wire wrap wire
Electrical tape
Super glue
Metric hardware

Tools:

Laser cutter
Soldering iron
3D printer
Wire cutters
Allen wrenches
Small hammer

Upright Laser Harp: Page 4


Step 2: System Overview

The upright laser harp consists of 12 lasers and happy to discover this shield, because I can now
photoresistors arranged in six layers. Two mirrors per easily produce audio signals from the device without
layer reflect the laser beams to the photoresistors. In connecting a MIDI player. Check the link for all the
the figure, the red arrow indicates how the laser is info on how to set up this shield. The shield is run in
reflected to the photoresistor and the corresponding MIDI mode with the audio output being run to audio
pins the laser and photoresistor is connected to. The jack and speakers. A latched pushbutton turns the
pins are scrambled up due to the way the wiring speakers on and off. Here is a link to the chip
feeds down the tower to the Arduino Mega. The (VS1053b) at the heart of the music maker shield.
lasers can be triggered on and off using digital pins, Page 33 has all the instruments.
and the voltage drop across the photoresistors is
measured using analog input pins. When the laser is The volume of the device is controlled using a
blocked, the resistance of the photoresistor increases potentiometer connected to the Arduino Mega. The
and the voltage output drops. output is read and software updates the volume of the
MIDI signal. Finally, the device can also switch
The instrument produces audio output using the between different MIDI instruments. A rotary switch is
incredible Adafruit Music Maker shield. I was so read and the output is used to update the instrument.

I chose to have 16 preloaded instrument selections to store all those instrument codes if you wanted. The
on the device. The number of instruments is not selected instrument is displayed on a wheel with 16
limited by the Arduino and music shield. There are spokes. The wheel is turned using a stepper motor,
over 100 options for instruments on the VS1053 chip. which is controlled with 4 digital pins.
I think there is probably enough memory on the mega

Upright Laser Harp: Page 5


Step 3: Chassis Design and Cutting

The system was designed in Fusion 360 and is The parts were lasercut and assembled using
constructed out of plywood and plexiglass. The alignment tabs, bolts, and super glue.
methodology for designing and building the device
was different from my previous projects. I focused on Note: The tolerances on the parts are not perfect, so
building subassemblies that functioned in isolation you may have to trouble shoot or shave down parts
and then were added to the overall assembly. For so they fit.
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.

Upright Laser Harp: Page 6


Upright Laser Harp: Page 7
Download
https://www.instructables.com/ORIG/FAY/JY3X/JZIOV740/FAYJY3XJZIOV740.zip

View in 3D Download
https://www.instructables.com/ORIG/FD1/GNMB/JZIOV76Z/FD1GNMBJZIOV76Z.stl

Step 4: Mirror Assembly

The upright laser harp consists of twelve mirror assemblies and each assembly consists of five parts. Two
brackets slide into the square mount and a 1" x 1" mirror snaps into place. To prevent the mirror from sliding out of
the mount, two C-shaped joints slide in over the mirror. No glue is required for this assembly.

Upright Laser Harp: Page 8


Upright Laser Harp: Page 9
Step 5: Kinematic Laser Mount Assembly

The laser mount was the most difficult assembly to together. I started to think of ways to make wood
test and design. I wanted to be able to steer the laser spring-like so I could avoid the springs and rubber
for alignment with the photoresistors. In my previous bands. The final design consists of wooden arms with
laser harp, the lasers would get misaligned when I slits in them that made them flexible.
moved the device and there was no good way to
finely adjust the lasers. Kinematic mounts are crucial The mount consists of nine parts. First the rear body
components for optical systems, so I looked at is put together with glue and four nuts placed inside.
existing devices for inspiration. All these devices use This part holds the screws that push the part holding
springs to apply adjustable force at specific locations the laser. Two parts holding the laser are glued
in the device. My goal was to build low-cost kinematic together with the holes facing the screw. Finally, the
mounts, which meant replacing the metal springs with three "spring" arms connect the front part and the part
other materials. In my search, I also came across holding the laser. The laser is placed into the device
these LEGO-based kinematic mounts. later.

My first designs placed the mirrors on kinematic The process for holding the entire assembly together
mounts with rubberbands. This worked pretty well, is described in the next step.
but the mounts were bulky and difficult to put

Upright Laser Harp: Page 10


Upright Laser Harp: Page 11
Step 6: Photodetector Mount

To detect the blocked laser beam, I decided to use A photoresistor is pushed into the photoresistor
photoresistors. I debated using faster components, "wall," and two cables are connected to the
but after watching this great Backyard Amusement photoresistor (one goes to 5V and the other goes to
video, I realized that photoresistors would work fine an analog input). I then cut a small piece of diffusive
given my requirements. plastic from a camera film canister. The plastic then
slides into wooden mounts and is placed into a cross-
Even with the kinematic laser mounts, I knew that I shaped part. It looks like a little lantern. The body is
wanted to add diffusers to make sure light fully pressed into the photoresistor wall. Finally, the
illuminated the photoresistors. I used old 35mm film photoresistor wall is used to connect the kinematic
canisters cut to fit in a small mount, a trick I learned laser mount assembly.
from my first laser harp.

Upright Laser Harp: Page 12


Step 7: Top Assembly (Layers 1-2)

The top two sheets of the laser harp don’t hold any lasers. First, the corner brackets are pressed into Layer 2. The
orientation of the brackets matters because of how they fit into Layer 3 in the harp. Layer 1 is then pressed into
the top of the brackets. Four square pieces of wood are glued onto the top of Layer 1. This assembly is set aside
before attaching to Layer 3.

Upright Laser Harp: Page 13


Step 8: Laser Layer Assembly (Layers 3-9)

These layers hold together the laser, photoresistor threaded down through holes to the next layer. The
walls, and mirror assemblies. All the layers are the ground of each laser is connected and the 5V from
same except for layer 3, which has additional holes the photoresistors are connected together. I also
for mounting the top assembly. For each row, the labeled the wires so I knew how to connect them in
laser/photoresistor and mirror positions alternate, as the electronics box at the bottom of the device.
shown in the schematic. I pressed in the
laser/photoresistor modules and mirrors into the When all the laser, photoresistor walls, and mirror
layers using a hammer. Some of the tolerances were assemblies are mounted into the layers, long arm
off, so I had to shave down the tabs on the mounts so connectors slide into the layers to hold everything
they fit into each layer. together.

At each layer, the lasers and photoresistor wires are

Upright Laser Harp: Page 14


Upright Laser Harp: Page 15
Step 9: Base Assembly (Layers 10-15)

The next step is to start assembling the base. Layers pulled through the holes in the base assembly so they
10-15 were designed to form a converging tunnel in can eventually be connected to the Arduino. Layers
the middle of the device when seen from the top. I 3-9 are connected to the base assembly with tabs on
pressed the two sides of the electronics box into Layer 9 that fit into the walls of the electronics box.
these layers to hold them in place. Layer 14 and 15
are glued together and Layer 14 has no tabs to be be Layers 1-2 can now be pushed into holes on Layer 3.
pressed into the walls of the electronics box. The Finally, even longer connector arms are pressed into
front and rear wall of the electronics box are not Layers 1-15 to hold all the layers together and
initially pressed into the layers. connect the top portion of the instrument to the
electronics box.
The wires from the lasers and photoresistors are then

Upright Laser Harp: Page 16


Upright Laser Harp: Page 17
Step 10: Wheel Assembly

The stepper motor is secured onto the mount with two therefore placed on the wheel facing opposite
bolts. There is directionality to this mount; see the directions. The wheel rotates until the sensor reads
CAD model gif and video to make sure everything is high and then switches to low. Some offset in steps is
in the right direction. A 3D-printed motor coupler then added to position the first instrument at the right
connects the motor shaft and wheel axle. The two position in the display.
axle pieces are glued together and pushed into the
coupler. Then the first face of the wheel (the one with The Hall effect sensor is pushed into place with
the bigger rectangular cutout) slides over the axle, housing over the middle lead to avoid a short. Check
followed by the second face of the wheel. Some wax the wiring in the schematic. Now three circular parts
may be required because it is a tight fit. The rim of the slide over the axle so that the axle can turn in the
wheel with the instrument types holds the two faces circular hole in the Hall effect sensor mount. Two C-
together. The words will be upside down when shaped parts are pushed orthogonally into the axle to
viewing the wheel with the first face to the right of the hold everything in place.
second face.
The motor is then connected to the axle via the
Next the two parts holding the Hall effect sensor are coupler, which holds a nut and set screw that presses
glued together. The Hall effect sensor is used to into the motor shaft. Finally, the whole assembly is
determine the position of the wheel. The bipolar Hall held together with two spline shaped mounts.
effect sensor switches high to low when the magnet
field over the sensor changes. Two magnets are

Upright Laser Harp: Page 18


Upright Laser Harp: Page 19
Step 11: Box Component Mounting

I designed all the electronics to be mounted to the top prototype board: transistors for controlling the laser
of the electronics box so that the bottom panel could diode modules, resistors for the photoresistor circuit,
easily be removed if the electronics needed to be pins for front panel components. There is a lot of
troubleshooted. The Arduino Mega, stepper motor soldering work here so I'd like to some day make a
controller, prototype board, and instrument wheel are PCB for the upright laser harp.
all pressed into the top of the box using the mounts.
Make sure to wire the Adafruit Music Maker according
A few lasercut parts slide over the boards as shown to the MIDI configuration in the instructions on
in the images above. These parts then press into the Adafruit's website.
holes in the top of the box. All the electrical
components shown in the diagram are soldered to the

Upright Laser Harp: Page 20


Upright Laser Harp: Page 21
Upright Laser Harp: Page 22
Step 12: Front and Rear Panel

I decided to build the device with two separate The front and rear walls were then hammered into
panels. In the rear are the jacks and switches for Layers 10-15, just like the side panels. At this point, I
power and uploading programs to the device. In the also connected the corner joints at the bottom of the
front are all the controls related to controlling the device. A nut is glued into these joints so that bolts
instrument and audio of the device. can hold on the bottom panel.

Black acrylic pieces hold the components on the rear I did a lot of soldering and wire wrapping to connect
and front panel. Both acrylic panels are glued onto all the components as shown in the schematic. The
the wooden front and rear walls of the electronics power supply is 12V, so I made sure the Buck
box. After gluing the acrylic, I mounted the converter was adjusted for 4.5V output before
potentiometer, rotary encoder, on/off speaker switch, connecting lasers and the motor. Finally outer walls
and headphone jack. On the rear, I attached a reset for the electronics box were glued on to cover the
pushbutton, on/off power switch, power jack, and Layer 10-15 tabs.
USB jack for uploading programs to the Arduino.

Upright Laser Harp: Page 23


Upright Laser Harp: Page 24
Upright Laser Harp: Page 25
Step 13: Playing the Harp

Attached is the code for the laser harp and some 6. Update the motor position and MIDI instrument by
additional troubleshooting code. I followed the code reading rotary encoder
from the Adafruit documentation for the Music Maker
shield. The general procedure is as follows: 7. Read the state of the photoresistors and compare
to previous state to determine if beam was blocked
SETUP
8. Send appropriate MIDI signal if beam is blocked
1. Calibrate the instrument wheel with Hall effect
sensor signals The Reset button and Speaker enable button work by
being tied to ground so they don’t have to be read into
2. Set up Music Maker Shield for MIDI output digitial pins of Arduino. You may have to adjust the
lasers using the kinematic mounts to make sure they
3. Select the notes played by the device are aligned with the photoresistors.

4. Turn lasers on Now you are ready to play the instrument! The device
plays like a fretted instrument because of the rails
LOOP running down the sides of the device, so it is easier to
play than other laser harps I have tried. Thanks for
5. Update volume of device by reading the reading my instructable!
potentiometer

Download
https://www.instructables.com/ORIG/F11/P9O9/JZN5B3J1/F11P9O9JZN5B3J1.ino

Download
https://www.instructables.com/ORIG/FHR/7HVB/JZN5B3J2/FHR7HVBJZN5B3J2.zip

Hello! Im trying to make this but I was wondering how much wood you used when you laser cut to
make this project and roughly how big the base of it was. Thanks
Awesome! I used Graphic, which is an Autodesk vector program for Mac, to arrange the sheets
and export pdfs. You should be able to open the pdfs in any vector editing program. You may have
to rearrange the components to fit best for your laser cutter.
I used around 30 sheets of 12"x12", but I bought additional sheets for troubleshooting. The base is
29.5cm x 29.5cm and the structure is 35cm tall.

Upright Laser Harp: Page 26


Hello! im making great progress on this project but I've come to a road bump as i don't know where
the magnet go on the wheel. Could you help me out a bit?
Great! You can put the magnet anywhere that will move over the hall effect sensor. In the code,
you can then add some number of steps for the calibration.
You should test to make sure your hall effect sensor is working, because some people have been
having some trouble.
hey I'm having troubles with the measures of the boards could you maybe help me out with my
sizing?
I used a 4' x 8' sheet of 1/8 birch plywood that I got from Home Depot for around $20, I think It
ended up being just over half of the sheet.
hey I'm having troubles with the measures of the boards could you maybe help me out with my
sizing?
Wait for it....

Super! I love the start up music. That's a great idea.

I tried to sift through some comments, I apologize if this is a repeat.

I’m trying to get software... I’d love someone else’s software. Lol. I’m alright on the hardware part
but this software is slaughtering me. The Adafruit website’s recommended test software “configure
the shield for Midi output” sadly has more errors in it than I care to count. I hate to ask but if anyone
has anything they can send to me to help this I’d love it. I have all the bits and pieces I just can’t
get the software to work!
I think this code worked for me. Btw, I don't remember finding any errors in the Adafruit
documentation.

/***************************************************
This is an example for the Adafruit VS1053 Codec Breakout
Designed specifically to work with the Adafruit VS1053 Codec Breakout
----> https://www.adafruit.com/products/1381
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/
#include <SoftwareSerial.h>
// define the pins used
#define VS1053_RX 2 // This is the pin that connects to the RX pin on VS1053
#define VS1053_RESET 9 // This is the pin that connects to the RESET pin on VS1053
// If you have the Music Maker shield, you don't need to connect the RESET pin!
// If you're using the VS1053 breakout:
// Don't forget to connect the GPIO #0 to GROUND and GPIO #1 pin to 3.3V
// If you're using the Music Maker shield:
// Don't forget to connect the GPIO #1 pin to 3.3V and the RX pin to digital #2
// See http://www.vlsi.fi/fileadmin/datasheets/vs1053.pdf Pg 31
#define VS1053_BANK_DEFAULT 0x00
Upright Laser Harp: Page 27
#define VS1053_BANK_DRUMS1 0x78
#define VS1053_BANK_DRUMS2 0x7F
#define VS1053_BANK_MELODY 0x79
// See http://www.vlsi.fi/fileadmin/datasheets/vs1053.pdf Pg 32 for more!
#define VS1053_GM1_OCARINA 80
#define MIDI_NOTE_ON 0x90
#define MIDI_NOTE_OFF 0x80
#define MIDI_CHAN_MSG 0xB0
#define MIDI_CHAN_BANK 0x00
#define MIDI_CHAN_VOLUME 0x07
#define MIDI_CHAN_PROGRAM 0xC0
SoftwareSerial VS1053_MIDI(0, 2); // TX only, do not use the 'rx' side
// on a Mega/Leonardo you may have to change the pin to one that
// software serial support uses OR use a hardware serial port!
void setup() {
Serial.begin(9600);
Serial.println("VS1053 MIDI test");
VS1053_MIDI.begin(31250); // MIDI uses a 'strange baud rate'
pinMode(VS1053_RESET, OUTPUT);
digitalWrite(VS1053_RESET, LOW);
delay(10);
digitalWrite(VS1053_RESET, HIGH);
delay(10);
midiSetChannelBank(0, VS1053_BANK_MELODY);
midiSetInstrument(0, VS1053_GM1_OCARINA);
midiSetChannelVolume(0, 127);
}
void loop() {
for (uint8_t i=60; i<69; i++) {
midiNoteOn(0, i, 127);
delay(100);
midiNoteOff(0, i, 127);
}
delay(1000);
}
void midiSetInstrument(uint8_t chan, uint8_t inst) {
if (chan > 15) return;
inst --; // page 32 has instruments starting with 1 not 0 :(
if (inst > 127) return;
VS1053_MIDI.write(MIDI_CHAN_PROGRAM | chan);
VS1053_MIDI.write(inst);
}
void midiSetChannelVolume(uint8_t chan, uint8_t vol) {
if (chan > 15) return;
if (vol > 127) return;
VS1053_MIDI.write(MIDI_CHAN_MSG | chan);
VS1053_MIDI.write(MIDI_CHAN_VOLUME);
VS1053_MIDI.write(vol);
}
void midiSetChannelBank(uint8_t chan, uint8_t bank) {
if (chan > 15) return;
if (bank > 127) return;
VS1053_MIDI.write(MIDI_CHAN_MSG | chan);

Upright Laser Harp: Page 28


VS1053_MIDI.write((uint8_t)MIDI_CHAN_BANK);
VS1053_MIDI.write(bank);
}
void midiNoteOn(uint8_t chan, uint8_t n, uint8_t vel) {
if (chan > 15) return;
if (n > 127) return;
if (vel > 127) return;
VS1053_MIDI.write(MIDI_NOTE_ON | chan);
VS1053_MIDI.write(n);
VS1053_MIDI.write(vel);
}
void midiNoteOff(uint8_t chan, uint8_t n, uint8_t vel) {
if (chan > 15) return;
if (n > 127) return;
if (vel > 127) return;
VS1053_MIDI.write(MIDI_NOTE_OFF | chan);
VS1053_MIDI.write(n);
VS1053_MIDI.write(vel);
}
Cool instrument, sounds and looks good.
I like this project a lot, very well done.
Thank you!

This is totally amazing and clever. BTW - good music you make

Thank you!

impressive!!

Thanks!

This is absolutely amazing. My son is a musician and would flip over this. I do need to know how to
utilize your .idraw files or the pdf files to either laser cut or 3d print. Thanks.
That's awesome that you want to make this for your son! The pdf files will have to be uploaded to
the software used for your laser cutter. You may have to convert the pdfs to another file format.
Best of luck with building it!
Amazing!
You shoul enter on a contest when it's available.
Thanks! Couldn't find a contest that fits for now, but maybe later!

This is good project

Thank you!

Great job!

Thanks!

What's really amazing is not just this project, but all your other related skills to produce the end
result. Bravo!
Thanks for your compliment!

Lovely craftsmanship!

Upright Laser Harp: Page 29


Thanks!

Very impressive and totally professional project !! And useful !!

Thanks for your note!

Very cool project!! Excellent design and execution.

Thank you!

Wow! Very neat product, and very detailed 'ible! Nicely done!

Thanks!

This is an exceptionally well done project. Very sophisticated. Thanks for sharing!

Thank you for checking it out!

That's amazing!!! I always wonder how people get such things in mind and design them.

Thanks!

Magnificent! And thanks so much for sharing. I can’t wait to learn from you and give this a try. Truly
awesome!
Thank you for checking it out!

That is a work of art!


Well Done!
Thank you!

Genius!!! This is truly fascinating!

Thank you!

This is very impressive! Great work

Thank you!

I can see how much work it took to make this. Good job!

Thanks!

I am very impressed like so many others with this project, you should be very proud of your
achievements. I was awe inspired by your command of the 3D Cad Software you were using too.
Unfortunately I dont have or have access to a CNC Laser Cutter to make the frame and would ask
if you are possibly looking at producing a kit that one could purchase? Keep up your excellent work
and producing more of your amazing projects

Upright Laser Harp: Page 30

You might also like