During the Covid-19 pandemic, many people around the world are unable to go outside and participate events or activities as they used to. Many people are forced to stay at home, either for quarantine or social distancing. Instead of bing watching videos, movies and waste countless of hours on them, we have decided to make stay-at-home more fun and meaningful which is why we created muisitar.
Guitar is one of the most popular instrument, played and owned by many people. However due to the busy school or work schedule, many people have already forgotten the basics or wanted to try the instrument out but never have the time or money to purchase one. Which is why we have decided to solve this problem.
What it does
muisitar is a guitar learning website that provides simple instructions to get people started in both learning and practicing guitar. It offers a range of tutorials to both beginners and intermediate guitarists offering them challenges and tutorials on finger position.
For individuals who do not own a guitar, and for users who just want an even more portable way to practice guitar, a compact LEGO-arduino guitar neck attachment can be used to have active practicing sessions to learn various chord positions. These active practicing sessions are possible due to the backlit arduino LED light system built under the LEGO guitar neck, where shining lights under the LEGO board guide the user to where they should place their fingers. Once the user has placed their fingers in the right position (and the arduino senses it with the photoresistor) the arduino will play the chord the user is on at the moment. There are two settings for playing the chord, one with a passive buzzer where the chord notes are played in a melodic order, or a recording of an actual guitar that has played the chord.
How we built it
On the Software side, we used React and Bootstrap on the front-end side of the website.
On the Hardware side, we used arduino, python, and some old fasioned LEGO!
We first tackled trying to make the light up LEGO LED guitar neckboard. There were many initial design variations for this LEGO neckboard, where we tried LEGO technical pieces and even hole-punching some cardboard boxes that could fit the LED lights. However luckily, each LED light fits snuggly under the openings of the 1x16 LEGO stick pieces which let us build an assortment of 13 lights underneath the LEGO neckboard. With these various LED lights fit underneath the LEGO neckboard, we utilized using arrays that saved specific LED positions according do various chords within the arduino code; we can run through 7 different chord positions due to the LED light configuration we have behind the LEGO neckboard.
We then learned how to utilize the photoresistor to sense when the user put their fingers in the correct position for each chord. Because the LEGO neckboard is lit up utilizing LED lights, the photoresistor can sense when enough light is covered by the user's fingertips and notify the arudino that the user has played the chord.
Then we tried to coordinate the light positions from the arduino with an actual sound of the chord the user is playing. We tried this in various ways:
- Using a passive buzzer that can play 1 tone at a time. Although it cannot play the entire chord at once, it can play successive melodic notes which if played quickly enough, resembles the chord. It has a bit of a robotic sound to it however.
- Then we tried to connect the arduino to python through the
pyseriallibrary. This would allow us to play more complicated sounds, such as recordings of us playing each guitar chord. By using this serial connection, we could play each recording exactly when the user put their fingers on the LEGO guitar neckboard with various chord progressions.
Challenges we ran into
Connecting the arduino to python was especially difficult; it was our first time trying it, and we didn't completely understand how the connection worked. However, some awesome people at the hackathon (shoutout Ankit) helped point us to the right resources to figure it out!
Accomplishments that we're proud of
We are proud to have finished this project successfully, with a working hardware component even though our team is away on two sides of the world: east US and Hong Kong!
What we learned
Lots of arduino, python, bootstrap styling hopefully to be used throughout the next few hackathons to come!
What's next for muisitar
Hopefully we can find better ways to sense whether or not the user has played a chord; but this was an incredibly fun experience!
Domain Name: muisitar.space