みなさんこんにちは、佐々木です。
さて今回は昨年販売を開始しました「BLE-UART変換基板」をご紹介いたします。
BLE-UART変換基板はISP1507ピッチ変換基板にBLEとUARTの通信を変換するプログラムを書き込んだ商品です。UART出力機能を持つマイコンにこの商品をつなげば簡単に無線化することができます。難しいBLEのプログラムを書く必要はありません。ボーレートは1200~1000000、ハードウェアフロー制御にも対応し、ピン割り当ての変更も可能です。
この商品の使い方の例として「Arduino Unoでロードセルから読み取った重さをシリアルモニタに出力する」というArduinoの入門的プロジェクトに本商品を組み込んでスマートフォンで重さを読み取れるようにしてみましょう。
まずBLE-UART変換基板とArduino Unoは次のように接続します(BLE-UART変換基板のピン割り当ては商品ページを参照してください)。
BLE-UART変換基板 | Arduino Uno |
---|---|
VIN | 5V |
P0_08(RX) | 3(TX) |
P0_06(TX) | 2(RX) |
GND | GND |
BLE-UART変換基板の動作電圧は3.3V、Arduino Unoの動作電圧は5Vなのでレベル変換にNTB0104 レベルシフタ ピッチ変換済みモジュールを使いました。
BLE-UART変換基板と通信するため次の変更をスケッチを加えます。
SoftwareSerialライブラリのインクルード文を追加します。
#include <SoftwareSerial.h>
RX/TXのピン番号を指定してSoftwareSerialのインスタンスを作成します。
SoftwareSerial toBleUart(2, 3);
setup関数でボーレート9600を指定しSoftwareSerialを開始します。
toBleUart.begin(9600);
loop関数でロードセルから読み取った重さをBLE-UART変換基板に送信します。
toBleUart.println(reading);
次にLightBlueアプリ(iOS/Android)を使ってBLE-UART変換基板のUARTのボーレートを9600に変更します。
LightBlueを起動しBLE-UART Converter Boardを探して接続します。0x0BF10001からはじまるUUIDを選択してボーレート9600に対応する値0x03を書き込みます(9600以外を設定したい場合は商品ページを参照してください)。
最後にBluefruit Connectアプリ(iOS/Android)でArduinoから送信された値を確認してみましょう。
LightBlueを終了しBluefruit Connectを起動します。BLE-UART Converter Boardを探して接続します。ModulesからUARTを選択すると受信した値が表示されます。
ModulesからPlotterを選ぶと受信した値がグラフにプロットされます(Plotterはカンマや空白で区切られた数字をグラフにプロットするModuleです)。
以上です。ぜひご活用ください。
商品ページ:BLE-UART変換基板