MIDI Chord Button Keyboard Using PIC18F4620 part 3

Connections
The following table documents the connecting leads and molex pin-header numbers tying the various interfaces together.

HeaderPin no.Signal/FunctionDirectionHeaderPin no.Signal/Function
Chord Controller-SV11RD7——>Matrix Decoder-SV41Chord Sel. C
Chord Controller-SV12RD6——>Matrix Decoder-SV42Chord Sel. B
Chord Controller-SV13RD5——>Matrix Decoder-SV43Chord Sel. A
Chord Controller-SV14RD4——>Matrix Decoder-SV44Note Sel. E
Chord Controller-SV21RD3——>Matrix Decoder-SV11Note Sel. D
Chord Controller-SV22RD2——>Matrix Decoder-SV12Note Sel. C
Chord Controller-SV23RD1——>Matrix Decoder-SV13Note Sel. B
Chord Controller-SV24RD0——>Matrix Decoder-SV14Note Sel. A
Chord Controller-SV41+5v——>Matrix Decoder-SV71+5v
Chord Controller-SV42N/CMatrix Decoder-SV73W (KEYDOWN)
Chord Controller-SV43RB1<——Matrix Decoder-SV72Y (/KEYDOWN)
Chord Controller-SV44GND——>Matrix Decoder-SV74GND
Chord Controller-SV31RC2<——Keypad-X16In S3, 7, 11, 15
Chord Controller-SV32RC1<——Keypad-X17In S2, 6, 10, 14
Chord Controller-SV33RC0<——Keypad-X18In S1, 5, 9, 13
Chord Controller-SV34RE2<——Keypad-X15In S4, 8, 12, 16
Chord Controller-SV83RB4——>Keypad-X11Out S13-S16
Chord Controller-SV84RB5——>Keypad-X12Out S9-S12
Chord Controller-SV85RB6——>Keypad-X13Out S5-S8
Chord Controller-SV86RB7——>Keypad-X14Out S1-S4
Chord Controller-X31/MCLR<——Keypad-X21RESET
Chord Controller-SV61RC3——>Keypad-X22LED1
Chord Controller-SV62RC4——>Keypad-X23LED2
Chord Controller-SV63RC5——>Keypad-X24LED3
Chord Controller-SV64GND——>Keypad-X25GND
Chord Controller-SV65+5v——>Keypad-X26+5v
Chord Controller-SV91TX/RC6 (via 220R)——>DIN SOCKET5MIDI-OUT
Chord Controller-SV92GND——>DIN SOCKETSCRScreen
Chord Controller-SV93+5v (via 220R)——>DIN SOCKET4MIDI-OUT
Chord Controller-SV101+5v——>Volume PotLH TagTop
Chord Controller-SV102AN5<——Volume PotMiddle TagSlider
Chord Controller-SV103GND——>Volume PotRH TagGND
Chord Controller-SV111+5v——>Pitch-wheel PotLH TagTop
Chord Controller-SV112AN6<——Pitch-wheel PotMiddle TagSlider
Chord Controller-SV113GND——>Pitch-wheel PotRH TagGND
Chord Controller-SV71GND——>FTDI-USB RS232-TTL1GND
Chord Controller-SV74RX/RC7<——FTDI-USB RS232-TTL4(PC) TX
Chord Controller-SV75TX/RC6——>FTDI-USB RS232-TTL5(PC) RX

Other connectors are documented on the schematic.
Note that I used a 10K Lin pot for the pitch wheel and 10K log for the volume pot. Although these values are a little on the high side for efficient analog conversion, in practise they work fine.

Chord Button Keyboard Shift Bar

I had originally intended to build the key matrix on a printed circuit board, and this would still be the preferred solution. Two thing deterred me. First, placement of the 6X6mm TACT switches on the PCB using the default outlines supplied in Eagle would have meant a longer keyboard than I wanted, and secondly, My Eagle license only allows Eurocard size boards – meaning there would be 3 boards to join together for the matrix. These two factors represented enough reason to look for another solution. I finally plumped for a single longish piece of matrix board. This allowed the key matrix to have the desired spacing – I fore-shortened the distance between each tag on the switches to 0.2 inches by straightening these close to the body of the switch, which then allowed a switch-to-switch pitch of 0.6 inches.
In solving one problem however, I created another. Mounting the finished board proved fiddly and difficult, and a solution using nylon nuts and bolts had to be adopted – you have been warned!
I terminated the matrix with 2 IDC headers – one 10-way and the other 20-way. Because my finished matrix was hand-wired, I haven’t given connection details for this, and you should refer to the matrix decoder schematic for connection details.
I’ve included a suggested matrix schematic in with the main Eagle project files, should you wish to augment this. A snapshot of this is given below:

Chord Shift Switch
I made provision for plugging in a foot-switch, but as the floor in front of me is rather busy when I’m playing, also provided a handy switch bar on the unit. It is crude but effective, and I’ll briefly describe it here.
A piece of 4mm (0.196 inch) diameter bright drawn mild steel was bent at 90deg each end so to form a bar 305mm (12 inch) long, with two short arms projecting roughly 40mm (~1.5inch) and 50mm. (2 inch) A thread was cut on each arm (I used M4), so that when the bar is placed through two locating holes on the front of the keyboard cabinet, and a washer and nut are threaded onto each arm, the shift bar is approximately 20mm from the keyboard cabinet front. (0.75inch)
Two small metal plates (I used Meccano) are fixed over the two holes on the cabinet front, and 2 collets (4mm) are fixed on each of the shift bar’s arms, which are then pushed into place in the cabinet.

 

For more detail: MIDI Chord Button Keyboard Using PIC18F4620 part 3


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.