今回使った部品
- Raspberry Pi 3 Model B × 1
- 40Pinフラットリボンケーブル
- 40Pin T型GPIO拡張ボード
- ブレットボード × 1
- サーボモーター SG90 × 1
- 電源アダプター5V 2.5A × 1
- microUSB用変換基板 × 1
- ジャンプワイヤー(オス/オス) × 5
実体配線図
回路は【第25回】と同じで、サーボモーターSG-90の電源は、Raspberry Piの電源アダプターとは別の電源アダプターを用意し、microUSB用変換基板を介して供給します。
・モーター端子(茶色) → GND
・microUSB用変換基板(GND) → GND
・モーター端子(赤色) → microUSB用変換基板(VCC)
・モーター端子(橙色) → GPIO12
"Gpiozero"のパルス幅を指定してサーボモーターをフルスイングさせる
Visual Studio Codeを起動し、【 第34回 】で作ったプログラム”pigpiozero_servo.py”を開きます。
【 ワークスペースの設定 】で設定したワークスペース”/home/pi/Python”が開くので、「名前」の入力欄に新しいプログラム名を入力して「保存」ボタンをクリックします。
“Gpiozero”は終了処理も不要なので、更にシンプルなプログラムになりました。
from gpiozero import Servo from time import sleep pig = Servo(12, min_pulse_width=0.5/1000, max_pulse_width=2.4/1000) counter = 0 while (counter < 3): pig.min() sleep(3) pig.mid() sleep(3) pig.max() sleep(3) pig.mid() sleep(3) counter = counter + 1
GPIO12の設定を確認する
コマンド”pigs mg”で設定状態を確認します。
返ってきた値”0″は、pigpio libraryによると”Input”を示しているので、既定通りの設定に戻っていることが確認できました。