guitarduino

A project about Arduino Guitar Hero.

by Ananth Bashyam and Thai On

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.

IMG_5098.MOV

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.