- Published on
Raspberry Piに「FS5106R」を接続し制御する
1310文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piは、シングルボードコンピューターとして非常に人気があり、様々なプロジェクトで利用されています。この記事では、小型のサーボモーター「FS5106R」をRaspberry Piに接続し、制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. FS5106Rサーボモーターの概要
FS5106Rは、TowerProが製造するサーボモーターで、高いトルクと安定性が特徴です。通常、PWM(パルス幅変調)信号を受け取り、そのパルス幅に応じて角度を制御します。このモーターは、ロボットやラジコンカーなどのプロジェクトに広く利用されています。
2. FS5106Rの接続
FS5106Rは通常、三本の線があります。
- VCC(赤色): 5Vの電源
- GND(茶色): 接地
- 信号線(白色または黄色): PWM信号
これらを対応するRaspberry Piのピンに接続します。例えば、VCCを5Vに、GNDをGNDに、信号線をRaspberry PiのGPIOピンに接続します。
3. Raspberry Piコードの作成
Raspberry PiでFS5106Rを制御するために、Python言語を使用します。以下は、FS5106Rが接続されたGPIOピンが18番だと仮定した例です。
import RPi.GPIO as GPIO
import time
servo_pin = 18 # FS5106Rが接続されたGPIOピン
GPIO.setmode(GPIO.BCM)
GPIO.setup(servo_pin, GPIO.OUT)
# PWMの初期化
pwm = GPIO.PWM(servo_pin, 50) # PWM周波数は50Hz
pwm.start(0) # PWMの開始
try:
while True:
# 0度から180度までサーボモーターを動かす例
for angle in range(0, 181, 10):
duty_cycle = angle / 18 + 2
pwm.ChangeDutyCycle(duty_cycle)
time.sleep(0.5)
# 180度から0度までサーボモーターを動かす例
for angle in range(180, -1, -10):
duty_cycle = angle / 18 + 2
pwm.ChangeDutyCycle(duty_cycle)
time.sleep(0.5)
except KeyboardInterrupt:
pwm.stop()
GPIO.cleanup()
このコードは、FS5106Rを0度から180度まで動かし、逆方向に戻す例です。適宜、動作させたい角度や待ち時間を変更することができます。
4. コードの実行と動作確認
最後に、書いたPythonコードを実行し、FS5106Rが正しく動作しているか確認します。コードが正しく実行されれば、サーボモーターが指定した角度に移動するはずです。
これで、Raspberry PiにFS5106Rを接続し、簡単な制御を行うための基本的な手順が完了しました。FS5106Rの制御を応用して様々なプロジェクトを作成することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚