from machine import Pin,PWM
import utime, time
???????????????????
???????????????????
green.value(0)
red.value(0)
motor = PWM(Pin(27))
motor.freq(50)
keys = [[1, 2, 3, 'A'],
[4, 5, 6, 'B'],
[7, 8, 9, 'C'],
['*', 0, '#', 'D']]
rows = [26, 22,21,20]
columns = [19,18,17,16]
col_pins = []
row_pins = []
for x in range(0,4):
row_pins.append(Pin(rows[x], Pin.OUT))
col_pins.append(Pin(columns[x], Pin.IN, Pin.PULL_DOWN))
?????????????????????????????????????????????????????
password=''
close_pos = 500000
open_pos = 1450000
motor.duty_ns(close_pos)
status = 'idle'
door='closed'
motor.duty_ns(close_pos)
while True:
for row in range(4):
row_pins[row].value(1)
for col in range(4):
key = ???????????????????????
if key:
pressed_key = keys[row][col]
if ?????????????????????????????????????????:
print('\npasswrod 입력 해 주세요!')
status = 'ready'
password = ''
elif ??????????????????????????????????????:
motor.duty_ns(close_pos)
print('\n금고문이 닫혔습니다')
green.value(0)
door = 'closed'
elif status == 'ready':
pas???????????????????????????????????
print('*', end='')
while col_pins[col].value(): # 계속 눌려져 있을 때 오류 방지
pass
if ??????????????????????????????:
if ?????????????????:
time.sleep(1)
print('\n금고문이 열립니다')
green.value(1)
door = 'open'
???????????????????
else:
print('\n비밀번호가 틀립니다.')
for i in range(5):
red.value(1)
time.sleep(0.5)
red.value(0)
time.sleep(0.5)
status='idle'
password = ''
utime.sleep(0.01)
row_pins[row].value(0)
time.sleep(0.1)