# Importer les librairies qui vont bien
from machine import Pin, PWM
import time
# Configuration des touches du clavier
keys = [
['1', '2', '3', 'A'],
['4', '5', '6', 'B'],
['7', '8', '9', 'C'],
['*', '0', '#', 'D']
]
# Numéro des broches utilisées pour les rangées et les colonnes
row_pins = [18, 5, 17, 16]
col_pins = [4, 0, 2, 15]
# Les broches de rangéees sont utilisées en sortie
for row_pin in row_pins:
Pin(row_pin, Pin.OUT)
# Les broches de colonnes sont utilisées en entrée
for col_pin in col_pins:
Pin(col_pin, Pin.IN, Pin.PULL_UP)
# Fonction pour lire si une touche est appuyée
def get_key():
for i, row_pin in enumerate(row_pins):
Pin(row_pin, Pin.OUT).value(0)
for j, col_pin in enumerate(col_pins):
if not Pin(col_pin, Pin.IN).value():
time.sleep(0.001)
if not Pin(col_pin, Pin.IN).value():
Pin(row_pin, Pin.OUT).value(1)
return keys[i][j]
Pin(row_pin, Pin.OUT).value(1)
return None
# La boucle principale
while True:
key = get_key()
if key:
print("Vous avez appuyé: ", key)
time.sleep(0.01)