Raspberry PiでSG90サーボモーターを使用する

Using the SG90 Servo Motor with the Raspberry Pi

(日本語) SG90サーボモーター ロボット、オートメーション、DIYプロジェクトで一般的に使用される小型軽量サーボです。これにより、角度位置の正確な制御が可能 パルス幅変調(PWM).このガイドでは、 ラズベリーパイ付きSG90サーボモーター Pythonを使用しています。


あなたが必要とするもの

  1. ラズベリーパイ (GPIO対応モデル(例:Pi 3、 Pi 4)
  2. SG90サーボモーター
  3. 外部電源(5V、複数のサーボにオプション)
  4. ブレッドボードとジャンパーワイヤー
  5. インストールされたPython ラズベリーパイに

ステップ1: SG90サーボをラズベリーパイに配線する

(日本語) SG90サーボモーターに3つのピンがあります:

SG90ピン ラズベリーピピン [関数]
VCC(赤) 5V(ピン2) パワーサプライ
GND(ブラウン) GND(ピン6) グラウンド(Ground)
信号(オレンジ) GPIO18(ピン12) PWM信号制御

注意: 複数のサーボを使用する場合は、 外部5V電源 Raspberry Piの5Vピンの過負荷を避けるため。


ステップ2: Raspberry PiでPWMを有効にする

ラズベリーパイ PWM信号を生成 サーボ位置を制御します。

  1. インストールする Raspberry Pi GPIOライブラリ (インストール済みでない場合):
    sudo apt update && sudo apt install python3-rpi.gpio
    
  2. Pythonスクリプトエディタを開きます:
    nano servo_control.py
    
  3. 次のPythonスクリプトを SG90サーボモーターを制御して下さい:

ステップ3:サーボを制御するPythonコード

import RPi.GPIO as GPIO
import time

# Set up the GPIO pin for PWM
SERVO_PIN = 18  # Use GPIO18 (Pin 12)
GPIO.setmode(GPIO.BCM)
GPIO.setup(SERVO_PIN, GPIO.OUT)

# Start PWM with 50Hz frequency
pwm = GPIO.PWM(SERVO_PIN, 50)
pwm.start(0)

def set_angle(angle):
    duty_cycle = (angle / 18) + 2.5  # Convert angle to duty cycle
    GPIO.output(SERVO_PIN, True)
    pwm.ChangeDutyCycle(duty_cycle)
    time.sleep(0.5)  # Wait for servo to move
    GPIO.output(SERVO_PIN, False)
    pwm.ChangeDutyCycle(0)

try:
    while True:
        angle = int(input("Enter angle (0-180): "))
        if 0 <= angle <= 180:
            set_angle(angle)
        else:
            print("Invalid angle! Enter a value between 0 and 180.")

except KeyboardInterrupt:
    print("Exiting...")
    pwm.stop()
    GPIO.cleanup()

ステップ4:サーボコントロールスクリプトの実行

  1. スクリプトを保存して終了します:

    • プレスリリース CTRL+Xそれでは [Y]それでは [入力].
  2. スクリプトを実行します。

    python3 servo_control.py
    
  3. 0〜180の角度を入力 サーボを動かすためです。


ステップ5:サーボ制御のためのPWMの理解

  • PWMの頻度: SG90はで動作します 50Hz.
  • デューティサイクル計算:
    • 0°→2。5%デューティサイクル
    • 90°→7。5%デューティサイクル
    • 180°→12。5%デューティサイクル
  • 式: duty_cycle = (angle / 18) + 2.5

ステップ6:ラズベリーパイでSG90サーボのアプリケーション

  1. ロボットアーム -動きのための制御接合箇所。
  2. 自動ドア&ロック -サーボを使った開閉機構。
  3. パンチルトカメラシステム -監視や写真撮影のためのカメラを移動します。
  4. スマートホームオートメーション -リモートでレバー、ロック、スイッチを制御します。

トラブルシューティング

  1. サーボが動かないか。

    • 確認する 正しい配線 (信号のためのVCC、 GNDおよびGPIO18)。
    • 複数のサーボを使用する場合は、 外部5V電源.
  2. 不安定な動き?

    • 安定した力を保障して下さい;使用する コンデンサ(100µF) 必要ならば。
    • 使用する 高精度PWM制御例えば、 PCA9685 PWMモジュール 複数のサーボのために。
  3. アクセス許可が拒否されたエラー?

    • スクリプトを実行します。 sudo:
      sudo python3 servo_control.py
      

おわりに

(日本語) SG90サーボモーター 追加するのに最適な方法です モーションコントロール Raspberry Piプロジェクトへ。ご利用により PWM信号、サーボの位置を正確に制御できます ロボット、オートメーション、IoTアプリケーション.さまざまな角度とアプリケーションを試して、その可能性を最大限に引き出しましょう! 🚀

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.