import time
import utime
import machine
from machine import Pin
time.sleep(0.1)
rows = [ Pin(i, Pin.OUT) for i in range(0, 4) ]
cols = [ Pin(i, Pin.IN, Pin.PULL_DOWN) for i in range(18, 22) ]
leds = [ Pin(i, Pin.OUT) for i in range(4, 12)]
keys = [
[ 1, 2, 3, 13 ],
[ 4, 5, 6, 14 ],
[ 7, 8, 9, 15 ],
[ 10, 11, 12, 16 ]
]
def get_key():
for row in range(4):
for col in range(4):
rows[row].high()
key = None
if cols[col].value() == 1:
rows[row].low()
time.sleep(0.1)
return keys[row][col]
rows[row].low()
return 16
while True:
c = get_key()
print(c)
if c >= 1 and c <= 8:
leds[c - 1].value(1)
elif c == 15:
for led in leds:
led.off()
time.sleep(0.1)