PR

【Arduino×Bluetooth】スマホ連携ガジェットを開発!

arduino

はじめに

ArduinoとBluetoothモジュールを組み合わせることで、スマートフォンと連携できる便利なガジェットを作ることができます。例えば、リモートスイッチ、ワイヤレス温度モニター、スマホ操作のロボットなど、様々な応用が可能です。本記事では、HC-05 Bluetoothモジュールを使用して、Arduinoとスマートフォンを連携させる方法を詳しく解説します。

  

必要な部品

ArduinoとBluetoothを使用してスマホ連携ガジェットを作るために、以下の部品を準備します。

  • Arduino Uno(または互換機):マイコンボード。
  • HC-05 Bluetoothモジュール:スマホとArduinoを無線通信で接続。
  • LED(または他の制御デバイス):スマホから操作する対象。
  • 抵抗(1kΩ、2kΩ):Bluetoothモジュールの電圧変換用。
  • ジャンパーワイヤー:Arduinoとモジュールを接続。
  • ブレッドボード:配線を簡単にする基板。
  • スマートフォン(Android推奨):Bluetooth接続のテスト用。

 

BluetoothモジュールHC-05の基本

購入はこちらから⇒ https://amzn.to/3Dgske

HC-05は、Arduinoとスマホを無線で接続するためのBluetoothモジュールで、主にシリアル通信(UART)を利用してデータをやり取りします。

HC-05の主なピン

ピン名説明
VCC5Vまたは3.3V(Arduinoは5V出力)
GNDグラウンド
TXDデータ送信(ArduinoのRXピンへ)
RXDデータ受信(ArduinoのTXピンへ、抵抗分圧が必要)
EN(KEY)ATコマンドモード用(通常接続不要)

接続方法(Arduino Unoの場合)

HC-05 ピンArduino ピン
VCC5V
GNDGND
TXDD10(SoftwareSerial RX)
RXDD11(SoftwareSerial TX、1kΩと2kΩで分圧)

 

スマホとArduinoの通信

スマホとArduinoをBluetoothで接続し、シリアル通信を行うことで、Arduinoのデバイス(LEDやモーターなど)を制御できます。

スマホアプリの準備

Bluetooth通信をテストするには、以下のアプリを使用すると便利です。

  • 「Bluetooth Serial Terminal」(Android)
  • 「LightBlue」(iOS)
  • MIT App Inventor で専用アプリを作成

 

Arduinoのスケッチ(Bluetooth連携)

以下のコードをArduinoに書き込むことで、スマホから送信した文字に応じてLEDをON/OFFできます。

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX, TX
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  BTSerial.begin(9600);
}

void loop() {
  if (BTSerial.available()) {
    char data = BTSerial.read();
    if (data == '1') {
      digitalWrite(ledPin, HIGH);
    } else if (data == '0') {
      digitalWrite(ledPin, LOW);
    }
  }
}

 

応用編

ArduinoとBluetoothを活用することで、さまざまなガジェットを作ることができます。

1. スマホからロボットを操作

HC-05とL298Nモータードライバーを組み合わせて、スマホで操作できるロボットを作成できます。

2. ワイヤレス温湿度モニター

DHT11/DHT22センサーを接続し、温度や湿度データをスマホに送信する環境モニターを構築できます。

3. スマートスイッチ

リレーを追加すれば、スマホから家電をON/OFFできるスマートスイッチを作成可能です。

4. スマートロック

ソレノイドやサーボモーターを利用し、スマホからBluetooth経由で鍵を開けるシステムを構築できます。

5. フィットネス・ヘルスケアガジェット

心拍センサーや加速度センサーを組み合わせて、運動データをスマホに送信し、トラッキングするデバイスを作成可能。

 

よくあるトラブルと解決策

1. Bluetoothがスマホに表示されない

原因と対策

  • HC-05のVCCとGNDが正しく接続されているか確認。
  • ATモードで設定を変更し、AT+ROLE=0(スレーブモード)になっているか確認。

2. 通信ができない

原因と対策

  • BTSerial.begin(9600); の通信速度がHC-05のボーレートと一致しているか確認。
  • RX/TXの接続ミス(TXD → RXD、RXD → TXD)をチェック。

3. 送信データが正しく処理されない

原因と対策

  • BTSerial.read(); のデータ型を正しく処理しているか確認。
  • スマホアプリ側で送信するデータの改行コードを調整( など)。

 

まとめ

本記事では、ArduinoとHC-05 Bluetoothモジュールを使って、スマホと連携するガジェットの開発方法を解説しました。基本的なLED制御から、リレーやモーターを追加することで、さまざまなIoTデバイスを作成できます。

今後は、温湿度センサーやスマートロックなどの応用例に挑戦し、より高度なガジェット開発を目指しましょう!


コメント

タイトルとURLをコピーしました