logo
Published on

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

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

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

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

1. SG90サーボモーターの概要

SG90サーボモーターは、小型で低コストながら十分なパワーを持ち、PWM信号を用いて角度を制御することができるモーターです。水平方向に最大180度の回転が可能であり、Raspberry Piとの組み合わせで様々なプロジェクトに利用されています。

2. SG90の接続

SG90の接続は比較的簡単です。通常、三つの線があります。

  • VCC(赤色): 5Vの電源
  • GND(茶色): 接地
  • 信号線(橙色または黄色): PWM信号

これらをRaspberry PiのGPIOピンに接続します。例えば、VCCを3.3Vに、GNDをGNDに、信号線をGPIOピンに接続します。

3. Raspberry Piコードの作成

Raspberry PiでSG90を制御するためには、Pythonプログラムを使用します。以下は、SG90が接続されたGPIOピンが17番だと仮定した例です。

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)

sg90 = GPIO.PWM(17, 50)  # GPIO 17をPWMモードで設定

sg90.start(0)

try:
    while True:
        sg90.ChangeDutyCycle(2)  # 0度の角度に移動
        time.sleep(1)
        sg90.ChangeDutyCycle(7)  # 90度の角度に移動
        time.sleep(1)
        sg90.ChangeDutyCycle(12)  # 180度の角度に移動
        time.sleep(1)

except KeyboardInterrupt:
    sg90.stop()
    GPIO.cleanup()

このコードも、SG90を0度、90度、180度に順番に移動させる簡単な例です。PythonのRPi.GPIOライブラリを使用しているため、事前にライブラリをインストールしておく必要があります。

sudo pip install RPi.GPIO

4. コードの実行と動作確認

コードを保存したら、ターミナルでプログラムを実行してSG90が正しく動作しているか確認します。SG90が指定した角度に移動するはずです。

これで、Raspberry PiにSG90を接続し、Pythonプログラムを使用して簡単な制御を行う基本的な手順が完了しました。SG90の制御を組み込んで、様々な面白いプロジェクトを実現できます。