170 likes | 322 Views
Interactive Guitar Teacher. Gregory Hatty Charles Hutson Advisor : Prof. Natarajan. Objective . Teach people to play guitar by using LED lights on the fret board of the guitar to show finger placement for notes and chords
E N D
Interactive Guitar Teacher Gregory Hatty Charles Hutson Advisor: Prof. Natarajan
Objective • Teach people to play guitar by using LED lights on the fret board of the guitar to show finger placement for notes and chords • Allow the learner to easily select which note or chord they want to play with all the variations • Create a user-friendly way to upload your favorite guitar song tablature to the guitar to learn • Save money on expensive guitar lessons with a do it yourself approach
Design Requirements • Construct fret board with PCB containing 132 LEDs • Power system using 9 volt battery • Have buttons to select notes, chords, and songs • Display chords on LCD screen • Ability to translate guitar tab into machine code • Ability to upload translated guitar tab to guitar
Alternative Hardware Design Options • Have common anodes and cathodes connected within LED matrix • This technique would require 28 I/O ports, resulting in the need for a bigger processor
Alternative Hardware Design Options • Use a Freescale S08 processor to control LEDs
Alternate Software Design Options • Use MIDI instead of Tabs for Song Mode • Easier to parse Text files rather than MIDI • Parsing the text files in the guitar rather than on the PC • It was much simpler to do on a PC before uploading
Hardware Design • Only 1 LED will be driven at a time directly by the micro for power consumption purposes • By taking advantage of the tri-state abilities of the I/O ports, we can individually light 1 LED at a time with minimal ports 1 2 3
Hardware Design Details • PCB contains 132 LED on the fret board • 20 mA is required for optimal LED brightness • Control LEDs with a PIC18F4431 Microprocessor using 17 I/O pins • N(N-1)/2 equation was used to determine I/O pins • Push Buttons are connected to low pass filters for debouncing the signal • 10k res. and .1uF cap. needed for a 6 msec delay
Software Design Details • Embedded C and MicroC were used to program the PIC18F4431 Processor • Tables were created for each individual LED indicating the Data Direction and State of the I/O ports • A function was written to play individual notes by setting the Data Direction Registers and Ports to the corresponding value in the table. • An addition function is used to show chords by playing all of the notes in a round robin fashion making it appear as if all the LEDs were lit at the same time
Software Design Details • The guitar will upload a specially formatted guitar tab into FLASH via a USB to RS232 cable. • Headings on the tab files will denote a time signature and tempo for the song • File will automatically play if uploaded and continuously poll for a button push indicating that want to upload a new song • If no song loaded, it will continuously look for a data being uploaded
Test Results • The chord playing mode is working properly. It was noticed that a few ports on the PIC had leakage issues • Mainly the pins that serve as RX and Data to the PIC programmer. • The Song playing mode is basic. We are unable to speed up or slow down the song during play.
Conclusions/Ideas for future work • Design was functional with easy to use buttons for scrolling through chords • Visibly displayed chords on appropriate LEDs and also LCD screen • Add pin diodes to the PCB for feedback on whether user is playing the chord correctly • A a tempo change option to the song mode • Create a software package for creating/uploading guitar tabs
Acknowledgements We would like to give a special thanks to… • Professor Natarajan • Professor Miller • Freescale Semiconductor • Ryan Malcolm, Dan Beeker, Sheldon Wolberg, Brian Klink