這裡介紹將感測器的測量資料,透過藍牙模組,傳送到手機中,在Android的手機中,可以使用 Arduino Bluetooth Terminal 這個app來取得感測器資料,此範例將從BMP280氣壓感測器中,取得壓力和溫度的數據做為示範。
[材料]
1. Arduino UNO主板 x 1
2. BMP280氣壓感測器 x 1 (請注意,電源要接到3V3,以免燒壞)
3. 藍牙模組 HC-05 or HC-06
[Android 手機] 安裝app
Arduino Bluetooth Terminal :https://play.google.com/store/apps/details?id=com.frederikhauke.ArduTooth (免費)
[Arduino函式庫]
[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
RXD to arduino UNO pin10
TXD to arduino UNO pin111
#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(";");}