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