1Prototype 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!
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.
3Chassis 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.
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.
Check 5:32 of the upright laser harp video on youtube.
5Kinematic Laser Mount Assembly
The laser mount was the most difficult assembly to test and design. I wanted to be able to steer the laser for alignment with the photoresistors. In my previous laser harp, the lasers would get misaligned when I moved the device and there was no good way to finely adjust the lasers. Kinematic mounts are crucial components for optical systems, so I looked at existing devices for inspiration. All these devices use springs to apply adjustable force at specific locations in the device. My goal was to build low-cost kinematic mounts, which meant replacing the metal springs with other materials. In my search, I also came across these LEGO-based kinematic mounts.
My first designs placed the mirrors on kinematic mounts with rubberbands. This worked pretty well, but the mounts were bulky and difficult to put together. I started to think of ways to make wood spring-like so I could avoid the springs and rubber bands. The final design consists of wooden arms with slits in them that made them flexible.
The mount consists of nine parts. First the rear body is put together with glue and four nuts placed inside. This part holds the screws that push the part holding the laser. Two parts holding the laser are glued together with the holes facing the screw. Finally, the three "spring" arms connect the front part and the part holding the laser. The laser is placed into the device later.
The process for holding the entire assembly together is described in the next step.
Check 7:06 of the upright laser harp video on youtube.
To detect the blocked laser beam, I decided to use photoresistors. I debated using faster components, but after watching this great Backyard Amusement video, I 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). I then cut a small piece of diffusive plastic from a camera film canister. The plastic then 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.
Check 10:58 of the upright laser harp video on youtube.
7Top 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.
8Laser Layer Assembly (Layers 3-9)
These layers hold together the laser, photoresistor walls, and mirror assemblies. All the layers are the same except for layer 3, which has additional holes for mounting the top assembly. For each row, the laser/photoresistor and mirror positions alternate, as shown in the schematic. I pressed in the laser/photoresistor modules and mirrors into the layers using a hammer. Some of the tolerances were off, so I had to shave down the tabs on the mounts so they fit into each layer.
At each layer, the lasers and photoresistor wires are threaded down through holes to the next layer. The ground of each laser is connected and the 5V from the photoresistors are connected together. I also labeled the wires so I knew how to connect them in the electronics box at the bottom of the device.
When all the laser, photoresistor walls, and mirror assemblies are mounted into the layers, long arm connectors slide into the layers to hold everything together.
9Base Assembly (Layers 10-15)
The next step is to start assembling the base. Layers 10-15 were designed to form a converging tunnel in the middle of the device when seen from the top. I pressed the two sides of the electronics box into these layers to hold them in place. Layer 14 and 15 are glued together and Layer 14 has no tabs to be be pressed into the walls of the electronics box. The front and rear wall of the electronics box are not initially pressed into the layers.
The wires from the lasers and photoresistors are then pulled through the holes in the base assembly so they can eventually be connected to the Arduino. Layers 3-9 are connected to the base assembly with tabs on Layer 9 that fit into the walls of the electronics box.
Layers 1-2 can now be pushed into holes on Layer 3. Finally, even longer connector arms are pressed into Layers 1-15 to hold all the layers together and connect the top portion of the instrument to the electronics box.
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.
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.