はじめに
この記事を読めば「Raspberry Pi Pico W」でサーボモーターを使ったものを作れるようになります!
ラジコンやコントローラーを用いて遠隔でデバイスを動かす際にとても便利なモジュールです。
普通のモーターと違い角度を指定して、回転させることができるのでとても便利です。
サーボモーターが使えるようになると、「Raspberry Pi Pico W」でできることがぐっと広がります。
わからないことがありましたら、問い合わせページまたは公式ラインに連絡をください!
Youtubeもありますので、ぜひ見てみてください!
つかうもの
この記事で使っているものを紹介します。
*このリンクは、アフィリエイトリンクです。
こちらのリンクから購入されると、投稿主にインセンティブが発生します。
より良い記事のために、ぜひ購入する際は以下のリンクよりお願いします。。
実際に投稿主が購入したキットを紹介します。
こちらのキットは、マイコンと電子工作に必要な部品がセットになったものです。
こちら購入すればすぐに電子工作始められます!
また、公式HPでモジュール、プログラムの解説もされているので、非常におススメです。
購入はこちらをクリック!
*画像はリンク先より引用
個別で購入する方は、以下のリンクよりどうぞ!
購入はこちらをクリック!
*画像はリンク先より引用
購入はこちらをクリック!
*画像はリンク先より引用
購入はこちらをクリック!
*画像はリンク先より引用
購入はこちらをクリック!
*画像はリンク先より引用
モジュール解説
今回使うサーボモーターは安価で使いやすい「SG90」です。
こちらは、-90~+90度まで動くサーボモーターです。
パルス信号の長さによって180度の可動域で調節することができます。
制御方法の簡単な解説が以下の画像です。
duty cycleの長さを変えることで、サーボモーターに角度を伝えることができます。
動かしてみよう
下の画像を参考に回路を組んでみてください
それでは、こちらをコピペして保存したら実際に動かしてみましょう!
from machine import PWM, Pin
import utime
servo = PWM(Pin(0))
servo.freq(50)
right_button = Pin(6, Pin.IN, Pin.PULL_DOWN)
left_button = Pin(9, Pin.IN, Pin.PULL_DOWN)
led = Pin(15, Pin.OUT)
duty_max = 65535
kakudo = 0.0725 # グローバル変数として定義
def center():
servo.duty_u16(int(duty_max * kakudo))
return kakudo
# 最初に90度の位置に移動
center()
while True:
if right_button.value() == 1:
kakudo += 0.0053 # 右ボタンを押すごとに10度右に回転
print(kakudo)
elif left_button.value() == 1:
kakudo -= 0.0053 # 左ボタンを押すと左に10度回転
print(kakudo)
# kakudo の範囲を0から1の間に制限する
kakudo = max(0, min(1, kakudo))
# LED の制御
if kakudo > 0.1255 or kakudo < 0.01949999:
led.high()
else:
led.low()
servo.duty_u16(int(duty_max * kakudo))
print(kakudo)
utime.sleep(0.1) # 100ミリ秒の待機
プログラムを保存して動かしたら、その位置がセンターになるので、わかりやすいように羽をつけます。
付属の羽をギザギザに合わせておしこむだけでOKです。
ラジコン等を作る場合は、ねじで固定してください。
それでは、右のボタンを4回押してみると、、、
右に傾きました。
今度は左に8回おすと、、
左に回りました。
1番右にすると、、
LEDが光りました!
これで、サーボモーターは終わりです!
動かない原因
動かない場合は、以下の項目を確認してみてください。
プログラム
プログラムがラズパイPICOに保存されているか、エラーが出ていないかを確認してください。
回路
正しいピンにつながっているか、ジャンパー線は断線していないか、ブレッドボードは壊れていないか
これらを確認してください。
わからないとき
これらを確認して解決しない場合は、以下のQR,URLから公式ラインに連絡ください!
さいごに
今回は、サーボモーターを使ってみました!
どうだったでしょうか?
サーボモーターが使えるとラジコンやロボットも作れるようになってきます!
ぜひ!作りたいをカタチに!
また次回の記事でお会いしましょう!