みなさんこんにちは佐々木です。
今回はnRF52840 MDBT50Q 開発用USBドングル(ブートローダ書き込み済)についてご紹介します。
この商品はRaytac社のBLEドングル「MDBT50Q-RX」にオープンソースのブートローダ「Adafruit nRF52 Bootloader」を書き込んだ商品でArduino IDEでプログラムできます。
本来MDBT50Q-RXにプログラムするにはプラスティックケースを開けて、基板上の書き込み用端子にJ-Linkを接続する必要がありますがこの商品ではそういった作業は不要です。パソコンに接続しArduino IDEから「書き込む」ボタンを押すだけでプログラムできます。
UARTサービスに接続するプログラム(サンプルコードあります)を書き込めばBLE-UART変換基板やSPRESENSE用 BLEベースボードとの通信が可能です。さまざまな周辺デバイスからのデータを集約するセントラル機器としてお使いいただけます。
ここからはArduino IDEを使ったプログラムの手順を合わせてご紹介します。
まずはこちらのウェブサイトからArduino IDEをダウンロードしてインストールしてください。
次にArduino IDEを起動しメニューから環境設定→追加のボードマネージャのURLを開いて次のURLを追加します。
https://www.adafruit.com/package_adafruit_index.json
メニューからツール→ボード→ボードマネージャを開いてnRF52
を検索しAdafruit nRF52
をインストールします。
メニューからツール→ボード→Adafruit nRF52 Boards
→Raytac MDBT50Q-RX Dongle
を選択します。
以上で準備完了です。
試しにサンプルスケッチを書き込んで見ましょう。次のスケッチをコピーし、新しいスケッチにペーストしてください。ウィンドウ左上のマイコンボードに書き込む
ボタンを押すと書き込まれます。ドングルのボタンを押すとLEDが点灯することが確認できると思います。
int ledPin = 0;
int buttonPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
digitalWrite(ledPin, digitalRead(buttonPin));
delay(1);
}
BLE-UART変換基板やSPRESENSE用 BLEベースボードと通信するためのスケッチも書き込んでみましょう。このスケッチはブログに掲載するには長すぎるので商品ページからサンプルコード(central_bleuart)をダウンロードして書き込んでください。
書き込み完了後、シリアルモニタを開くと自動的に周辺デバイスを探し始めます。デバイスが見つかるとUARTサービスの有無を確認しUARTサービスがあれば接続します。以下のようなメッセージが表示されたらOKです。デバイスから受信したデータがシリアルモニタに出力されること確認できると思います。
Bluefruit52 Central BLEUART Example
-----------------------------------
BLE UART service detected. Connecting ... Connected
Dicovering Device Information ... Found NONE
Dicovering Battery ... Found NONE
Discovering BLE Uart Service ... Found it
Enable TXD's notify
Ready to receive from peripheral
以上です。ぜひご活用ください。
商品ページ:nRF52840 MDBT50Q 開発用USBドングル(ブートローダ書き込み済)