- Published on
Raspberry Piに「SG-90」を接続し制御する
1321文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piはシングルボードコンピュータで、拡張性が高く様々なプロジェクトに利用されています。この記事では、小型サーボモーター「SG90」をRaspberry Piに接続し、制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. SG90サーボモーターの概要
SG90は、小型で軽量ながら優れた性能を持つサーボモーターです。通常、水平方向に最大180度の回転が可能で、PWM信号を受け取ることで角度を制御します。Raspberry Piと組み合わせて使用することで、様々なプロジェクトで役立ちます。
2. SG90の接続
SG90をRaspberry Piに接続するには、以下のように接続します。
- VCC(赤色): 5Vの電源
- GND(茶色): 接地
- 信号線(橙色または黄色): GPIOピン
これらをRaspberry Piの対応するピンに接続します。VCCを5Vに、GNDをGNDに、信号線をGPIOピンに接続します。
3. Pythonコードの作成
Raspberry PiでSG90を制御するためには、Pythonを使用します。以下は、SG90が接続されたGPIOピンが17番だと仮定した例です。
import RPi.GPIO as GPIO
import time
# GPIOピンの設定
servo_pin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(servo_pin, GPIO.OUT)
# PWMの初期化
pwm = GPIO.PWM(servo_pin, 50) # 50HzのPWM信号
pwm.start(0)
def set_angle(angle):
duty_cycle = (angle / 18) + 2
GPIO.output(servo_pin, True)
pwm.ChangeDutyCycle(duty_cycle)
time.sleep(1)
GPIO.output(servo_pin, False)
pwm.ChangeDutyCycle(0)
try:
while True:
set_angle(0) # 0度の角度に移動
time.sleep(1)
set_angle(90) # 90度の角度に移動
time.sleep(1)
set_angle(180) # 180度の角度に移動
time.sleep(1)
except KeyboardInterrupt:
pwm.stop()
GPIO.cleanup()
このPythonコードは、SG90を0度、90度、180度に順番に移動させる簡単な例です。必要に応じて、動作させたい角度や待ち時間を変更することができます。
4. コードの実行と動作確認
最後に、書いたPythonコードをRaspberry Pi上で実行し、SG90が正しく動作するか確認します。コードが実行されると、SG90が指定した角度に移動するはずです。
これで、Raspberry PiにSG90を接続し、Pythonコードを使用して制御するための基本的な手順が完了しました。SG90の制御を活かして、様々なRaspberry Piプロジェクトを展開することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚