今日はサーボモーターという回転位置を指定できるモーターを使った演習をします。
新品価格 |
※ブレッドボード、配線などは前回同様です
テキストはいつも通り下記を使用します。
電子部品ごとの制御を学べる! Raspberry Pi 電子工作実践講座 新品価格 |
今日の演習はP155-P162まで
-
-
- ラズベリーパイ本体 RaspberryPi Zero使用 1台
- サーボモーター SG-90 1個
- 配線 適量
- 詳細
- 配置図
- 回路図
- 配置図
- プログラムは次の通り
import wiringpi as pi
servo_pin = 18
set_degree = 180CYCLE = 20
MIN_PULSE = 0.5
MAX_PULSE = 2.4
MIN_DEG = 0
MAX_DEG = 180
RANGE = 2000clock = int (19.2 / float(RANGE) * CYCLE * 1000)
min_val = RANGE * MIN_PULSE / CYCLE
max_val = RANGE * MAX_PULSE / CYCLEpi.wiringPiSetupGpio()
pi.pinMode(servo_pin, pi.GPIO.PWM_OUTPUT)
pi.pwmSetMode(pi.GPIO.PWM_MODE_MS)
pi.pwmSetRange (RANGE)
pi.pwmSetClock (clock)if(set_degree <= MAX_DEG and set_degree >= MIN_DEG):
move_deg = int((max_val – min_val) / MAX_DEG * set_degree)
pi.pwmWrite(servo_pin,move_deg) - 実物写真
- 実行結果
-
総括
今回のサーボモータは細かい動きをコントロールできるので実践で便利そうです。仕様で細かい設定をしなければならないのがちょっと面倒そうですが、制作物の範囲が広がります。