Arduino IDEでmicro:bit!!
https://gyazo.com/b9bdcea4b7919947872c2825e1db3a1b
はじめに
おそらく、MakeCodeでmicro:bitしている人がほとんどだと思いますが、実はmicro:bitはArduino IDEで開発したり、(VSCodeを使って) nRF SDKで開発することができるようになっています。 今回は、Arduinoで開発する方法について、簡単に説明したいと思います。
ここでの作業はmicro:bit v1.5で行いましたが、micro:bit v2系でもファームウエアのファイルが異なるだけで同じように動作します。
Arduinoの環境構築
概略は、以下の通りです。
Arduinoの"基本設定"の"追加のボードマネージャのURL"に以下を追加
ボードマネージャから、"Nordic Semiconductor nRF5 Boards"をインストール
CMSIS-DAP deviceファームウエアへの更新
micro:bitをJ-Linkなどの他の用途で利用している場合、ファームウエアの更新が必要になることがあります。
概略は以下の通りです。
機種に応じたファームウエアのダウンロード
micro:bitをメンテナンスモードで起動
メンテナンスモードにするには、リセットスイッチを押しながらUSBマイクロをPCに接続
ファームウエアをMAINTANANCEにコピー
ボードの選択
https://gyazo.com/45252423f74229d2ac2c8954728726f9
機種に合わせて、BBC micro:bit(v.1.5)かBBC micro:bit V2(v.2系)のどちらかを選びます。
上の写真はmacOSでのものになっていますが、Windowsポート部分はCOM??という形式になっています。
実際のポートを知るには、micro:bitを抜き差しして、増えたり減ったりしたポートがmicro:bitのものになりますので、それを選択します。
デモコード:Lチカ(ディスプレイチカ?)
以下のデモコードを作って焼いてみましょう。ディスプレイのLED(の一部)がランダムに点滅します。
micro:bit V2で利用する時は、そのままでも動きますがマイクが動いたりプチプチ音が出たりするので、LED_MAX = 31;からLED_MAX = 25;に変更した方が良いと思います。
code:demo.ino
const int COL1 = 3; // Column #1 control const int LED_MIN = 1;
const int LED_MAX = 31;
void setup() {
Serial.begin(9600);
Serial.println("microbit is ready!");
// because the LEDs are multiplexed, we must ground the opposite side of the LED
pinMode(COL1, OUTPUT);
digitalWrite(COL1, LOW);
for (int p = LED_MIN; p <= LED_MAX; p++) {
pinMode(p, OUTPUT);
}
}
void loop() {
Serial.println("blink!");
for (int p = LED_MIN; p <= LED_MAX; p++) {
if (random(2) == 0) {
digitalWrite(p, HIGH);
} else {
digitalWrite(p, LOW);
}
}
delay(50);
}
おわりに
micro:bitでArduinoで簡単な開発をしてみました。
たまには、MakeCodeを離れて、こんな環境でゴリゴリコードを書いてみるのも楽しいものです。
Enjoy your micro:bit life with Arduino!!
おまけ:VSCodeを使ってnRF SDKで開発する
About 610t
https://gyazo.com/129c68196bee28a4160a3a646865beb7
むとうたけし(武藤武士(wǔ téng wǔ shì)) aka 610t
奈良在住
専業主婦
54歳(1970/06/19生まれ)