注目キーワード

タミヤ:ロボット(CRAWLER) AIカメラを使って、おっかけロボットを作る!

Arduino IDE で micro:bitに書き込む準備をする

今回はAruduino IDEを使ってプログラムを書き込みたいので、必要な環境づくりを行います。
やることは次の3点です。
  • 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のライブラリをダウンロードします。

Github(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 2.0
関連記事

「Arduino IDE」では、使用する機能やセンサー、ボードを使用するプログラムで使用できる有効なライブラリが公開されています。 ライブラリを使用すると、効率的かつ品質を確保したプログラミングが可能です。 この記事では、Ar[…]

プログラムの作成

 Arduino IDE スケッチ例

AIカメラ「HUSKYLENS」からのフィードバックを元にモーター制御を行うプログラムは、次の処理順序にします。

今回のプログラム例は、GitHubに保存しています。

ダウンロードして、srcフォルダ内の「Microbit_HASKYLENS_2_tag.ino」を開いてください。

プログラム例

GitHub

Contribute to karakuri-musha/Microbit_HASKYLENS_3_trace deve…

micro:bitへの書き込み

  1. 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  2. 「ツール」メニューから「ボード」情報を確認し、micro:bitであるか確認します。
    この際、次を確認します。
    ・「シリアルポート」にマイコンを接続したCOMポートが指定されているか
    ・「SoftDevice」に「S110」が指定されているか
  3. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。
  4. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

 プログラム実行結果

最初は、「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」

AIカメラとして学習・推論の機能が実装されたカメラセンサーです。
I2CやUARTで認識結果をAPIとしてフィードバック取得できるので、Arduino IDE以外でも利用することができます。

TAMIYA ROBOT (CRAWLER TYPE)

ロボットフレーム、モーター、ギア、マイコン(BBC microbit)、電子回路、距離センサーなどがセットになったものです。あとは電池を別途用意するだけで、障害物をよけて前進するロボットが作れます。
クローラータイプなので、戦車のようなベルトを持ち、段差もものともしない走破性を持っています。動きも速さよりも力(トルク)重視なので、見ていて楽しいです。

microSDカード

created by Rinker
SanDisk
¥1,092 (2024/04/14 20:27:36時点 Amazon調べ-詳細)

microSDカードリーダー

created by Rinker
サンワサプライ(Sanwa Supply)
¥1,827 (2024/04/14 22:16:34時点 Amazon調べ-詳細)
microSDカードやSDカードは、カメラや携帯などでも幅広く使われており、写真や動画を扱うことが多くなりました。パソコンとの接続が前提の場合、USB Type-Aが使いやすいですが、iPadやAndroid携帯などと接続する場合は、USB-TypeCのほうが使い勝手が良いです。本製品は、Type-A、Type-Cの双方を持っているのでパソコンでも、iPadなどでも使えて便利です。1本あるといいですね!

18650型の電池


【楽天一位獲得】リチウム電池 充電器 18650電池 パナソニック製セル 4本セット
リチウムイオン電池は、充電する際などに過負荷がかかると発火などの危険性があります。この商品は、そのあたりの安全回路を電池本体につけていて安心です。また、専用の充電器もセットになっているので繰り返し使用する際も便利です。
電池保管ケースもついていて安全に保管できます。

※リチウムイオン電池は、取り扱いに注意して、ご利用くださいね!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を提供できるので一つあると重宝します。ほしい出力電圧以上の入力電圧が必要です。

秋月電子で確認

タミヤ 楽しい工作シリーズ

created by Rinker
タミヤ(TAMIYA)
¥308 (2024/04/14 06:49:07時点 Amazon調べ-詳細)
長さ170㎜のユニバーサルアームが4本入ったものです。初めての購入に最適なセットになります。
セットには色違いのものもあります。先述のとおり、カッターとニッパーがあれば、切り出し、切断が可能なので長さを自由に変えることができ、ねじ止めする箇所を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 […]