Saturday, August 31, 2013

Arduino Keyboard Shield - Part 1

This is the beginning of a multi part series on interfacing a PC keyboard to an Arduino. PS/2 keyboards are ideal, but many USB keyboards provide a PS/2 compatible scan code, so we will address support for those as well.

This first section will address the hardware needed. Subsequent posts will address the software and communications, and eventually a couple of end use projects, including a Ham Radio Teletype.

The approach we are taking is somewhat unique. The sketch needed to decode the keyboard scan codes and convert them into readable characters is somewhat memory intensive, and would not leave a lot of room for a project sketch.  Our solution is embedding a barebones Arduino on the shield, just to do that conversion, and present the host Arduino with character strings over serial.

Parts List:

PS/2 Keyboard
PS/2 Jack
PS/2 Breakout
Headers (to mount breakout to protoshield)
Proto Shield
Barebones Arduino Kit

You will program this shield from your Arduino, so no extra programming cable or headers will be needed at this time, nor will a power supply be needed, as it gets it's power from the host Arduino. Stay tuned for the next part in the series.