micro:bitを使ってみる その1(Make Codeでの開発、LEDの制御)
はじめに
今回はmicro:bitを使ってみました。
プログラミングを教える機会が何かとあるのですが、最近は学校の授業を通じてScratchに触れている子どもが多いという印象です。教育向けのマイコンで、Scratchと同じくブロックプログラミングで開発できるmicro:bitは相性が良いようです。
私も子どもたちに教えられるように、micro:bitの使い方を知っておこうと思っています。ロボットの制御にも繋げていきたいところです。
▼以前の記事はこちら
使用する部品
micro:bitは頂いたものを利用しています。
▼ボードにはV2.21と書かれていました。こちらと同じようなものかと思います。
▼電源を入れるとデフォルトのプログラムが起動して、音が鳴りながらLEDが変化しました。

micro:bitと電子部品を組み合わせて使うにあたって、ピンは出しておきたかったので、ブレットボード変換基板を購入しておきました。
▼こちらを購入しました。
▼側面から見たときにピンが分かりやすいように、シールがついています。

▼差す向きは、商品ページを見る限り3Vが見える方が正面のようです。GNDの位置に合わせると良さそうです。

拡張基板は他にも色々あって、面白そうなものがありました。
▼サーボモータを16個制御できる拡張ボードがあります。ロボットアームを制御するときに使えそうです。
▼ドキュメントが以下にあるのですが、電流量の問題で16個制御できるのかはサーボモータ次第かと思います。
https://www.waveshare.com/wiki/Servo_Driver_for_micro:bit
▼ゲームコントローラのように使えるものもあるようです。
▼スターターキットとして、拡張ボードとセンサーが色々入っているものがありました。
▼ロボットカーもありました。ボードを差し替えるようにして使える構成は面白いですね。
▼音声合成LSIのATP3012を搭載した基板!ちょっと懐かしい素子です。
▼ATP3012は以下の記事でも使っていました。日本語の文字列を通信で送ると、その文字列を発声する音声がスピーカーから出力されます。
Make Codeをインストールする
micro:bitのプログラムをするツールは色々あるのですが、今回はMake Codeを使うことにしました。PCはWindows環境です。
▼Make Codeのページはこちら。Minecraftのプログラミングなどもできるようですね。
https://www.microsoft.com/ja-jp/makecode
▼Microsoft Storeからインストールできます。
https://apps.microsoft.com/detail/9nmqdq2xzkwk?hl=ja-JP&gl=JP
インストールはすぐに終わりました。
▼Make Codeが起動しました。

チュートリアルが用意されているようですね。
プログラムを作成する
Meke Codeで新しくプロジェクトを作成して進めます。
▼プロジェクト名はTestにしました。

▼エディタ画面が起動しました。

ボード上のLEDのを1秒ごとに変化させるプログラムを作成してみます。
▼基本のブロックからアイコンを表示するものと、一時停止するものを利用します。


▼以下のようにブロックを並べました。

この時点で、Make Code内のmicro:bitでシミュレーションが行われていました。
▼表情が変わるようになりました。

▼下にあったスクリーンショットを撮るというボタンを押すと、micro:bitの画面が画像として保存されました。

▼JavaScriptのコードとの互換性があるようです。

▼Pythonにも切り替えることができます。

私はJavaScript系のNode-REDで、Pythonのコードを実行できるように開発していたので、どちらの言語にもなじみがあります。
▼Scratchのブロックの中身を開発するような感じで、Node-REDのノードを開発しています。
プログラムを書き込む
micro:bitをコンピュータに接続した状態で、Make Codeのダウンロードボタンを選択しました。
▼ダウンロード方法の説明が始まりました。

▼ブラウザにペアリングする必要があるようです。ペアを選択しました。

▼ウィンドウの右上の方で、接続の許可が求められました。

micro:bitを選択し、接続をクリックしました。
▼接続が行われ、ダウンロードを選択しました。

▼ダウンロードが開始されました。

ダウンロード終了後、プログラムが書き込まれていました。
▼ボード上のLEDが変化しました。

ピンでLEDを制御する
micro:bitのP0ピンにLEDを接続して、プログラムで制御してみます。マイコン関連でプログラムするときは、LEDをチカチカさせる「Lチカ」からはじめることが多いです。
先述したブレットボード変換基板と、小さいブレットボード、LED、220Ω抵抗で配線しました。
▼こちらのジャンパワイヤ付きのものを購入したことがあります。
LEDの足の長いピンをP0、短いピンを抵抗に繋ぎ、抵抗のもう片方のピンをGNDに繋ぎます。
▼以下のように配線しました。

先程のプログラムに、ピンを制御するためのブロックを追加しました。
▼高度なブロックの中に、ピンの制御に関するブロックがあります。

▼以下のように並べました。

この状態でプログラムを書き込みました。
▼1秒ごとにLEDが変化することを確認できました。


最後に
micro:bitのプログラムができることは確認できたので、次はロボットアームを制御できるように試していこうと思っています。サーボモータ用のブロックもあるようでした。
「最初だけ」と「ずっと」というブロックがあるのは、Arduino IDEで開発するときのsetup()とloop()に相通ずるものがあるように思います。Make Codeの拡張機能も試していきたいところです。
▼以前試していたAmazonのロボットアームの制御を試したいなと思っています。









