RaspberryにRPIOを入れて,サーボの制御を行いました.
スイッチをサーボで操作するよていなので,サーボの最適な値を調べる必要があります.
そのために,画面で入力した値をサーボに出力するプログラムを書きました.
プログラム
1 2 3 4 5 6 7 8 9 10 11 12 |
import webiopi from RPIO import PWM servo = PWM.Servo() servoPin = 14 while True: input = input('>>') servo.set_servo(servoPin,int(input)) |
解説
プログラムだけを貼り付けても面白くないので解説してみます.
1 |
import webiopi |
webiopiというライブラリを読み込みました.
ここでは,GPIOに信号を送信するために用いています.
1 |
from RPIO import PWM |
RPIOライブラリからPWMを読み込みました
このライブラリを読み込んだおかげでサーボようにPWMを出力することができます.
1 |
servo = PWM.Servo() |
PWMライブラリのサーボ関数を読み込んでいるイメージです.
1 |
servoPin = 14 |
これはサーボのGPIOのピン番号をservoPinという変数に置き換えています.
1 2 3 4 |
while True: input = input('>>') servo.set_servo(servoPin,int(input)) |
1 |
while True: |
この文章は永久ループです.
1 2 3 |
input = input('>>') servo.set_servo(servoPin,int(input)) |
この二行の関数を繰り返します.
1 |
input = input('>>') |
入力画面から値を読み込み,inputという変数にいれています.
1 |
servo.set_servo(servoPin,int(input)) |
servo.set_servo(ピン番号,値)を指定します.
さきほど,servoPinに14を代入しているので,ピン番号の欄にservoPinと書いています.
また,値は読み込んだ値を入力するのでinputをいれています.
inputした値は数値ではなく文字列なので,整数型(int:integer)に変換しています.