- Published on
Raspberry Piに「MG90S」を接続し制御する
1203文字2分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piは豊富なGPIOピンを備え、様々なデバイスを制御するのに適しています。この記事では、小型のサーボモーター「MG90S」をRaspberry Piに接続し、制御する手順について説明します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. MG90Sサーボモーターの概要
MG90Sは、小型で高トルクのサーボモーターであり、主にラジコンカーなどの模型制作やロボットプロジェクトで利用されます。MG90Sは通常、PWM信号を使用して角度を制御します。
2. MG90Sの接続
MG90Sは通常、三つの線があります。
- 赤色(VCC): 5Vの電源
- 茶色(GND): 接地
- 橙色または黄色(信号線): PWM信号
これらをRaspberry PiのGPIOピンに接続します。例えば、VCCを5Vに、GNDをGNDに、信号線をRaspberry PiのGPIOピンに接続します。
3. Raspberry Piコードの作成
Raspberry PiではPython言語を使用してサーボモーターを制御することが一般的です。以下は、MG90Sが接続されたGPIOピンが17番だと仮定した例です。
import RPi.GPIO as GPIO
import time
# GPIOの設定
servo_pin = 17 # MG90Sが接続されたGPIOピン
GPIO.setmode(GPIO.BCM)
GPIO.setup(servo_pin, GPIO.OUT)
# PWMの設定
pwm = GPIO.PWM(servo_pin, 50) # PWM周波数50Hz
pwm.start(0)
def set_angle(angle):
duty = (angle / 18) + 2
GPIO.output(servo_pin, True)
pwm.ChangeDutyCycle(duty)
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()
4. コードの実行と動作確認
Raspberry PiにPythonコードを保存し、ターミナルで実行します。MG90Sが正しく接続されていれば、指定した角度にサーボモーターが移動するはずです。
これで、Raspberry PiにMG90Sを接続し、簡単な制御を行うための基本的な手順が完了しました。MG90Sの動作を組み込んで、様々なプロジェクトを実現することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚