# Библиотека для работы с сервоприводами from gpiozero import AngularServo from time import sleep # Создаём объект для работы с сервоприводом # - pin: номер пина, к которому подключён сервопривод # WPIx, нумерация WiringPi, где x — номер пина # GPIOx, нумерация GPIO/BCM, где x — номер пина # - min_angle: минимальный угол поворота сервопривода # Опциональный и по умолчанию стоит: -90° # - min_angle: максимальный угол поворота сервопривода # Опциональный и по умолчанию стоит: 90° # - min_pulse_width: ширина импульса, соответствующая минимальному углу поворота сервопривода # Опциональный и по умолчанию стоит: 0.001 c = 1000 мкс # - max_pulse_width: ширина импульса, соответствующая максимальному углу поворота сервопривода # Опциональный и по умолчанию стоит: 0.002 c = 2000 мкс # Подробности нумерации: https://gpiozero.readthedocs.io/en/stable/recipes.html#pin-numbering # Каждая модель сервопривода имеет свои характеристики servo = AngularServo( "WPI6", min_angle=0, max_angle=180, min_pulse_width=0.000544, max_pulse_width=0.0024 ) # Шаг сервопривода step = 1 while True: for val in range(servo.min_angle, servo.max_angle, step): servo.angle = val sleep(0.02) for val in range(servo.max_angle, servo.min_angle, -step): servo.angle = val sleep(0.02)