micro:bit(マイクロビット)は手のひらサイズの小さなコンピューター。いろいろな機能
が備
わっていて、自分でプログラミングをすることができるよ。ブログラミングは「MakeCode(メイクコード) for micro:bit」を使えば、初心者
でもかんたんにできるんだ。
micro:bitにはセンサーや無線通信
などいろいろな機能がついているけど、別のモジュールと組み合わせることで、新しい機能を追加
できる。探検ウォッチも、「バングルモジュール」と組み合わせて、スピーカーやボタン電池
が使えるようにしていたよね。
ここでは、モーターやフルカラーLEDなど、これまで使っていない部品を使いたいので、また別のモジュールと組み合わせる。まずは、探検ウォッチを分解
して、バングルモジュールを外してしまおう。このとき、バングルモジュールから電池を外すようにしてね。
今回は「KoKa micro:bit実験・工作キット」に入っている「ベーシックモジュール」と「電池モジュール」をmicro: bitに組み合わせるよ。
1 ベーシックモジュールと電池モジュール
ベーシックモジュールは、入出力の部品(センサーやモーターなど)をmicro:bitに3つまで接続
できるようにするモジュールだ。micro:bitのままだと接続が大変なので、このモジュールを使う。
ベーシックモジュールには写真のような端子
がある。接続端子が色分けされているのは、サーボモーターやセンサーなどのケーブルの色と合わせているからなんだ。
ベーシックモジュールには、この接続端子に対応している部品が接続できる。サーボモーターやLEDテープなどの部品を買い足したいときなどは、スイッチエデュケーションのホームページで接続できるか確認
しよう。
電池モジュールは、micro:bitに3Vの、ベーシックモジュールに約5Vの電源を供給
するために組み合わせる。単4形電池を3個使う電池ホルダーや、スイッチがある。
1.1 ベーシックモジュールを組み立てよう
まずはベーシックモジュールと電池モジュールを組み合わせよう。使うのは写真の部品だ。全部キットに入っている部品だけど、ネジやネジスペーサーなどは他のサイズやスペアも入っている。
① 電池モジュールの両端
の端子(0とGND)にスペーサーをナットでとめる。
② ベーシックモジュールの端子1と2にスペーサーをナットでとめる。
③ ベーシックモジュールと電池モジュールを重ねて、ベーシックモジュールの両端の端子(0とGND)を電池モジュールのスペーサーと挟
むように、スペーサーで固定する。
④ ベーシックモジュールと電池モジュールが組みあがったら、さらにmicro:bitを組み込む。micro:bitの3V端子以外の4つの端子をネジで固定する。
⑤ 電池モジュールとベーシックモジュール、micro: bitを、ケーブルでつなぐ。コネクターの幅
が狭
い方がmicro:bit(3V)、広い方がベーシックモジュールだ(5V)。つないだら電池を入れよう。
これで準備
がOKだ。
2 サーボモーターを動かそう
組み立てが終わったら、さっそくサーボモーターをつないで動かしてみよう。「micro:bit実験・工作セット」に入っているサーボモーター「FS90」を使う。
2.1 サーボモーターとは
サーボモーターは、プログラムなどで指定
した角度
に動かすことができるモーターだ。産業用
の工作機械
などに使われるものもあるけど、ここではラジコン用のサーボモーターを使う。ラジコン用のサーボモーターは、もともとラジコン飛行機
の舵
や、ラジコンカーの車輪
の向きなどを制御
するために使われている。最近ではホビーロボットにも使われているね。
サーボモーターは、モーター、ポテンショメーター、ギアボックスで構成
されている。ギアボックスでモーターの回転を減速
させて高いトルク(モーターを動かす力)を発生させ、ポテンショメーター(可変抵抗
)を使って出力軸
(動作する軸
)の角度を認識
し、指定した角度に動かすよ。
2.2 サーボモーターを動かす
それでは、micro:bitにサーボモーターを接続して、動かしてみよう。サーボモーターには、動きがわかりやすいように片手のサーボホーンをつける。モーターの軸のギザギザをかみ合わせて差し込んでね。
サーボモーターのケーブルは、ベーシックモジュールのP0に接続した。このとき、端子の色とケーブルの色が合うように差し込んでね。
それではここからはMakeCodeのプログラムでサーボモーターを動かしてみよう。サーボモーターを動かすためのブロックがいくつかあるが、「高度
なブロック」をクリックして表示される「入出力端子
」カテゴリーの「サーボ 出力する 端子 “P0” 角度“180”」ブロックでは角度を指定して実行できる。
サーボモーターによって動くことのできる範囲
は決まっているので、指定できる角度はその範囲以内になる。他にも動くスピードや、かけられる負荷
などの条件
があるので、自分でサーボモーターを選ぶときは、そのメーカーのホームページで仕様
を確認した方がいい。
動作確認としては、1秒ごとに45°ずつ動いていくプログラムをつくった。micro:bitに書き込んでみて、問題なく動くか確認しよう。
2.3 micro:bitのボタンで操縦する
micro:bitのボタンA、Bを使ってサーボモーターの角度を操縦
してみよう。ボタンAを押したときに10°ずつ増
やして、ボタンBを押したときに10°ずつ減
らしていく。ボタンAとBを両方押したときに0°に戻ることにする。
まずは角度を記録
するための変数「角度」をつくる。
micro:bitのボタンを押したら、サーボモーターの角度が変わるプログラムをつくろう。最初にサーボモーターの角度を0°に設定して、ボタンを押すと動くようにしている。
「最初だけ」ブロックでは、サーボモーターの角度を0°にするプログラムをつくって、「ずっと」ブロックでは、サーボモーターの現在の角度を、micro:bitのLEDディスプレイに表示するプログラムをつくっている。
ボタンAとB、それぞれを押したらサーボモーターが動き、両方を一緒
に押したらサーボモーターの角度を0°にするようにしている。
2.4 micro:bitを傾けて操縦する
micro:bitには傾
きを検知できる加速度
センサーもついている。ここでは、micro:bitを傾けることでサーボモーターを操縦してみよう。
プログラムでは、まず最初にサーボモーターの角度を90°にする。micro:bitを傾けて操縦するための準備として、micro:bitの傾きが水平のときのサーボモーターの角度を指定しているんだ。
この状態から傾きに応じて、サーボモーターが動くぞ。
プログラムでは「傾斜
(°)」を“ロール”にしているけれど、これはmicro:bitの傾きの方向のことだよ。どの方向の傾きを示しているのかは、下の図を参考
にしてね。
これで、micro:bitでサーボモーターが動かせるようになった。せっかくだから、何かつくってみたいね。そこで次回は、かんたんなロボットをつくってみるよ。お楽しみに!
(文/倉本大資 撮影/青柳敏史)