This instructable explains how to interface with a 4x4 keypad over an I2C bus.
I started this project because I wanted some plug and play input and output modules for easy and fast prototyping of my electronics projects (mostly with PIC microcontrollers). Of course you can use leds and dip switches but they require lots of pins on your microcontroller and you only have binary I/O.
To solve this problem I decided to use I2C.
I2C is a 2 wire bidirectional bus to which addressable devices can be connected.
I had some I2C remote I/O expander chips laying around that I could use for this purpose.
You give them an address and then you can read or write to their 8 I/O pins.
I also recovered a 4x4 keypad from a broken telephone to be used as input device.
And I connected a 7 segment display to the I2C bus as an output device.
In a next iteration of the project I'll move the components to PCB.
Step 1: components
-1x PCF8574 I2C chip (remote 8-bit I/O expander for I2C-bus)
-1x 4x4 Keypad
-2x 2,2 kOhm pull-up resistors
-1x PIC18F4550 (or other programmable I2C master device)
Optional components (depends on output):
-1x PCF8574 I2C chip
-1x 7 segment display
-7x 330 Ohm resistor
-1x serial to usb dongle