Transcript Buddy Bug

Guitar Virtuos
Team Kelly
Justin D’Alessando (EE)
Jacob Dionne (CSE)
Adam Montalbano (CSE)
Jeffrey Newton (EE)
Midway Design Review
Electrical and Computer Engineering
1
Design Progress
 MDR goals reached:
•
•
•
•

Hardware button interface for one string complete
Microcontroller programmed
Basic GUI functional
Vibration sensors tested
Future goals:
• Interface between microcontroller and GUI
• Reliable vibration sensors that do not obstruct playability
Electrical and Computer Engineering
2
Prototype Completion
Electrical and Computer Engineering
3
System Requirements (Revised)
 Button Interface:
•
•
Must not affect playability of guitar
Avoid wire clutter
 Vibration Sensors:
• 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
Electrical and Computer Engineering
4
Button Interface




Simple mini push button switches used
Output of buttons increases to VCC when button is pressed
Output fed directly to microcontroller input ports
Organization of wires still an issue
Electrical and Computer Engineering
5
Button Interface Schematic
Electrical and Computer Engineering
6
Digital Logic Circuitry
 40-pin ATmega32 microcontrollers perform logic
operations
 Simple code used to decipher correct string and
finger placement
Electrical and Computer Engineering
7
Digital Logic Circuit Schematic
JTAG is used for
microcontroller
programming only
JTAG Pin Assignments
Pin 1-Microcontroller Pin 24
Pin 3-Microcontroller Pin 26
Pin 5-Microcontroller Pin 25
Pin 9-Microcontroller Pin 27
Pins 4&7-VCC
Pins 2&10-GND
Electrical and Computer Engineering
8
Logic and Button Interface Design Concerns
 Button Interface
 Height of buttons
 Organization of wiring
 Durability
 Digital Logic Circuit
 Computer-Microcontroller Interface
 Placement in final prototype/Spatial
restrictions
Electrical and Computer Engineering
9
Vibration Sensor
 Vibration Sensor does not need power.
 It just needs to be grounded.
 Measuring the voltage with a multimeter, it
never exceeded 5V as stated in the datasheet it
could go up to 90V.
Electrical and Computer Engineering
10
Microcontroller Programming / Data IO
 Atmel ATMega32 Microcontroller programmed
• Microcontroller programmed in C using AVR Studio
• Microcontroller takes 22 button inputs and determines
note being played
• Note data currently output via Yamaha MIDI=>USB
cable
Electrical and Computer Engineering
11
Microcontroller Concerns
 Interface between microcontroller and GUI
• Currently considering:
• MIDI=>USB cable
• Viable data format for GUI other than MIDI
 Placement of logic functions
• Microcontrollers vs. hardware logic block
 Reducing number of inputs
• (6 strings x 22 buttons) + 6 vibration sensors => 138
inputs
• Space requirements
Electrical and Computer Engineering
12
Graphical User Interface (GUI)
Pre-programmed song notes
User-played song notes
Time
Button Panel
Electrical and Computer Engineering
13
GUI Design Overview
 Programmed using Java Swing API
• Relatively easy to learn due to strong ECE background
in Java programming
• Cross-platform interface
• Allows panel creation for buttons and shapes
• Includes methods for painting graphics (i.e. – lines,
strings, and rectangles)
• Allows for real-time positioning of these graphics with
coordinates
• Enables the use of timers for song tempo
• Allows scrollbars to be created so user can scroll
through notes played for feedback
Electrical and Computer Engineering
14
GUI Design Progress
 Achieved goals:
• User Interface window created
• Pre-programmed song note and user-played song note
displays (fretboard, strings, and notes) implemented
• Moving display in real-time with song tempo
• Button panel with Pause, Shred (Play), and Reset
 Future goals:
•
•
•
•
User feedback
Input from microcontroller and song bank
Menus and dynamic scrollbars
Showing time-dependence of notes
Electrical and Computer Engineering
15
Deliverables





A fully-functional guitar prototype
Basic GUI
Microcontroller to software interface
Input Output Software
Pre-programmed song bank
Electrical and Computer Engineering
16