В этой статье я расскажу как подключить сервопривод sg90 к Raspberry Pi.
Подключаем сервопривод к GPIO
У сервопривода SG90 есть провод, который содержит оранжевый, красный и коричневый цвет.
У меня используются проводки другого цвета, не судите строго, других не было.
Коричневый провод мы подключаем в 6 пин (ground), красный в 4 или 2 пин (5V), а оранжевый отвечает как раз таки за поворот сервопривода. Его мы подключаем в пин GPIO 17 или 27 (это не номер пинов, а их название)
После подключения проверяем работоспособность сервопривода.
Будем проверять с помощью Python и библиотеки gpiozero. Можно было бы использовать и Rpi.GPIO, но с gpiozero это сделать в разы легче. Обычно gpiozero сразу установлен в системе.
Вот простенькая программа которая просто будет шевелить сервоприводом:
from gpiozero import Servo
from time import sleep
servo = Servo(17)
servo.min()
sleep(1)
servo.max()
sleep(1)
Эта программа просто подвигает сервоприводом. Если у вас не двигается сервопривод, то замените число в servo = Servo(17) на ваш пин.
Если же вы хотите повернуть сервопривод на определенный угол, то используем servo.value(180)
Пример:
from gpiozero import Servo
from time import sleep
servo = Servo(17)
angle = int(input("угол: "))
servo.value = angle / 180
sleep(1)
Этот код будет поворачивать наш сервопривод от -180 до 180 градусов. Да, сервопривод может поворачиваться лишь на 180 градусов, но если повернуть его с 0 до 180, то он повернётся лишь на 90 градусов, по этому для достижения всех 180 градусов нам нужно поворачивать сервопривод с -180 до 180.
Но как вы могли заметить, сервопривод поворачивается явно не на 180 градусов.
Чтобы это исправить, мы должны указать минимальную и максимальную длину сигнала на сервопривод
Делается это так:
Заменяем servo = Servo(17)
На servo = Servo(17, min_pulse_width = 0.5 / 1000, max_pulse_width = 2.5 / 1000)
Теперь сервопривод проворачивается полностью, от 0 до 180 и от 0 до -180.
Если хочется поиграться с сервоприводом, то можно добавить команду в бесконечный цикл и поворачивать сервопривод на указанный угол сколько захочется.
Спасибо за то что прочитали эту статью!