【第26回】でサーボモーターをフルスイングしたときは、ターミナル画面でPython3を起動して、今では推奨されていない”WiringPi2″をインポートして実行しましたが、今回は、【 インストール編 】でインストールしたVisual Studio Codeの画面内で、最新の”WiringPi”をインポートしたプログラムを組み、デバッグ、実行までを行いました。
今回使った部品
- 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
Visual Studio Codeからサーボモーターをフルスイングさせる
Visual Studio Codeを起動し、【 第28回 】で作ったプログラム”blink10.py”を開きます。
【 ワークスペースの設定 】で設定したワークスペース”/home/pi/Python”が開くので、「名前」の入力欄に新しいプログラム名を入力して「保存」ボタンをクリックします。
import wiringpi import time wiringpi.wiringPiSetupGpio() wiringpi.pinMode(12, wiringpi.GPIO.PWM_OUTPUT) wiringpi.pwmSetMode(wiringpi.GPIO.PWM_MODE_MS) wiringpi.pwmSetRange(1024) wiringpi.pwmSetClock(375) counter = 0 while (counter < 10): wiringpi.pwmWrite(12, 25) time.sleep(1) wiringpi.pwmWrite(12, 123) time.sleep(1) counter = counter + 1 wiringpi.wiringPiSetupGpio()
GPIO12の設定を既定に戻しておく
設定をリセットする前に、Python3を終了しようと思って、いつものように”exit()”したら・・・ムムムっ!
exit()
プロンプトが返ってこないので、何か変だなと思ったのですが、とりあえず設定を確認しようと、いつものコマンドを打ち込んでみました。
gpio readall
そのままワークスペース内で、「↑」キーを押して同じコマンドを打ち込むと・・・
gpio readall
次のコマンドでGPIO12の設定を既定の”in”に戻しておきます。
gpio -g mode 12 in
念の為、もう一度、設定を確認してみます。
gpio readall