Pyboard: Utiliser un keypad 16x16 touches
Bonjour à tous,
Nous venons d'ajouter un petit extra à notre github de pilotes pour MicroPython avec la classe Keypad et Keypad4x4.
Bibliothèque Keypad
La bibliothèque keypad.py disponible ici.
Celle-ci contient deux classes:
La bibliothèque keypad apporte également quelques fonctionnalités intéressantes:
Exemple
Le pilote contient différents exemples. Le plus intéressant reste test_readkey.py repris ci-dessous qui attend la saisie d'une touche sur le clavier et qui en affiche la valeur.
Ce qui produit le résultat suivant:
Les None sont retournés suite au Timeout de saisie.
Ressources
Où acheter
Nous venons d'ajouter un petit extra à notre github de pilotes pour MicroPython avec la classe Keypad et Keypad4x4.
Brancher un keypad sur une carte Pyboard Source: GitHub esp8266-upy |
La bibliothèque keypad.py disponible ici.
Celle-ci contient deux classes:
- Keypad : une classe générique qui scan une matrice clavier the N ligne et M colonnes. Celle-ci ne retourne que des n° de touche.
- Keypad4x4 : une classe supportant le clavier 16x16 tels que celui-présenté ci-dessus. C'est cette classe qui expose la méthode read_key() et qui retourne le libellé de la touche pressé (et non le n° de touche).
La bibliothèque keypad apporte également quelques fonctionnalités intéressantes:
- Support Timeout:
La méthode read_key() accepte un paramètre optionnel qui est un timeout de saisie (s'il est omis, la méthode attend indéfiniment). En cas de timeout, la méthode retourne None si aucune touche n'est pas pressée dans le délai imparti. - Support anti-rebond:
La classe de base Keypad accepte également un paramètre optionnel debounce_ms (à 300ms par défaut). Cela empêche de saisir un doublon d'une même touche durant ce délai de 300 ms, cela améliore nettement le confort d'utilisation.
Exemple
Le pilote contient différents exemples. Le plus intéressant reste test_readkey.py repris ci-dessous qui attend la saisie d'une touche sur le clavier et qui en affiche la valeur.
from keypad import Keypad4x4 from time import sleep k = Keypad4x4() while True: # remove timeout parameter for infinite timeout key = k.read_key( timeout=2 ) print( key )
Ce qui produit le résultat suivant:
Les None sont retournés suite au Timeout de saisie.
None None None 1 2 3 6 5 D # None None
Ressources
Où acheter
- Clavier 16 touches souple (Keypad) @ MCHobby
Écrire un commentaire