logo
Published on

Raspberry Piに「SG92R」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

Raspberry Piは、小型で手頃な価格のシングルボードコンピュータであり、様々なプロジェクトに利用されています。この記事では、小型サーボモーター「SG92R」をRaspberry Piに接続し、制御する方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

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の制御を拡張するには、他のセンサーやモジュールと組み合わせて様々なプロジェクトを作成することができます。