def processKey(key): state = 0 #State of system code = "" if (len(passcode) == 0): print("Please enter passcode: ") if (len(passcode) < 4 and key != "#"): passcode.append(key) #Appends key to passcode array print(passcode) code = code.join(passcode) #Turns array into string lcd.display_msg(code) #Displays string to LCD if (key == "*"): #If * is pressed it deletes array del passcode[:] lock.append(key) #Appends * to lock array else: del lock[:] if (len(lock) == 3): #If lock length is 3 then put servo down servo1.servo_lock() if (key == "#"): #"#" is the enter button if (Check_Passcode(passcode) == 1 ): #If passcode is true, it sets system state to 2 state = 2 print("Correcct Passcode!!!") lcd.check_pwd_msg(True) #Displays passcode is correct message else: state = 1 #Sets system to 1 if passcode incrorrect print("Incorrect Passcode...") lcd.check_pwd_msg(False) #Displays that passcode is false else: state = 0 if (state == 0): pass if (state == 1): del passcode[:] #Deletes passcode array if system state is 1 if (state == 2): lcd.fingerprint_msg() #Calls fingerprint message finger_print_scan = fingerprint.fingerprint_scan( ) #Returns value based on fingerprint scan if (finger_print_scan == True): #If the scan is true servo1.servo_unlock() #Move servo up, display Access Message, #and delete passcode array print("Access Granted!!") lcd.Access_Msg(True) del passcode[:] else: #If scan is false print("Invalid Fingerprint...") lcd.Access_Msg(False) #Display message and delete passcode array del passcode[:]