The fundamental principle behind the laser harp is that a laser shines on a photoresistor making the resistance in the photoresistor close to 0 ohm, and when the a finger is blocking the laser from making contact with the photoresistor, the resistance goes to almost 200k ohm. By using the photoresistors as pulldown resistors in parallel with another set of resistors, the voltage divider rule can be applied to determine what the voltage values will be when the laser is broken. High and low voltages can be sent to the Atmega328p to determine when to play a note.
Continue reading Laser Harp – Schematic
For our project, we decided to do something that would apply everything we had previously learned in class, as well as something that could potentially make an impact in society (as a big picture).
We chose to do a laser harp as our final project.
Currently, there are companies that manufacture top-notch laser harps, which price their products at a hefty price of 700$ to 2000$. This was our attempt at building a budget friendly laser harp, that would potentially make an impact of 100$ or less to the consumer’s pocket. We successfully built the laser harp with less than 100$ spent on materials.
This could potentially impact the market of laser harps.
Not only this, but the laser harp can serve as a budget friendly way to learn how to play an instrument, as well as helping the consumer recognize and learn different musical notes. The good thing about the harp is that almost anyone can play it. This can come to benefit of children or adults with motor skills difficulties. It could potentially help them if learning how to play an instrument or music, is something they want. To take this concept even further, the harp can be used in conjunction with music theory, to teach mathematics and science to people with intellectual disabilities.
Overall, the big picture of the “budget-friendly” laser harp is to give consumers more accessibility to laser harps, as well as helping and educating people who suffer from intellectual disabilities and/or motor skills.
This snippet of code reads the pins on PORTD. If a pin on PORTD is high, “data” will be larger than 0 and will get stuck in the while loop until the pins on PORTD are low again. Before entering the loop, global interrupts are enabled which allows the interrupt that generates the tone to be called. Then after all pins on PORTD are low, global interrupts are disabled and the program continues. This is used so that a constant tone will be played for however long a laser is blocked.