Arduino IDE で micro:bitに書き込む準備をする
- Arduino IDEのインストール
- パソコンからmicro:bitをCOMポートで認識させる
- Aruduino IDEにmicro:bitのボードを登録する
Arduino IDEのインストール
Arduino IDEをインストールします。
Arduino IDEのインストール方法は、次の記事で紹介しています。
Arduino IDE 1.x
本記事は、Arduino IDE 1.8.xバージョンのインストール方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。 機能がよりリッチになった「Ardui[…]
Arduino IDE 2.0
すけろく Arduino IDEの2.x版がそろそろ使えそうだな。 げんろく たしかに、これまで使ってきたArduino IDE 1.8ではない オートコンプリート機能などが追加されているらしい。 […]
パソコンからmicro:bitをCOMポートで認識させる
micro:bitには、パソコンからの書き込み用としてmicroUSB端子が実装されています。
Windows7環境では、ドライバを入れる必要がありそうですが、Windows11では何もせずに認識しました。
micro:bitをパソコンに接続すると、エクスプローラーからドライブとして認識されます。
MakeCodeなどで作成したプログラム(.hex)は、このドライブにコピーすることで書き込むことができます。
Arduino IDEからプログラムを書き込むためには、SoftDeviceという機能をmicro:bitで有効にする必要があります。以下のプログラム例を使ってSoftDeviceを有効にします。
micro:bit drive to install a MakeCode bluetooth advertising example:
上記のプログラム(.hex)をダウンロードして、エクスプローラーからmicro:bitに書き込みます。
Aruduino IDE にmicro:bitのボードを登録する
次に、Aruduino IDEのボードマネージャを使って、micro:bitを登録します。
登録に使用する情報
使用する情報 | 設定値 |
追加ボードマネージャのURL | https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json |
ボード名 | Nordic Semiconductor nRF5 Boards |
ボードマネージャのインストールは、次の記事で紹介しています。
Arduino IDE 1.x
本記事は、Arduino IDE 1.8.xバージョンのボードマネージャのインストール方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。 機能がよりリッチに[…]
Arduino IDE 2.0
今回は、「Arduino IDE 2.0」の「ボードマネージャ」と書き込み先のボードの指定について記載します。 Arduino IDEは、Arduinoに対応した各種ボード(Arduino uno、M5Stack、M5Stic[…]
タグ認識機能を使った走行ロボットのプログラミング
それでは、実際にプログラミングしてみましょう。
HUSKYLENSのArduino IDE向けライブラリのインストール
以下のリンクから、HUSKYLENSのライブラリをダウンロードします。
ダウンロード後に、ファイルを解凍し、「HUSKYLENS」フォルダをArduino IDEのライブラリフォルダにコピーします。
Arduino IDEのライブラリフォルダは、標準では、以下の場所になっています。
C:\Users\”ユーザ名”\Documents\Arduino\libraries
適宜読み替えてください。
micro:bitのLEDマトリックス制御ライブラリのインストール
Adafruit社から、micro:bit向けのライブラリが公開されているので、インストールします。
今回はこのライブラリの中にあるmicro:bitのLEDマトリックス(5×5)の制御クラスを使用します。
ライブラリ名 | 使用するもの |
Adafruit Microbit Library | Adafruit_Microbit_Matrix |
ライブラリのインストール手順は、次の記事で紹介しています。
Arduino IDE 1.x
本記事は、Arduino IDE 1.8.xバージョンのライブラリ管理方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。 機能がよりリッチになった「Ardu[…]
「Arduino IDE」では、使用する機能やセンサー、ボードを使用するプログラムで使用できる有効なライブラリが公開されています。 ライブラリを使用すると、効率的かつ品質を確保したプログラミングが可能です。 この記事では、Ar[…]
プログラムの作成
Arduino IDE スケッチ例
AIカメラ「HUSKYLENS」からのフィードバックを元にモーター制御を行うプログラムは、次の処理順序にします。
今回のプログラム例は、GitHubに保存しています。
ダウンロードして、srcフォルダ内の「Microbit_HASKYLENS_2_tag.ino」を開いてください。
プログラム例
Contribute to karakuri-musha/Microbit_HASKYLENS_3_trace deve…
micro:bitへの書き込み
- 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
- 「ツール」メニューから「ボード」情報を確認し、micro:bitであるか確認します。
この際、次を確認します。
・「シリアルポート」にマイコンを接続したCOMポートが指定されているか
・「SoftDevice」に「S110」が指定されているか - 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。
- 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。
プログラム実行結果
最初は、「HUSKYLENS」の「タグ認識」モデルには学習データがありません。
初回起動の際は、LEDマトリックスに「HELLO!」が表示された後に、micro:bitの「Aボタン」または「Bボタン」を押します。
各ボタンには、次の機能の学習を行う処理が対応しています。
- Aボタン …「オブジェクト追跡」の学習
- Bボタン …「タグ認識」の学習
オブジェクト追跡を使った実行例
「SETUP MODE OBJECT」とLEDマトリックスに表示された後に、認識する物体(オブジェクト)を、AIカメラの学習用のオレンジ枠内におさまるようにおきます。
準備ができたら、再度「Aボタン」を押します。
認識する物体(オブジェクト)を前後させ、学習を行います。
学習が完了すると「GO」とLEDマトリックスに表示されます。
AIカメラの前に、物体(オブジェクト)を置くと、ロボットが物体を追跡します。
うまくいきました!
タグ認識を使った実行例
「SETUP MODE TAG」とLEDマトリックスに表示された後に、認識するタグを、AIカメラの学習用のオレンジ枠内におさまるようにおきます。
準備ができたら、再度「Aボタン」を押します。
「HUSKYLENS」画面に「TagID:1」として、タグが認識されます。
登録が終わったら、自動的にモデルがmicroSDに保存されます。
保存が終わったら、自動的に動き出します。
こちらも、うまくいきました!
製作、動作時の様子を動画にしました!ぜひご覧ください!
編集後記
いかがだったでしょうか。
タミヤのロボット工作キット「ロボット(CRAWLER)」と、AIカメラ「HUSKYLENS」を使って、物体(オブジェクト)追跡やタグ認識を使用した追従ロボットが完成しました。
「HUSKYLENS」には、ほかにもAI機能があるので、ロボットと組み合わせるといろいろできそうです!
記事は以上になります。
最後までご覧いただきありがとうございました。
今回使用した商品をご紹介します。ぜひご確認ください!
AIカメラ「HUSKYLENS」
I2CやUARTで認識結果をAPIとしてフィードバック取得できるので、Arduino IDE以外でも利用することができます。
TAMIYA ROBOT (CRAWLER TYPE)
クローラータイプなので、戦車のようなベルトを持ち、段差もものともしない走破性を持っています。動きも速さよりも力(トルク)重視なので、見ていて楽しいです。
microSDカード
microSDカードリーダー
18650型の電池
リチウムイオン電池は、充電する際などに過負荷がかかると発火などの危険性があります。この商品は、そのあたりの安全回路を電池本体につけていて安心です。また、専用の充電器もセットになっているので繰り返し使用する際も便利です。
電池保管ケースもついていて安全に保管できます。
※リチウムイオン電池は、取り扱いに注意して、ご利用くださいね!Rakutenで確認
可変電圧 DC/DCコンバータ
OKL-T/6-W12N-C使用 最大6A
小型高効率DCDCコンバーター可変電源キット(降圧)
[AE-OKL-T/6-W12N-C]
入力電圧(4.5~14V)を出力電圧(0.9~5.5V)に降圧するコンバーターです。
最大電流(6A)のものです。Raspberry PiやJetson、ArduinoやM5Stack、microbitなどでよく使う3.3Vと5Vを提供できるので一つあると重宝します。ほしい出力電圧以上の入力電圧が必要です。
タミヤ 楽しい工作シリーズ
セットには色違いのものもあります。先述のとおり、カッターとニッパーがあれば、切り出し、切断が可能なので長さを自由に変えることができ、ねじ止めする箇所を5㎜間隔で設けられた穴から選択して組んでいけるため、自由度が高いです。切断部分は、紙ヤスリなどで研磨してきれいに加工することができます。
・ユニバーサルアーム(170㎜)
・直角パーツ
・スペーサ
・ネジ、ナット類
タミヤ ロボットを使用した他の記事はこちら!
目次 1 Arduino IDE で micro:bitに書き込む準備をする1.1 Arduino IDEのインストール1.2 パソコンからmicro:bitをCOMポートで認識させる1.3 Aruduino IDE にmicro:bitのボードを登録する2 タグ認識機能を使った走行ロボットのプログラミング2.1 HUSKYLENSのArduino IDE向けライブラリのインストール2.2 […]
目次 1 Arduino IDE で micro:bitに書き込む準備をする1.1 Arduino IDEのインストール1.2 パソコンからmicro:bitをCOMポートで認識させる1.3 Aruduino IDE にmicro:bitのボードを登録する2 タグ認識機能を使った走行ロボットのプログラミング2.1 HUSKYLENSのArduino IDE向けライブラリのインストール2.2 […]
すけろく 最近、AIカメラというものがあるそうな。 げんろく カメラ画像を、カメラに実装された チップで学習して、画像認識をさせるものだな。 すけろく 実際に何か作ってみたい。 げんろく そうだな。以前使ったタミヤ製のロボットと AIカメラを組みあわせて、道路認識して走行するもの を作ってみるか。 この記事では、タミヤのロボット工作キット「ロボット(CRAWLER)」と、AIカメラ「HUSKYLE […]