from machine import Pin, Timer
import utime
from utime import sleep
######
########
klawisze = ['123', '456', '789', '*0#']
wiersze = [2,3,4,5]
kolumny = [6,7,8]
wcisnieto='x'
piny_wierszy = [ Pin(numer, mode=Pin.IN, pull=Pin.PULL_DOWN) for numer in wiersze ]
piny_kolumn = [ Pin(numer, mode=Pin.OUT) for numer in kolumny ]
for kolumna in range(len(kolumny)):
piny_kolumn[kolumna].value(0)
def czytaj(t):
global wcisnieto
for kolumna in range(len(kolumny)):
piny_kolumn[kolumna].value(1)
for wiersz in range(len(wiersze)):
if piny_wierszy[wiersz].value() ==1:
wcisnieto=klawisze[wiersz][kolumna]
print('*', end='')
sleep(.2)
piny_kolumn[kolumna].value(0)
def podaj_pin():
global wcisnieto
PIN=''
print('Podaj PIN, "*" kończy, "#" kasuje ostatnią cyfrę:')
while wcisnieto != '*':
if wcisnieto.isdigit():
PIN += wcisnieto
wcisnieto ='x'
elif wcisnieto =='#':
PIN=PIN[:-1]
wcisnieto ='x'
wcisnieto = 'x'
return PIN
timer=Timer(-1)
timer.init(period=100, mode=Timer.PERIODIC, callback=czytaj)
led = Pin(15, Pin.OUT, Pin.PULL_UP)
sleep(1)
PIN=podaj_pin()
print('Sprawdzanie:')
wpisany=podaj_pin()
while wpisany != PIN:
print('niepoprawny pin!!!!')
wpisany=podaj_pin()
print('hura!!!')
led.value(1)
utime.sleep(2)
led.value(0)