工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信

Arduino Uno には Bluetooth 機能がありません。でも **HC-05 / HC-06 モジュール(数百円)** を接続するだけで、スマホ/PC と無線シリアル通信が可能になります。ロボット制御、センサーデータ転送、IoT 入門に最適。配線・電圧レベル変換・ペアリング・スケッチ・ターミナルアプリ操作まで、失敗しない手順で解説します。

Bluetooth インターフェースとは

Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信
HC-05 モジュール + Arduino Uno セットアップ

Bluetooth は近距離無線通信規格(最新 5.2 で 400m/2Mbps)。Arduino 等マイコンに Bluetooth 機能を**後付け**するのが「Bluetooth インターフェース」です。Wi-Fi は長距離・大容量、Bluetooth は短距離・低消費電力・簡易ペアリングで使い分け。

Bluetooth モジュールの選び方と構造

Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信
青色ブレークアウト基板搭載 HC-05/06
項目HC-05HC-06
モードマスター/スレーブ 切替可スレーブのみ
Arduino間通信可能(片方マスター設定)不可(両方スレーブ)
ATコマンド対応(ボーレート/名前/役割変更)対応(限定的)
追加ピンEN(KEY), STATEなし
推奨度★★★★★(汎用性高)★★★(スレーブ専用なら安価)

ピンアサイン(共通重要ピン)

Arduino Uno + HC-05 接続手順(ハードウェア)

Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信
HC-05 モジュール

部品

配線(電圧レベル変換必須!)

  1. Arduino 5V → ブレッドボード +レール → HC-05 VCC
  2. Arduino GND → -レール → HC-05 GND
  3. **Arduino D9(TX) → 2.2kΩ → 分圧点 → 5.7kΩ → GND**
    分圧点 → **HC-05 RXD** (5V→3.3V 変換)
  4. **HC-05 TXD → Arduino D8(RX)** (3.3V→5V は Arduino 入力閾値で直接認識 OK)
Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信
配線完了イメージ

ソフトウェア: シリアルBluetoothターミナル構築

Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信
スケッチ構成概要

ライブラリとピン定義


#include 
const int rxPin = 8;  // Arduino受信 = HC-05 TXD
const int txPin = 9;  // Arduino送信 = HC-05 RXD(分圧後)
SoftwareSerial BTSerial(rxPin, txPin); // RX, TX

セットアップ


void setup() {
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  Serial.begin(9600);     // PC シリアルモニタ用
  BTSerial.begin(9600);   // HC-05 デフォルトボーレート
}

メインループ(受信→PC表示、PC送信→BT転送)


String msgFromBT = "";
String msgToBT = "";

void loop() {
  // BT → PC
  while (BTSerial.available()) {
    char c = BTSerial.read();
    if (c == ';') { // セミコロンをメッセージ終端とする
      Serial.print("BT Received: ");
      Serial.println(msgFromBT);
      msgFromBT = "";
    } else {
      msgFromBT += c;
    }
  }

  // PC → BT
  while (Serial.available()) {
    char c = Serial.read();
    BTSerial.write(c);
  }
}
Arduino Bluetooth 連携完全ガイド:HC-05/06 でスマホと無線通信
スケッチ全体像

ペアリングと通信テスト

  1. Arduino 電源 ON → HC-05 赤LED 高速点滅(ペアリングモード)
  2. スマホ「設定→Bluetooth」でスキャン → 「HC-05」選択 → ペアリングコード **「1234」** 入力
  3. スマホに **「Serial Bluetooth Terminal」アプリ** インストール(クラシックBluetooth対応必須。BLE専用アプリ不可)
  4. アプリでデバイス「HC-05」選択 → 接続 → 赤LED 低速点滅(接続確立)
  5. PC側: Arduino IDE シリアルモニタ開く(9600bps、改行コード「Both NL & CR」推奨)
  6. スマホアプリでメッセージ送信(末尾に **;** 付加) → PC シリアルモニタに表示されるか確認
  7. PC シリアルモニタから送信 → スマホアプリ受信欄に表示確認

よくある失敗と対策

症状原因・対策
全く通信できないRXD/TXD 逆接続、分圧抵抗未接続/値間違い、ボーレート不一致(ATコマンドで確認/変更)、ペアリング未完了
文字化け/欠落ボーレート不一致、SoftwareSerial 限界(9600/38400推奨)、電源不安定
ATコマンド応答なしENピン HIGH(3.3V) にしてから電源投入、ボーレート 38400/9600 両方試す、改行コード設定
すぐ切断される電源容量不足(Arduino USB給電限界)、モジュール不良、距離/障害物

発展プロジェクト例

まとめ

HC-05/06 は「5V Arduino と 3.3V Bluetooth の電圧レベル変換(分圧)」さえ正しければ、初心者でも確実に無線化できる魔法のモジュールです。まずは本記事の手順で **双方向シリアル通信** を確立し、そこからセンサー・アクチュエータ・アプリ連携へ展開してください。より高度な BLE(Bluetooth Low Energy)なら ESP32 や nRF52 等へのステップアップを。ご質問・詰まりポイントはお気軽に。

産業技術

  1. Arduino MegaとNEO-6M GPSモジュールの接続:ステップバイステップガイド
  2. nRF24L01をマスター:無線通信、Arduino連携、回路図・コード完全ガイド
  3. PIRモーションセンサー: 動作原理とArduino連携ガイド
  4. データ分析プロジェクトのよくある落とし穴を回避する——実践ガイド
  5. CAE E3.seriesで電気回路図を素早く作成:ステップバイステップガイド
  6. E3.seriesでパネルルーティングをマスター:ステップバイステップガイド
  7. 過剰在庫を削減してフルフィルメント効率を高める
  8. Bluetooth Mesh設計の選択:モジュールかディスクリートデバイスか
  9. Python モジュール: 作成・インポート・高度な活用
  10. Pythonモジュール:コードを整理して明確性と再利用性を高める
  11. Java インターフェース完全解説:定義・実装・実践例