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: | chris@chriscrumpacker.com |
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.