Я делаю r c машину с Rasberry Pi 4 и python, но для левой и правой я хочу увеличить угол серводвигателя со временем, поэтому в основном я хочу сделать это как псевдо:
normalangle = 90
if left button pressed:
if timepassed < 25:
car.turnleft(normalangle + timepassed)
и это мой код
import carcontrol
from SensorClass import distanceSensor
import RPi.GPIO as GPIO
import time
from pynput.keyboard import Key,Listener
sensor1 = distanceSensor(6,5)
carcontrol.setpstart(30)
carcontrol.servo(90)
def on_press(key):
distance = sensor1.startCalculate()
if key == Key.up:
if(distance > 20):
carcontrol.forward()
elif (distance < 30 and distance > 20):
print("something is coming")
else :
carcontrol.stop()
print("you cannot move forward")
if key == Key.left:
carcontrol.servo(160)
if key == Key.down:
carcontrol.reverse()
if key == Key.right:
carcontrol.servo(20)
def on_release(key):
if key == Key.up:
carcontrol.stop()
if key == Key.left:
carcontrol.servo(90)
if key == Key.down:
carcontrol.stop()
if key == Key.right:
carcontrol.servo(90)
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
Также я хочу проверить каждый второй датчик расстояния. я добавил как код в разделе on_press. но это просто работает, когда я впервые нажал. если я держу его, это не проверка. так как я могу проверять каждую секунду?