今回は、サーボ―モーターを0度~180度まで、10度ずつ繰り返し動かしてみます
準備するもの
部品名 | 個数 |
GR-CITRUS | 1個 |
サーボモーター(SG90) | 1個 |
ブレッドボード | 1個 |
ジャンパーワイヤー | 3本 |
microUSBケーブル | 1本 |
ブレッドボードへの接続
(1) ブレッドボードへの接続を行っていきます
今回は、GR-CITRUSの8番ピンをPWM、5VをVCC、GNDをGroundに接続しています
※ サーボモーターは配線の色が少しわかりにくいので、データシートで確認していただくのがいいと思います
秋月電子さんのデータシート参考 => サーボモーターのデータシート
プログラムの作成
(1) プログラムを作成します
servo.rb
#!mruby
ch = 0
servo_pin = 8
angle = 0
angle_int = 10
servo_status = 0
# 8番ピンをサーボ用ピンに割り当てる
Servo.attach(ch, servo_pin)
# サーボの角度設定
Servo.write(ch, angle)
# サーボを10度ずつ動かす
loop do
delay(500)
if servo_status == 0
angle = angle + angle_int
else
angle = angle - angle_int
end
if angle >= 180
servo_status = 1
elsif angle <= 0
servo_status = 0
end
Servo.write(ch, angle)
end
ビルドと実行
(1) ビルドをします
(2) 実行します