if cycle > 0: distance += wheel_c cycle -= 1 multiplier = 3600 / elapse speed = (wheel_c * multiplier) / 1000 rpm = 1 / elapse * 60 # speed = 2 * 3.14 * 2.5 * rpm * (60 / 1000) start = time.time() # ------------------------------------lcd-----------------------------------------------------# # RS, RW, E, D0, D1, D2, D3, D4, D5, D6, D7): mylcd.startDisplay() mylcd.ShowText("Distance: ") mylcd.ShowText("Speed: ") # ----------------------------------------------------------------------------------------------------------------------# try: print('Initializing Speedometer! Starting in 3 seconds!') time.sleep(1) print('3 seconds...') time.sleep(1) print('2 seconds...') time.sleep(1) print('1 seconds...') time.sleep(1) GPIO.add_event_detect(hall, GPIO.FALLING,
elapse = time.time() - start pulse -= 1 if cycle > 0: distance += wheel_c cycle -= 1 multiplier = 3600 / elapse speed = (wheel_c * multiplier) / 1000 rpm = 1 / elapse * 60 start = time.time() mylcd.startDisplay() mylcd.ShowText("Distance: ") mylcd.ShowText("Speed: ") GPIO.add_event_detect(hall, GPIO.FALLING, callback=get_pulse, bouncetime=20) def printstuff(): currentTime = datetime.datetime.today() DB_Layer = DbClass() DB_Layer.saveSensorValuesToDatabase(distance, speed, currentTime) print( 'rpm:{0:.2f} speed:{1:.2f} distance:{2} elapse:{3:.4f} multiplier:{4:.4f}' .format(rpm, speed, distance, elapse, multiplier)) # speed = round(speed, 2) mylcd.ShowText(distance) mylcd.ShowText(speed) time.sleep(2)