Note: The next couple of pages
contain a lot of technical material—examples
of computer code, diagrams, etc. Click here
if you'd rather skip all that.
What I did
In June of last year, I sketched a simple
design for a 5-key keyboard that could stand up to
the demands of the parrot world and would be simple
The keys consisted of rods that would
extend through the bars of the parrot cage and would
be activated by the bird pressing or pulling on them.
Outside of the cage (away from the prying
beak of the bird) would be electrical switches that
would be activated by the rods and the associated
electronics to convert the switch closures to some
signal that the computer could understand.
I also needed to determine how to best
interact with the birds and how to develop something
that they would want to interact with. The systems
needed to appeal (or at least not repel them) in two
- The physical keyboard had to be something they
were willing to approach and did not frighten
- The software framework and the program material
it provides had to be appealing. It is the payoff,
the reason for the parrot to use the keyboard,
the real attraction
Three Classes of Keyboard
Class 1: Keystrokes to key codes.
I have notes in my lab notebook (copies
are on sale in to lobby) that deal with converting
switch closures to serial signals, de-bouncing switches
and various chips and components to build a keyboard
encoder to convert the closing of the switch to something
that could be understood by a computer program. I
was actually looking at a stack of used keyboards
that I bought for bird toys (we hang them in the cages
by the cord and the birds take great joy in tearing
them apart (ironic, huh?)
It’s too bad, I thought, that I couldn’t
somehow make use of the encoder that already exists
inside of that keyboard to encode my key switches.
Then the light bulb came on.
This electrical prototype got thrown
together later that week to demonstrate that by connecting
keys to the x and y grids of the keyboard matrix,
I could encode simple momentary contact pushbutton
switches to send PC keyboard key codes to a standard
PC keyboard connector.
Class 2: What is a keyboard?
The initial design was for a lever
that would rest on a switch. Pressing the lever
would close the switch. The spring in the switch
would return the lever to its resting position when
released. The lever (or rod) needed a pivot point.
It needed to rest on the switch. The rod needed
to remain over the switch when it was pressed (or
pulled, or walked on)
This mechanical prototype provided
a test for the pivot, various switches (I tested
the 4 momentary contact, normally open pushbutton
switches available through Radio Shack) and the
alignment of the rods over the switches. The rods
are at different heights and the supports are different
lengths because the switches mount at different
heights above the mounting surface and I wanted
the rods to rest parallel to the base of the switch.
Much of what I learned in this
prototype was fabrication details, ordering
of operations and assembly techniques and the
use of my new drill press. This is, by the way,
the only capstone project being presented here
today that involves the use of a drill press.