Awesome
rgbkeypad
A Python class for controlling the Pimoroni RGB Keypad for the Raspberry Pi Pico.
Compatible with MicroPython and CircuitPython.
keypad = RGBKeypad()
# make all the keys red
keypad.color = (255, 0, 0)
# turn a key blue when pressed
while True:
for key in keypad.keys:
if key.is_pressed():
key.color = (0, 0, 255)
Status
Beta - version 0.2
Install
There are a few options for installing pico rgbkeypad
:
-
Copy the rbgkeypad.py code into the top of your program.
-
Copy the rgbkeypad folder to the lib folder on your pico (useful if you are using CircuitPython).
-
Install the pico-rgbkeypad package from PyPi using
upip
or the Manage Packages tool in Thonny.
Usage
Here you will find some typical use cases and examples for using rgbkeypad
. See the API documentation for more information.
Import the RGBKeypad
class from the rgbkeypad
module.
Note - you do not need to import the module if you copied the
rgbkeypad.py
code directly into your program.
from rgbkeypad import RGBKeypad
Create a keypad object.
keypad = RGBKeypad()
Display
The color of all the keys can be changed by setting the key pad's color
property to a tuple of (red, green, blue) values between 0
and 255
.
# red
keypad.color = (255, 0, 0)
# green
keypad.color = (0, 255, 0)
# blue
keypad.color = (0, 0, 255)
# white
keypad.color = (255, 255, 255)
# yellow
keypad.color = (255, 255, 0)
# purple
keypad.color = (128, 0, 128)
The brightness can be changed by setting the brightness
property to a value between 0
and 1
. Where 1
is full brightness and 0
is off. By default the brightness is set to 0.5
.
keypad.brightness = 1
The keypad can be cleared (turned off) using the clear()
method.
keypad.clear()
Individual keys can be referenced using their x,y position e.g. [0,0]
key1 = keypad[0, 0]
Individual key's color and brightness can be set using the color
and brightness
properties.
# red
key1.color = (255, 0, 0)
# full brightness
key1.brightness = 1
An individual key can also be cleared using the clear()
method.
key1.clear()
Press
The status of the key can be retrieved using the is_pressed()
method of an individual key.
key1 = keypad[0, 0]
pressed = key1.is_pressed()
Use a loop to continuously check the status of a key.
while True:
if key1.is_pressed():
print("key 1 pressed")
To check the status of all the keys, loop through the keypad's keys
property, check each individually.
while True:
for key in keypad.keys:
if key.is_pressed():
print("key", key.x, key.y, "pressed)
Alternatively a list of all the keys pressed status can be obtained using the key pad's get_keys_pressed()
method.
keys_pressed = keypad.get_keys_pressed()
print(keys_pressed)
Deploy
These are instructions for how to deploy the pico-rgbkeypad
to PyPI
- Install pre-requisites
pip3 install setuptools twine
-
Increment version number in
setup.py
,README.md
andCHANGELOG.MD
-
Build for deployment
python setup.py sdist
- Deploy to PyPI
twine upload dist/* --skip-existing