- Raspberry pi pico
- Teclado matricial 4x4
- Protoboard
- Jumpers
Un teclado matricial 4×4 es un dispositivo que agrupa varios pulsadores y permite controlarlos empleando un número de conductores inferior al que necesitaríamos al usarlos de forma individual. Este teclado matricial 4×4 se encuentra formado por la matriz de pulsadores que se encuentran dispuestos en filas (L1, L2, L3 y L4), y las columnas (C1, C2, C3 y C4)
En la figura observamos la conexión de la raspberry pi pico con el teclado matricial. Los digitos están conectados de la siguiente manera: 1 -> GPIO 2
, 2 -> GPIO 3
, 3 -> GPIO 4
, 4 -> GPIO 5
, 5 -> GPIO 6
, 6 -> GPIO 7
, 7 -> GPIO 8
, 8 -> GPIO 9
.
"""
Nombre de la práctica: Control teclado matricial 4x4 con raspberry pi pico
Autor: Ing. Víctor González Jacobo
"""
from machine import Pin
import utime
matrix_keys = [['1', '2', '3', 'A'],
['4', '5', '6', 'B'],
['7', '8', '9', 'C'],
['*', '0', '#', 'D']]
keypad_rows = [2,3,4,5]
keypad_columns = [6,7,8,9]
col_pins = []
row_pins = []
def asignacion():
for dato in range(len(keypad_rows)):
row_pins.append(Pin(keypad_rows[dato], Pin.OUT))
col_pins.append(Pin(keypad_columns[dato], Pin.IN, Pin.PULL_DOWN))
def main():
asignacion()
while True:
for row in range(len(row_pins)):
for col in range(len(col_pins)):
row_pins[row].on()
if col_pins[col].value() == 1:
print("Presionaste", matrix_keys[row][col])
utime.sleep(0.5)
row_pins[row].off()
if __name__ == '__main__':
print("Ingrese el valor del teclado")
main()