micro:bitを使ってみる その1(Make Codeでの開発、LEDの制御)

はじめに

 今回はmicro:bitを使ってみました。

 プログラミングを教える機会が何かとあるのですが、最近は学校の授業を通じてScratchに触れている子どもが多いという印象です。教育向けのマイコンで、Scratchと同じくブロックプログラミングで開発できるmicro:bitは相性が良いようです。

 私も子どもたちに教えられるように、micro:bitの使い方を知っておこうと思っています。ロボットの制御にも繋げていきたいところです。

▼以前の記事はこちら

XIAO ESP32S3を使ってみる その2(コントローラの作成、Unreal Engineの操作)

はじめに  今回は大阪の共立電子にて、ゲームセンターで使われるようなジョイスティックを購入したので、Unreal Engineの操作に使えるようにしてみました。  マイコンの…

5軸のロボットアームを製作する その3(キャチロボ2025、ロボコンでの動作確認)

はじめに  今回はロボコンに向けて製作していた5軸のロボットアームの、当日の動作についての紹介です。  これまでキャチロボバトルコンテストに3年間はチームで参加し…

使用する部品

 micro:bitは頂いたものを利用しています。

▼ボードにはV2.21と書かれていました。こちらと同じようなものかと思います。

▼電源を入れるとデフォルトのプログラムが起動して、音が鳴りながらLEDが変化しました。

 micro:bitと電子部品を組み合わせて使うにあたって、ピンは出しておきたかったので、ブレットボード変換基板を購入しておきました。

▼こちらを購入しました。

▼側面から見たときにピンが分かりやすいように、シールがついています。

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

 拡張基板は他にも色々あって、面白そうなものがありました。

▼サーボモータを16個制御できる拡張ボードがあります。ロボットアームを制御するときに使えそうです。

▼ドキュメントが以下にあるのですが、電流量の問題で16個制御できるのかはサーボモータ次第かと思います。

https://www.waveshare.com/wiki/Servo_Driver_for_micro:bit

▼ゲームコントローラのように使えるものもあるようです。

▼スターターキットとして、拡張ボードとセンサーが色々入っているものがありました。

▼ロボットカーもありました。ボードを差し替えるようにして使える構成は面白いですね。

▼音声合成LSIのATP3012を搭載した基板!ちょっと懐かしい素子です。

▼ATP3012は以下の記事でも使っていました。日本語の文字列を通信で送ると、その文字列を発声する音声がスピーカーから出力されます。

ATP3012をI2C通信で使う

はじめに  今回は音声合成LSIのATP3012を、I2C通信で使ってみました。UART通信であれば何度も使ったことがあるのですが、I2C通信で使うのはこれが初めてです。  I2C通信…

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のノードを開発しています。

Node-REDのノードを作成してみる その1(python-venv)

はじめに  今回はNode-REDでPythonの仮想環境を利用できるノードを作成してみました。  これまでNode-RED MCU用のノードを作成したことはありますが、Node-RED用は2つ目…

プログラムを書き込む

 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のロボットアームの制御を試したいなと思っています。

ちょっと買い物:ロボットアームを動かしてみる

はじめに  今回はAmazonで買ったロボットアームを動かしてみました。本来の目的はサーボモーターを安くたくさん入手したかったということなのですが、キット化されたもの…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です