Original pitch:

For our project we plan to build a theremin, an electronic musical instrument that is played without physical contact. The circuit and parts for the project are fairly attainable and blueprints are available online. To add interest to the project and deliverable as more than just a pressuring musical instrument, we want to add a record function to the instrument, so that any music played can be wirelessly uploaded to the internet. Also, if possible, MatLab could be used to add filters to the recordings before uploading.

Final writeup:

Our project, the theremin, is a device that produces the same basic capabilities as a theremin instrument. It emits a sound through a piezo speaker, where this sound depends on the distance of some object (a hand) from its ping sensor. A dial adjusts the volume, and there is an additional button and light that accesses recording capabilities. After recording, the file is saved to the computer’s drive.

Originally we did not have the speaker connected to the breadboard, and were playing the audio produced from the computer. We were also attempting to change the computer’s volume through another perpendicular ping sensor instead of a dial. The quality of the sound coming out of the computer left something to be desired, however, because the while loop playing the sound in MatLab could not output the notes quickly enough to follow instantaneous changes, particularly when there were two files running — one for pitch, and another for volume. In addition, we could not find a working function in MatLab to change the volume of the computer. (I thought we could/did? It just couldn’t update quickly enough)

Through this project we learned a lot more about coding and available functions in MatLab. Probably the most valuable knowledge we gained was learning how to interface Arduino with MatLab, including the logic and functions associated with doing so.

If we had more time we would have tried to implement a more visual component to the box. Our idea was to add a row of LED lights, where the number of lights in the row lit up is proportional to the distance the user’s hand is from the ping sensor.

Demo video:

https://youtu.be/6dal8HQQ0q4

Share this project:

Updates