Python Library for Matrix Keypads. Written and tested on a Model B Raspberry Pi. Supports both a 3x4 and 4x4 keypad included
| Project Page: | Project_Page |
|---|---|
| PyPI page: | PyPI_Page |
| v0.1.0: | May 2013 Initial Scripts |
|---|---|
| v1.0.0: | August 19th, 2013 Initial package build |
| Author: | Chris Crumpacker |
|---|---|
| Email: | [email protected] |
| Web: | http://www.chriscrumpacker.com |
| Blog: | http://crumpspot.blogspot.com |
If the I2C Port expander MCP23017 or MCP23008 is being used, the Adafruit Python library for I2C and the MCP will need to be installed.
- You can clone the whole library like so,
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
or the two files needed can be pulled out, Adafruit_I2C.py & Adafruit_MCP230xx.py.
README.txt
LICENSE.txt
setup.py
matrix_keypad/
__init__.py
matrix_keypad_RPi_GPIO.py
matrix_keypad_MCP230xx.py
matrix_keypad_demo.py
matrix_keypad_demo2.py
See the demo scripts included to see this all in action.
To call the library select which one you intend to use and use the correct line:
from matrixKeypad_MCP230xx import keypad
or:
from matrixKeypad_RPi_GPIO import keypad
Then name the library so it is easier to reference later:
kp = keypad()
It is possible to just check to see if a digit is currently pressed.:
checkKeypad = kp.getKey()
Or a simple function to call the keypad library and loop through it waiting for a digit press
def digit():
# Loop while waiting for a keypress
digitPressed = None
while digitPressed == None:
digitPressed = kp.getKey()
return digitPressed
Column and Row scanning adapted from Bandono's matrixQPI which is wiringPi based.