guitarduino
A project about Arduino Guitar Hero.
About
This project is about making a guitar prototype to serve the purpose of playing a Guitar Hero like game and for guitar beginners to practice strumming and changing fingers pressed between the strings. The design should be easy for the user to interact with and have a little fun. The shape might not be exactly like a guitar, but we want to make it simpler for the project's purposes. About the mechanism, first upper-half is for pressing. The latter part is for strumming. The users have to press and strum the string to make the sound. Until now, we intend to connect the sensors with the Arduino to detect which string is pressed and played. We are having two options. The first one we would use accelerometers to detect vibration of the strings pressed and strummed. The second way is that the touch sensor is place under the string, on the plank. The user needs to press the string and also need to press it hard till the point it touches the sensor so that the system knows that the string is chosen to make it sounded. The Arduino will be the main controller for receiving the signal and communicating with the screen and speaker. After finishing basic 4 different notes for each string, we will also consider to make other notes if two or more strings are chosen.
Final videos are in the end.
Timeline
Week 1 : Finalize all the details about overall shapes, mechanism and tools
Week 2 : Start working on the code
Week 3 : Finish a virtual prototype
Week 4 : Start the process of connecting physical + digital
Week 5 : Make it (thanksgiving break)
Week 6 : Final touches, might add game mode
Hardware list
Accelerometers (In stock)
Capacitive Touch sensors (We dont know (has not been ordered))
Plank of wood (1/8 inch 2x4 plywood /hardboard), saw, paints (We do not know, we personally think there could be some in the Makerspace, but if we can order it, it would be great)
String (conductive material) (We have it)
Nuts and bolts (We do not know)(can probably borrow some from all campus makerspace)
Motion sensor for tracking string (In stock(MPU-6050 6-axis IMU))
Small speaker (In stock, we are waiting on it)
Microphone Sensor (In stock, we are waiting on it)
Screen (LCD, laptop,...), wire, jumper cables (We have it, but might need some longer)
Resistors, breadboard (In stock we probably have enough)
Arduino Uno (In stock)
Tech Stack (Software)
Arduino
Processing
Completed Features
Note detection - Arduino program can detect when a note string is pressed down (0 and 1).
Sound generation - Simple sound notes can be generated in Processing. We worked and tested with the capacitive touch on the Makerboard.
Note validation - Verifies if a note was pressed at the correct time.
Half part of the board including the string detection with string extension and reading value from the strings and the aluminum foil.
Features we are still working on
Important Features
Note detection for all strings - Feature 1 for all 5 strings, we estimate this will be done before Friday 12/13/2019
Strumming - Essentially the ability to strum the guitar and map it to the sound. We estimate the feature will be done by at most Sunday 12/15/2019 although its a hard feature to get right. We have some available options:
Putting all of the parts together on the board: will be done by at most Sunday 12/15/2019.
Extra Features
Fast Fourier transformation - Essentially for the creating notes for the guitar hero game by mapping frequencies to notes. We will only do this if we finish the important features. If the strumming detection deadline goes as planned we will probably finish this feature by the end of Sunday.
Guitar hero - Game that that lets you play your favorite songs. We will only do this if we finish the important features. If the strumming detection deadline goes as planned we will probably finish this feature by the end of Sunday.
Media
Prototyping phase:
Video 1 (Working of Processing using Capacitive Touch Sensor on Makerboard) : https://youtu.be/chd28ddjhTs
Video 2 (Reading value when pressing the string): When the string is not contacted with the foil, the value is 1, when it's touched with the foil, it became 0.
Photo 1: The back of the board
Photo 2: The front side of the board
Roadblocks
Complexity of karplus strum algorithm for our strumming sound of the guitar - Implementing this took a lot of effort and research, in part because of the complexity, eventually we got a grasp of it.
Strumming - We need a reliable way to detect strums, searching for this isn't easy.
Keeping the prototype not falling apart is not an easy part too as the more we experiement with it, the parts are getting out of place and we have to constantly fix them.