(日本語) SG90サーボモーター ロボット、オートメーション、DIYプロジェクトで一般的に使用される小型軽量サーボです。これにより、角度位置の正確な制御が可能 パルス幅変調(PWM).このガイドでは、 ラズベリーパイ付きSG90サーボモーター Pythonを使用しています。
あなたが必要とするもの
- ラズベリーパイ (GPIO対応モデル(例:Pi 3、 Pi 4)
- SG90サーボモーター
- 外部電源(5V、複数のサーボにオプション)
- ブレッドボードとジャンパーワイヤー
- インストールされた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信号を生成 サーボ位置を制御します。
- インストールする Raspberry Pi GPIOライブラリ (インストール済みでない場合):
sudo apt update && sudo apt install python3-rpi.gpio
- Pythonスクリプトエディタを開きます:
nano servo_control.py
- 次の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:サーボコントロールスクリプトの実行
-
スクリプトを保存して終了します:
- プレスリリース CTRL+Xそれでは [Y]それでは [入力].
-
スクリプトを実行します。
python3 servo_control.py
-
0〜180の角度を入力 サーボを動かすためです。
ステップ5:サーボ制御のためのPWMの理解
- PWMの頻度: SG90はで動作します 50Hz.
-
デューティサイクル計算:
- 0°→2。5%デューティサイクル
- 90°→7。5%デューティサイクル
- 180°→12。5%デューティサイクル
-
式:
duty_cycle = (angle / 18) + 2.5
ステップ6:ラズベリーパイでSG90サーボのアプリケーション
- ロボットアーム -動きのための制御接合箇所。
- 自動ドア&ロック -サーボを使った開閉機構。
- パンチルトカメラシステム -監視や写真撮影のためのカメラを移動します。
- スマートホームオートメーション -リモートでレバー、ロック、スイッチを制御します。
トラブルシューティング
-
サーボが動かないか。
- 確認する 正しい配線 (信号のためのVCC、 GNDおよびGPIO18)。
- 複数のサーボを使用する場合は、 外部5V電源.
-
不安定な動き?
- 安定した力を保障して下さい;使用する コンデンサ(100µF) 必要ならば。
- 使用する 高精度PWM制御例えば、 PCA9685 PWMモジュール 複数のサーボのために。
-
アクセス許可が拒否されたエラー?
- スクリプトを実行します。
sudo
:sudo python3 servo_control.py
- スクリプトを実行します。
おわりに
(日本語) SG90サーボモーター 追加するのに最適な方法です モーションコントロール Raspberry Piプロジェクトへ。ご利用により PWM信号、サーボの位置を正確に制御できます ロボット、オートメーション、IoTアプリケーション.さまざまな角度とアプリケーションを試して、その可能性を最大限に引き出しましょう! 🚀