WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
micro:bitとその他のパーツを購入してから1か月、何か動く物を作ってみたいと思い、サーボモーターを購入してみました。micro:bitでは本体のみでもサーボモーターを繋いで動かす事が可能ですが、micro:bit本体から供給できる電圧は3Vなので、ラジコンや模型用サーボモーターでもあまり大きな物は動かす事は出来ません。従って今回は5Vが出力出来るサーボモーター用のモジュールも合わせて購入しました。
サーボモーター
ラジコンや模型用のサーボモーターは通常、出力軸の現在角度を検出器(ポテンショメータ)で読み取っていて、コントローラーからのパルス信号によって指示された角度まで出力軸を回転させます。従ってグルグルと連続回転は出来ないのですが、検出器を出力軸と連動させず、さらにダミーとなる現在角度を与える事で連続回転とする事が可能です。ラジコンや模型用サーボモーターでは改造する事も可能ですが、最近ではあえて連続回転用に仕様変更されたサーボモーターも販売されています。また教育用のロボットカーの車輪にも連続回転用のサーボモーターが使用されている場合もあります。
従って、購入の際には角度制御タイプか連続回転タイプ、また角度制御タイプでもその角度の動作範囲があるので注意が必要です。もちろんmicro:bit本体(またはモジュール)側で供給出来る電圧や容量に見合う必要もあります。
購入した物
サーボモーター
今回購入したサーボモーターは連続回転タイプではなくオーソドックスな角度制御タイプです。アルミブラケットが付属していて、動作角度は「270度」になっています。ただし上記製品は「RDS3115MG」になっていますが、私が購入したのはAmazonにあった「DS3115」という製品です。
どちらもサーボモーター自体が「RDS3115MG」という型式の様で、付属するブラケットも同じ物に見えます。他にも購入する物があったのでAmazon発送の「DS3115」側にしました(2個購入)。実際に届いた物も箱入りで問題ありませんでした。ちなみにこのサーボモーターの動作電圧は4.8~7.4Vとなっています。
サーボモーター用モジュール
サーボモーター用のモジュールは上記の製品を購入しました。モジュールにはUSB、またはDC7~12Vの電源入力が可能になっていて、16チャンネル(16個)のサーボモーターが接続出来る様になっています。ただし16個のサーボモーターを同時に使用するには、電源もUSBでは賄いきれないと思います。また上記の製品では5Vでサーボモーターを制御します。「DS3115」を2個購入して同時に動かす事も考えていますが、サーボモーターの大きさや速度、加わる負荷によって消費電力も変わってきます。このモジュールであれば最悪DC7~12V側の電源供給も可能なので何とかなるだろうと思って購入しました。
サーボモーターの接続とプログラミング用ブロック
※実際の接続と動作については次回記事で扱う予定なので、以下では簡単な説明になっています。
micro:bit本体のみの場合
通常、micro:bit本体のみでサーボモーターを動かすには、サーボモーターの3本の配線(信号・電源・GND)をそれぞれ、信号は0~2のいずれか、電源は3V、GNDはGNDに繋ぐだけです。
プログラムはMicrosot MakeCodeを使用してブロックで組む場合、高度なブロックの「入出力端子」内にサーボモーターの動作に関するブロックがあります。
また拡張機能からサーボモーターに関するブロックを追加する事も出来ます。上記の様に拡張機能から「servo」で検索すると出てくるので、それをクリックします。
するとブロックのメニューに「サーボモーター」という項目が追加されます。「入出力端子」の項目内よりもサーボモーターに関するブロックが多くあります。
モジュールを使用する場合
モジュールを使用する場合は、そのメーカーで利用する為の手順が示されている事を確認してから購入した方が良いです。私が購入したサーボモーター用モジュールは、メーカーのwikiページが充実しているのでお勧めです
サーボモーターのモジュールへの接続に関してはとても簡単で、モジュールに用意されているピンにサーボモーターからの配線(メスコネクタ)を差し込むだけです。
プログラムはメーカーのwikiページで示されている様に「拡張機能」でモジュール用のブロックを追加します。今回のモジュールでは「PCA9685」という項目がブロックのメニューに追加されました。このブロックを使用するとモジュールからサーボモーターを制御する事が可能になります。
次回は実際にサーボモーターを繋いで動かしてみます。
micro:bit 新バージョン「2.0」について
2020年11月25日より、Micro:bit本体の新バージョン「2.0」が発売になっています。従ってこれまでの古いmicro:bitを使用した記事(~その24)と新しいmicro:bitでは記事内容に相違がある場合があります。ただしこれまでのプログラムは基本的には新しいmicro:bitでも動作し、古いmicro:bitも引き続き使用する事が可能です(ハード的に新たに追加された機能は、拡張ボード等が必要ですが)。
なお新しいmicro:bitについては実際に1つ購入し、micro:bit関連記事「その25」から扱っています。
2022年4月追記
2021年12月にmicro:bit本体のバージョンが「2.2」になるとのアナウンスがありましたが、「2.0」との機能上の違いは無いとされています。
「micro:bit」関連記事
以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
-
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。