Buddy Bug

canolaokahumpkaElectronics - Devices

Nov 2, 2013 (3 years and 9 months ago)

103 views

1

Electrical and Computer Engineering

Guitar Virtuos

Justin D’Alessando (EE)

Jacob Dionne (CSE)

Adam Montalbano (CSE)

Jeffrey Newton (EE)

Team Kelly

Midway Design Review

2

Electrical and Computer Engineering

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


3

Electrical and Computer Engineering

Prototype Completion

4

Electrical and Computer Engineering

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

5

Electrical and Computer Engineering

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


6

Electrical and Computer Engineering

Button Interface Schematic

7

Electrical and Computer Engineering

Digital Logic Circuitry


40
-
pin ATmega32 microcontrollers perform logic
operations


Simple code used to decipher correct string and
finger placement





8

Electrical and Computer Engineering

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

9

Electrical and Computer Engineering

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

10

Electrical and Computer Engineering

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.

11

Electrical and Computer Engineering

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

12

Electrical and Computer Engineering

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

13

Electrical and Computer Engineering

Graphical User Interface (GUI)

Pre
-
programmed song notes

User
-
played song notes

Time

Button Panel

14

Electrical and Computer Engineering

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




15

Electrical and Computer Engineering

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



16

Electrical and Computer Engineering

Deliverables


A fully
-
functional guitar prototype


Basic GUI


Microcontroller to software interface


Input Output Software


Pre
-
programmed song bank