import machine
import time
row_pins = [
machine.Pin(0, machine.Pin.IN),
machine.Pin(1, machine.Pin.IN),
machine.Pin(2, machine.Pin.IN),
machine.Pin(3, machine.Pin.IN)
]
col_pins = [
machine.Pin(4, machine.Pin.IN, machine.Pin.PULL_DOWN),
machine.Pin(5, machine.Pin.IN, machine.Pin.PULL_DOWN),
machine.Pin(6, machine.Pin.IN, machine.Pin.PULL_DOWN)
]
key_map = [
['1', '2', '3'],
['4', '5', '6'],
['7', '8', '9'],
['*', '0', '#']
]
while True:
for i in range(len(row_pins)):
row_pins[i].init(machine.Pin.OUT)
row_pins[i].value(1)
for j in range(len(col_pins)):
if col_pins[j].value():
time.sleep_ms(20)
if col_pins[j].value():
print(key_map[i][j])
while col_pins[j].value():
time.sleep_ms(10)
row_pins[i].init(machine.Pin.IN)
time.sleep_ms(50)