Arduino Bluetooth Terminal

透過Bluetooth藍牙傳送數據資料到Android 手機

使用[ Arduino Bluetooth Terminal ]手機app

這裡介紹將感測器的測量資料,透過藍牙模組,傳送到手機中,在Android的手機中,可以使用 Arduino Bluetooth Terminal 這個app來取得感測器資料,此範例將從BMP280氣壓感測器中,取得壓力和溫度的數據做為示範。

[材料]

1. Arduino UNO主板 x 1

2. BMP280氣壓感測器 x 1 (請注意,電源要接到3V3,以免燒壞)

3. 藍牙模組 HC-05


[Android 手機] 安裝app

Arduino Bluetooth Terminal :https://play.google.com/store/apps/details?id=com.frederikhauke.ArduTooth (免費)


[Arduino函式庫]

BMP280:https://github.com/orgua/iLib

[BMP280 氣壓氣溫感測器 腳位]

VIN to arduino 3.3V

GND to arduino GND

SCL to arduino A5

SDA to arduino A4


[BlueTooth 藍牙模組 腳位]

VCC to arduino 5v

GND to arduino GND

TXD to arduino UNO pin10

RXD to arduino UNO pin11


#include  <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11);

#include <Wire.h>
#include "i2c.h"
#include "i2c_BMP280.h"
BMP280 bmp280;

void setup()
{
    Serial.begin(9600);
    bmp280.initialize();
    bmp280.setEnabled(0);
    bmp280.triggerMeasurement();
    BTSerial.begin(9600);
}

void loop()
{
    bmp280.awaitMeasurement();
    float temperature;             //氣溫,單位:攝氏溫度
    bmp280.getTemperature(temperature);
    float pascal;                  //氣壓,單位:pa帕
    bmp280.getPressure(pascal);
    bmp280.triggerMeasurement();
    
    String text = String(pascal/100) + String(",") + String(temperature);
    Serial.println(text);

    //透過藍牙傳送到數據資料。每個數據之間要有逗號,  最後要有分號;
    BTSerial.print(pascal/100);
    BTSerial.print(",");
    BTSerial.print(temperature);
    BTSerial.print(";");
}

點選安裝好的 Arduino Bluetooth Terminal 程式。

點選允許,開啟手機的藍牙。

選擇Arduino藍牙模組的名稱。

選擇Receiver,代表手機要接收訊息。

點選畫面右下角連結的符號,連結Arduino的藍牙模組。

手機畫面自動顯示感測器所傳來的兩種資料數據。