1 Electrical and Computer Engineering Guitar Virtuos Justin D’Alessandro (EE) Jacob Dionne (CSE) Adam Montalbano (CSE) Jeffrey Newton (EE) Team Kelly Final.
Published byModified over 4 years ago
Presentation on theme: "1 Electrical and Computer Engineering Guitar Virtuos Justin D’Alessandro (EE) Jacob Dionne (CSE) Adam Montalbano (CSE) Jeffrey Newton (EE) Team Kelly Final."— Presentation transcript:
1 Electrical and Computer Engineering Guitar Virtuos Justin D’Alessandro (EE) Jacob Dionne (CSE) Adam Montalbano (CSE) Jeffrey Newton (EE) Team Kelly Final Project Review
2 Electrical and Computer Engineering Design Progress CDR goals reached: Hardware button interface for two strings complete Digital logic redesigned Fully functional GUI String detection implemented USB interface between microcontroller and GUI functional Future goals: Multi-note support All strings functional In depth user feedback
3 Electrical and Computer Engineering Project Completion
4 Electrical and Computer Engineering System Requirements (Revised) Button Interface: Must not affect playability of guitar Avoid wire clutter String Sensing: Must not affect playability of guitar strings Output voltage produced must be recognized as logic ‘1’ Microcontroller: Accurate logic operation on input from buttons Reliable communication with chosen output interface Graphical User Interface: Real-time operation Interfacing with microcontroller output efficiently Provide useful results to user
5 Electrical and Computer Engineering Song Bank Design Note values and timing read in from a text file Demo uses same implementation shown at CDR (Figure 1) Multi-note support near completion (Figure 2) Figure 1 Figure 2
6 Electrical and Computer Engineering Beginner Mode / User Feedback Allows user to slow song down for easier playing Half speed and quarter speed mode completed Future drafts will incorporate slower speeds for more complex songs Software will compare incoming notes to song bank notes Notes compared in real time Hit note percentage available immediately after song has finished Not implemented in demo Notes played by user are stored into a text file User will be able to scroll backwards and view the notes that they played
7 Electrical and Computer Engineering Microcontroller Software Programmed in C using AVR Studio 4 designed for the Atmel ATMega32 8-bit microcontroller Uses the USART pins and associated USART functions to initialize the USART and transmit data to the USB interface Continuously monitors data input to pins based on a clocking scheme The clock signal is initialized to sample the 22 inputs for the first string Only non-zero data is transmitted via the USART The clock value is then left shifted to sample the 22 inputs for the next string Process repeats until the last string is sampled, at which time the clock signal is reset to sample the first string’s inputs again Allows for a large number of inputs into a single microcontroller
8 Electrical and Computer Engineering USB Interface Software Programmed in Java using the Java Communications API Provides access to serial ports identified by an associated COM port USB cable used provides driver support to recognize the cable as a COM port Uses input streams for data from serial port Event listeners allow for notification of data received Threading allows for this software to run in the background while GUI is running
9 Electrical and Computer Engineering USB Interface Software (cont.) Communication protocol implemented for PC to microcontroller communication via USB Byte-sized packets First packet sent is a “valid” packet, represented by the character ‘v’ Then fret and string data packets are sent Finally, a final “valid” packet is sent Allows for only valid data to be used for display on the GUI
10 Electrical and Computer Engineering GUI Design Modifications Software now accommodates user-played notes in real-time – complete end-to-end system! Hardware provides data to USB interface USB interface provides data to serial port communication software Serial port software passes data to GUI software All fret and string combinations (all notes) now supported for GUI display Fret markers added at standard guitar locations (i.e. – frets 3, 5, 7, 9, 12, 15, 17, and 19) for improved readability of the display
11 Electrical and Computer Engineering Digital Logic Design (First Implementation) Used a number of multiplexer IC’s to cut down data inputs to microcontroller. Multiplexer outputs sent directly to microcontroller. Large propagation delays due to selection input determination in software.
12 Electrical and Computer Engineering Digital Logic Design (Current Implementation) Use clocked quad 2 input and gates to do logic calculations. Clock Input=String Detection Output & Clock Output Each string has unique clock and string detection signals. Allows to check all frets on each string sequentially. (Only when strings are played)
13 Electrical and Computer Engineering Digital Logic Design Schematic
14 Electrical and Computer Engineering String Detection Same as CDR, Metal pick is connected to a voltage supply between 4.5V and 5.5V. The power is coming directly from the breadboard via USB to TTL serial cable. Instead of the duct tape used before for insulation, we have a plastic bridge and tail piece.
15 Electrical and Computer Engineering Design Problems & Next Steps And gate input pins for the clock signal float to a logic high when clock is low. New and gates (not of TTL logic family) will be ordered ASAP. Will have this implementation running for final advisor demo. Enclosures and cosmetic improvements to guitar will also be added.