Electrical and Computing System Overview

Picture
Our system uses pygame, a python module, on a computer to translate the controller button input into signal values, which it then sends to a PIC micro controller. Based on these values, the PIC sends a signal to six servo motors. Five of these motors actuate the upper five guitar strings, while the sixth actuates the plucking mechanism.

Challenges

Picture
On the software side, the most challenging aspect was finding a way to interface the Guitar Hero controller with the rest of the system. Luckily, Pygame, a python module, had built-in methods to interface with the Guitar Hero controller (which is treated as a joystick). Another challenge was calibrating the signal sent to the servo motors so that the motors were not overdriven (which would cause them to get stuck), while still being able to use the entire range of motion of the motor. 

Future Plans

In the future, we would like to create a python library containing many chord voicings that can easily be integrated into our existing code. This will enable our device to play a large number of songs. We would also like to create a Guitar-Hero-like game that has the corrects chords mapped to a song. The game will tell the player what button to press and when to strum so that our mechanism will play the guitar in time to the music.