piano touch keys ii - edgeedge.rit.edu/edge/p13364/public/finaldocuments/final presentation.pdfusing...

19
Piano Touch Keys II P13364 Team Members: Ed Mackowiak (CE), Whitney Zack (CE), Bruce Kynoch (EE), Alex Coleman (EE) Customer/Guide: Gerald Garavuso

Upload: others

Post on 16-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Piano Touch Keys IIP13364

Team Members: Ed Mackowiak (CE), Whitney Zack (CE),Bruce Kynoch (EE), Alex Coleman (EE)

Customer/Guide: Gerald Garavuso

Page 2: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Background / Customer Requirements

● Augment a keyboard to allow musical parameters (pitch, timbre, intensity) to be changed while playing with two hands.

● Allow the musician to play in a way that isn't possible on currently available keyboards.

● At least two axes of control, tracking both position and velocity.

● Demonstrate this functionality on a single keyboard octave.

● Customer Needs

Page 3: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Hardware / Software Design

Page 4: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Capacitive Touch Prototype● Test board to demonstrate capacitive touch

being read by the MSP430.● Test Board Demo Video

Page 5: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated
Page 6: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

PCB Design (Key Design)● Each piano key has:

○ MSP430 IC○ 1 uF capacitor VDD to GND○ 6-pin ZIF Connector○ Touchpad array

● MSP430 and cap on the underside (top layer, red) of the board.

● Pad array and connector on the top surface (bottom layer, blue)

● Limited ground-plane on the touchpad layer, but no ungrounded islands.

Page 7: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

PCB Design (Black Key)Chip side

Pad side

Page 8: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

PCB Design (White Key)Chip side

Pad side

Page 9: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

PCB Design (Reflection)● One trace was left unrouted.● A smaller package size might have allowed

for more spacing between the electrode traces and the data lines.

● "No-tent" vias should have been used to allow for complete solder-mask coverage over the pads.

● A debug LED on the header boards would have been useful.

● TEST/RST pins should have been tied to VDD/GND.

Page 10: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Touch Processor (MSP430)● Collects capacitance data from electrodes.● Using the capacitance data, a location is

determined.● A baseline level is regularly updated to

mitigate the effect of uneven trace length.● The touch processor must be ready to send

the location data over the I2C bus, which is polled at 100 Hz.

Page 11: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Capacitive Technology

Page 12: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Touch Controller Code (MSP430)

Page 13: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

MSP430 Reflections● Baseline calculation algorithm could be

refined.● Having different pinouts for every white key

design made multiple versions of the code necessary.

Page 14: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

I2C Communication● Bus protocol consisting of one master and

several slaves.● Supervisory processor acts as master,

polling the individual key processors for X and Y touch data.

● Spent some time debugging the I2C communication between the mbed and MSP430

● Bus runs at 100kHz

Page 15: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Octave Controller (mBed)● Communicates with the 12 MSP430s over

the I2C bus. Polls at 100 Hz.● X/Y data is packaged into a MIDI signal

using MIDI continuous controls, which is then sent to a PC over USB, using the HID MIDI page.

● Debug LEDs indicate proper operation of the mBed, and also light up if some of the keys are non-responsive.

Page 16: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

mBed Reflections● It is possible to merge the keyboard MIDI

stream with the touch sensor data the mbed level, however this would required a fair amount of extra effort and would not have provided any benefits.○ Still would need two cables (one for keyboard power,

and one for combined mbed power/data)

Page 17: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Sound Generation (Plogue)● Takes in MIDI signals from the keyboard and

the mBed.● Frequency and Intensity are extracted from

the keyboard notes.● X and Y are extracted from the mBed MIDI

channel.● New Frequency = Old Frequency + K*Y● K is a scaling factor● 50 ms smoothing factor to control jitter

Page 18: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Plogue Reflections● Pitch shifting should be relative to the initial

keypress position.● Lots of flexibility in sound generation options

○ MIDI soundbank○ Custom synthesizers

● Once design is finalized, it can be packaged into a custom Bidule for possible distribution.

Page 19: Piano Touch Keys II - EDGEedge.rit.edu/edge/P13364/public/FinalDocuments/Final Presentation.pdfUsing the capacitance data, a location is determined. A baseline level is regularly updated

Bill of Materials

Part(s) Cost

mBed FREE ($60 production)

PCB $112.55

Connectors & passive components $124.48

Total $237.03

Vendor List

Digikey

mBed

OSH Park

Bill of Materials