Thursday, January 21, 2010

Hacking the Helicopter Keypad...

I bought this Hughes Helicopter keypad off eBay in 2007 for my son's "control panel" - at the time it looked cool, but I had no intent of trying to use it as an active device. I thought I might use the rotary switch, but not the keypad.

Now that I have an Arduino and I'm learning more & more, I decided to see if I could get the keypad usable...

I finally got brave and disassembled the keypad...I got lucky. While it had a 20 pin connector, 2 were unused, 8 were for the rotary switch, 2 for power + ground for the lamps and that left 8 pins for the key matrix - 3 columns and 5 rows.

I traced the circuit and documented all the pins. My son helped me test my pin assignments by continuity testing :)

Last night, I decided I wanted to try to get the keypad working with the Arduino and the keypad library.

I could have put a fancy jack on all that wiring, but why not use solder :)

I used this little board to hold all 20 connections and soldered a piece of cat 5 to the matrix rows & columns.

The keypad library was easy to test, but I got a 0 in between each valid button press. I fought it for an hour before removing the keypad connector - sure enough, there was continuity on the row & column for zero - without the button being pushed. After removing the 20! screws, I determined that the pressure from the back screws was activating the zero button. Put back all 20 screws, and no more false zeros. Unfortunately, no more number one either. Remove all 20 screws again - opps, I guess the #1 button had fallen out the last time and I'd put it in sideways. Reinstall all 20 screws - works GREAT!

I need to put resistors on the rotary switch outputs so I can read them all with a single analog input. I have plenty of analog inputs left, so it seemed better than a shift, although if I chained 2 shifts, I could also pickup the 5 row pins...tempting :)

More later as I reinstall the keypad AND get it to work with the rest of the code on the Mega.

No comments: