いよいよBLEの実験を開始。Bluetooth 4.0 モジュールを使って、Android AppとArduinoを通信する。
まず持っているBluetooth 4.0 モジュールは、HM10 互換というから、参考になるものを探す。
なぜか、接続表のように、RX0/TX0からBluetoothモジュールとUNOボードを接続すると、プログラムを書き込みできない。
一旦切り離して、プログラムを書き込みおわったら、また接続すればうまくいく。
#もしかしてこれは常識???
Bluetooth 4.0 | Arduino UNO R3ボード |
---|---|
VCC | 5V |
GND | GND |
TXD | RX0(pin0) |
RXD | TX0(pin1) |
そのため接続表のように、D7/D8からBluetoothモジュールとUNOボードを接続する。
Bluetooth 4.0 | Arduino UNOボード |
---|---|
VCC | 5V |
GND | GND |
TXD | pin 7 |
RXD | pin 8 |
プログラム:
#include <SoftwareSerial.h> SoftwareSerial mySerial(7, 8); // RX, TX // Connect HM10 Arduino Uno // Pin 1/TXD Pin 7 // Pin 2/RXD Pin 8 void setup() { Serial.begin(9600); // If the baudrate of the HM-10 module has been updated, // you may need to change 9600 by another value // Once you have found the correct baudrate, // you can update it using AT+BAUDx command // e.g. AT+BAUD0 for 9600 bauds mySerial.begin(9600); } void loop() { char c; if (Serial.available()) { c = Serial.read(); mySerial.print(c); } if (mySerial.available()) { c = mySerial.read(); Serial.println(c); } }
Android Appは、BleSerialPortというソフトウエアをインストールして試す。
Android Appから送信したデータは、シリアルモニタで表示される。
次の実験は、受信データを1602LCDで表示する。
参考:
- http://osoyoo.com/ja/2016/10/27/bluetooth-4-0-hm-10-android-arduino/