首页 > 解决方案 > 几秒钟后,RPi 伺服停止响应 python 代码

问题描述

我正在尝试使用 SG90 伺服作为遥控车的转向机构,我已成功让它响应 A(左)和 D(右),但在几秒钟内未输入任何指令后,它停止响应并锁定以一定的角度向上。

(问题视频) https://youtu.be/K5UR1pHKGgA

import RPi.GPIO as GPIO
import pigpio
GPIO.setmode(GPIO.BOARD)
from time import sleep
import sys, tty, termios, time
import time
from pynput import keyboard

GPIO.setwarnings(False)
GPIO.setup(07, GPIO.OUT)
pwm=GPIO.PWM(07, 50)
pwm.start(7.5)

def getch():
    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    try:
        tty.setraw(sys.stdin.fileno())
        ch = sys.stdin.read(1)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
    return ch





def steering():
    i = 1
    while i == 1:

        char = getch()
        if(char == "a"):
            pwm.ChangeDutyCycle(12.5)
            print (" Left ")
        if(char == "d"):
            pwm.ChangeDutyCycle(2.5)
            print (" Right ")
        if(char == "x"):
            print(" Program Ended ")
            break

steering()
GPIO.cleanup()

标签: pythonraspberry-pipwmservo

解决方案


推荐阅读