ラズパイでpython3からサーボモーター(sg90)を動かす

ラズパイ

sg90を使用し、pythonによりサーボモーターを動作させます。

前提

ラズパイ:Raspberry pi 4B
OS:Raspbian GNU/Linux 10 (buster)
使用言語:python3

事前準備

アップデート

# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get dist-upgrade

sg90

sg90準備

amazonから購入しました。

※サーボモーターはいろんな種類があり、180度回転するもの、360度回転するものなど調べるとたくさん出てきます。今回は180度のものを使います。

sg90結線

sg90ラズパイ
VCC(赤)5V(Pin2)
GND(茶色)GND(Pin6)
Data(オレンジ)GPIO14(Pin8)

ラズパイ

スクリプト作成

参照サイトを参考に以下のスクリプトを作成します。

今回はsg90_sample.pyとします。

import RPi.GPIO as GPIO
import time

INTERVAL = 0.6
PIN = 14
FREQ = 50

GPIO.setmode(GPIO.BCM)

GPIO.setup(PIN, GPIO.OUT)
servo = GPIO.PWM(PIN, FREQ)

#init
servo.start(0.0)

for i in range(2):
  servo.ChangeDutyCycle(2.5)
  time.sleep(INTERVAL)

  servo.ChangeDutyCycle(12.0)
  time.sleep(INTERVAL)

GPIO.cleanup()

<参考サイト>
https://qiita.com/elyoshio92/items/b2e7a7728875ebebe542
ありがとうございます!

サーボモーターはPWM制御を行うのですが、その辺の通信方式は別途まとめます。
今回はその制御をGPIO14を使用して行います。

スクリプト実行

以下のコマンドで実行します。
※sudoは必須です。

# sudo python sg90_sample.py

これを参考にいろんなものを作れそうですね!

コメント

タイトルとURLをコピーしました