こんにちは!!今日はラズパイでサーボを動かしてみます('ω')ノ
手元にHDMI→miniHDMIの変換アダプタがないので、モニターの都合上4ではなく3のほうでやっていきます。
使用するのはタワープロのマイクロサーボSG90('ω')ノ
よく見る標準的なサーボモーターですね
サーボモータには3本の線がついていますが、
オレンジが制御信号
赤が電源+
黒が電源-
となっています('ω')ノ これを踏まえてさっそくうごかしていきましょう!!
まず端子にジャンプワイヤーを付けて
図のようにブレッドボードにつけます('ω')ノ
単に動かすためのコードは以下の通りです('ω')ノ
import RPI.GPIO as GPIO / GPIO.setmode(GPIO.BCM) はGPIOライブラリを使う上ではお決まりの言葉です('ω')ノ
GPIO内でピンの呼び方は2つあって、このBCMと他にBOARDというものがあります。今回はBCMを使ってます('ω')ノ
GPIO.setup(4, GPIO.OUT) 4ピンを出力ピンとして設定します。4ピンはオレンジを指しているので信号を送るピンでしたね
GPIO.PWM(4, 50) (4ピン, 50Hz)という意味です('ω')ノ
4ピンは上の出力ピン、50HzはPWM信号の周期のことです。
PWMはPulse Width Modulationで、パルス幅変調とも言い、一定間隔で信号のローレベルとハイレベルを切り替えて、デジタル信号では本来表せないハイレベルとローレベルの中間の値を疑似的に表現する信号方式のことです。このPWM信号の周期に対するパルス幅の割合のことをデューティと呼びます('ω')ノ
(これについてはまた記事に出来たらなと思います)
p.start(0.0)はPWM信号を出力するメソッドで、()の中はデューティ比を浮動小数点で指定します('ω')ノ
p.ChangeDutyCycle(dc)はデューティ比を変更するメソッドです。
これを実行するとサーボは動きます('ω')ノ
これは単にサーボを動かすためのコードですが、次は角度を指定して色々動かしていきたいと思います。ではまた('ω')ノ