The keypad module, available in the latest CircuitPython 7.0.0 builds, scans a set of keys or buttons in the background, and gives you key-pressed and key-released events. The keypad module provides three different kinds of scanners:
Keys: Each key is connected to a separate pin.
KeyMatrix: The keys are wired in a row-column matrix, with or without diodes. This is typically how typing keyboards, music keyboards, and telephone-style keypads are wired.
ShiftRegisterKeys: The keys are connected to an external parallel-in serial-out shift register. The keys are read by clocking data from the shift register into a single input pin.
Each time a key is pressed or released, a scanner will record an Event in an EventQueue. Each event gives the key number, and says whether the key has been pressed or released. Your program can read the events sequentially.
The background scanning does debouncing as well, so you don’t have to worry about handling that yourself.
Check out the new Guide: we’ll explain how each of the scanners works, and give you some simple examples.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey