Sterowanie Servo Tower PRO SG90 z GPIO na Raspberry Pi(PWM)

Sterowanie Servo Tower PRO SG90 z GPIO na Raspberry Pi(PWM)


Akcesoria:

W celu podłączenia diody potrzebne jest:
Servo Tower PRO SG90
Jumper Kabel
Płytka prototypowa


Należy podłączyc tak jak na rysunku

Należy pamiętać te servo obraca się tylko o 180 stopni.
Także zwykłe zasilanie z portu usb nie wystarczy serwomechanizmy pobierają wiecej prądu.
Pinout serwomechanizmu:

Oprogramowanie

Zanim zaczniemy, należy zainstalować potrzebne biblioteki:
sudo apt-get install -y python-pip
sudo pip install wiringpi
lub bez używania pip:
sudo apt-get install -y wiringpi



Przykład programu sterowania w pythonie:

# Servo Control
import time
import wiringpi
 
# use 'GPIO naming'
wiringpi.wiringPiSetupGpio()
 
# set #18 to be a PWM output
wiringpi.pinMode(18, wiringpi.GPIO.PWM_OUTPUT)
 
# set the PWM mode to milliseconds stype
wiringpi.pwmSetMode(wiringpi.GPIO.PWM_MODE_MS)
 
# divide down clock
wiringpi.pwmSetClock(192)
wiringpi.pwmSetRange(2000)
 
delay_period = 0.01
 
while True:
        for pulse in range(50, 250, 1):
                wiringpi.pwmWrite(18, pulse)
                time.sleep(delay_period)
        for pulse in range(250, 50, -1):
                wiringpi.pwmWrite(18, pulse)
                time.sleep(delay_period)
Utwórz plik za pomocą konsoli:
$ nano servo.py
Wklej kod za pomocą edytora następnie wcisnij CTRL-X and Y aby zapisać plik. Następnie można uruchomic go za pomocą komendy:
$ sudo python servo.py


Źródło: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-8-using-a-servo-motor/