Arduino UNO (4) BLE

いよいよ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から送信したデータは、シリアルモニタで表示される。

スクリーンショット 2017-09-07 15.38.35

次の実験は、受信データを1602LCDで表示する。

参考:

  • http://osoyoo.com/ja/2016/10/27/bluetooth-4-0-hm-10-android-arduino/