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
これを参考にいろんなものを作れそうですね!
コメント