- Published on
Raspberry Piに「SG92R」を接続し制御する
1244文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piは、小型で手頃な価格のシングルボードコンピュータであり、様々なプロジェクトに利用されています。この記事では、小型サーボモーター「SG92R」をRaspberry Piに接続し、制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. SG92Rサーボモーターの概要
SG92Rは、小型で信頼性の高いサーボモーターであり、Raspberry Piなどのシングルボードコンピュータと組み合わせて使われます。SG92Rは通常、最大180度の回転範囲を持ち、PWM信号を受け取ることで角度を制御します。
2. SG92Rの接続
SG92Rには、通常、三つの線があります。
- VCC(赤色): 5Vの電源
- GND(茶色): 接地
- 信号線(橙色または黄色): PWM信号
これらをRaspberry Piに接続します。例えば、VCCを5Vに、GNDをGNDに、信号線をRaspberry PiのGPIOピンに接続します。
3. Pythonコードの作成
Raspberry Piでは、Pythonを使用してSG92Rを制御することが一般的です。以下は、RPi.GPIOライブラリを使用してSG92Rを制御する基本的な例です。
import RPi.GPIO as GPIO
import time
# GPIOピンの設定
servo_pin = 18 # GPIO18に接続された場合
# SG92Rの初期化
GPIO.setmode(GPIO.BCM)
GPIO.setup(servo_pin, GPIO.OUT)
# PWMの初期化
pwm = GPIO.PWM(servo_pin, 50) # PWM周波数は50Hz
# PWMの開始
pwm.start(0)
try:
while True:
# 0度の角度に移動
pwm.ChangeDutyCycle(2.5)
time.sleep(1)
# 90度の角度に移動
pwm.ChangeDutyCycle(7.5)
time.sleep(1)
# 180度の角度に移動
pwm.ChangeDutyCycle(12.5)
time.sleep(1)
except KeyboardInterrupt:
# Ctrl+Cが押されたらプログラムを終了
pwm.stop()
GPIO.cleanup()
このコードは、SG92Rを0度、90度、180度に順番に移動させる簡単な例です。適宜、動作させたい角度や待ち時間を変更することができます。
4. コードの実行と動作確認
最後に、Pythonコードを実行し、SG92Rが正しく動作しているか確認します。コードが正常に実行されれば、SG92Rが指定した角度に移動するはずです。
これで、Raspberry PiにSG92Rを接続し、Pythonを使用して制御するための基本的な手順が完了しました。SG92Rの制御を拡張するには、他のセンサーやモジュールと組み合わせて様々なプロジェクトを作成することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚