2017年2月15日水曜日

Arduino と HC-SR04 の情報を BLESerial2 で送信してみた

概要

前回 Arduino で超音波センサ (HC-SR04) を使ってみました
今回は HC-SR04 で測定した距離情報を BLESerial2 を使って Bluetooth で送信してみました

環境

  • Arduino Uno
  • Arduino IDE 1.6.7
  • 超音波センサ HC-SR04
  • 温度センサ
  • BLESerial2

配線

配線は以下の通りです
arduino_with_hcsr04_with_bleserial_circuit.jpg

全体は前回の配線とほぼ同じです
追加で BLESerial2 を乗せれば OK です
電源は 3.3v から取得しましょう
BLESerial2 の TX と Arduino TX (1ピン) を接続すれば OK です

スケッチ

スケッチは以下の通りです
Serial.write で BLESerial2 に距離情報を書き込むだけで OK です

int duration = 0;
double distance = 0;
int trigger = 2;
int echo = 3;

void setup() {
  Serial.begin(9600);
  pinMode(trigger, OUTPUT);
  pinMode(echo, INPUT);
}

void loop() {
  int ans, temp, tv;
  ans = analogRead(0);
  tv = map(ans, 0, 1023, 0, 5000);
  temp = map(tv, 300, 1600, -30, 100);
  digitalWrite(trigger, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigger, LOW);
  duration = pulseIn(echo, HIGH, 5000);
  if (duration > 0) {
    distance = duration / 2;
    float sonic = 331.5 + 0.6 * temp;
    distance = distance * sonic * 100 / 1000 / 1000;
    Serial.write(int(distance));
  }
  delay(500);
}

動作確認

iPhone と接続して動作確認してみました
使用したアプリは LightBlue になります
arduino_with_hcsr04_with_bleserial_result.png

こんな感じで Notify の Characteristic に距離情報がどんどん送られてくると思います

最後に

超音波センサの情報を Bluetooth に乗せて送信してみました
次回は ESP-WROOM-02 を使って Wifi で送信してみたいと思います

0 件のコメント:

コメントを投稿