要使用樹莓派3來控制SG90伺服馬達,你可以使用Python編寫程式,並透過GPIO控制馬達。下面是一個基本的Python範例程式,可以幫助你測試SG90伺服馬達。
安裝Raspberry Pi GPIO Python模組
bash
複製程式碼
sudo apt-get update
sudo apt-get install python3-rpi.gpio
安裝pigpio(這個是用來產生PWM信號的更精準方法)
bash
複製程式碼
sudo apt-get install pigpio python3-pigpio
啟動pigpiod守護進程
bash
複製程式碼
sudo pigpiod
SG90伺服馬達有三條線:紅色(電源),棕色(接地),黃色(信號)。
接線如下:
紅色線接到樹莓派的5V引腳(如第2或第4針腳)。
棕色線接到樹莓派的GND引腳(如第6針腳)。
黃色線接到樹莓派的GPIO引腳(例如GPIO 27,針腳??)
如果你希望減少對pigpio的依賴,你也可以使用RPi.GPIO來控制SG90伺服馬達。以下是一個不使用pigpio的簡單範例:
python
複製程式碼
import RPi.GPIO as GPIO
import time
SERVO_PIN = 27 # 設定伺服馬達控制引腳為GPIO 27
# 設定GPIO模式
GPIO.setmode(GPIO.BCM)
GPIO.setup(SERVO_PIN, GPIO.OUT)
# 設定PWM頻率為50Hz
pwm = GPIO.PWM(SERVO_PIN, 50)
pwm.start(0)
def set_angle(angle):
duty = (angle / 18) + 2 # 計算duty cycle
GPIO.output(SERVO_PIN, True)
pwm.ChangeDutyCycle(duty)
time.sleep(1)
GPIO.output(SERVO_PIN, False)
pwm.ChangeDutyCycle(0)
try:
# 轉到0度
set_angle(0)
time.sleep(2)
# 轉到90度
set_angle(90)
time.sleep(2)
# 轉到180度
set_angle(180)
time.sleep(2)
finally:
pwm.stop()
GPIO.cleanup()
這個範例直接使用RPi.GPIO來產生PWM信號,不需要pigpio守護進程。你可以按照相同的方式連接SG90伺服馬達並測試。