24 lines
No EOL
654 B
Python
24 lines
No EOL
654 B
Python
from src.variables.service import get_variable, set_variable
|
|
from gpiozero import Button
|
|
import datetime
|
|
|
|
pulses_per_rotation = 1
|
|
reader = Button(4, pull_up=False, bounce_time=0.0005)
|
|
set_variable("speed_reader_last_impulse_time", datetime.datetime.now(), False)
|
|
|
|
|
|
def event():
|
|
actual = datetime.datetime.now()
|
|
last = get_variable("speed_reader_last_impulse_time")
|
|
difference = (actual - last).total_seconds()
|
|
set_variable("speed_reader_last_impulse_time", actual, False)
|
|
|
|
rpm = (60 / difference) / pulses_per_rotation
|
|
|
|
set_variable("actual_rpm", round(rpm, 1), False)
|
|
|
|
|
|
|
|
|
|
reader.when_pressed = event
|
|
reader.when_activated |