- 必要な材料
- HC-05Bluetoothモジュール
- 回路図
- BluetoothモジュールHC-05用のMSP430ランチパッドのプログラミング
- MSP430を使用したBluetooth制御LEDの動作
過去10年間に多くのワイヤレス技術が導入されましたが、Bluetoothは依然として短距離ワイヤレス通信で最も人気のある技術です。組み込みシステムでは、HC-05 / 06が最も人気のあるBluetoothモジュールです。以前は、このBluetoothモジュールを多くのプロジェクトで使用して、家電製品やロボットなどを制御し、他のマイクロコントローラーとインターフェースしていました。
- Bluetooth HC-05とSTM32F103C8ブルーピルのインターフェース:LEDの制御
- ESP8266とインターフェースするBluetoothモジュール:LEDの制御
- HC-05BluetoothモジュールとAVRマイクロコントローラーのインターフェース
- ArduinoとBluetoothを使用した音声制御LED
今日は、BluetoothモジュールHC-05をTexasInstrumentsのMSP430Launchpadとインターフェースする方法を学びます。このインターフェースの例では、BluetoothターミナルのAndroidアプリケーションを使用して、スマートフォンからMSP430のオンボードLEDを制御します。
MSP430を初めて使用する場合は、Energia IDEチュートリアルを使用してMSP430G2入門から始めることができ、ここですべてのMSP430チュートリアルに従うことができます。
必要な材料
- TI-MSP430ランチパッド
- HC-05Bluetoothモジュール
- PlayストアのBluetoothターミナルアプリ
HC-05Bluetoothモジュール
HC-05は使いやすいBluetoothモジュール。シリアル通信プロトコル(USART)を使用してデバイス間で通信します。このモジュールには2つの動作モードがあります。1つはコマンドモード、もう1つは動作モードです。コマンドモードは、モジュールのパスワードの変更、ボーレートなどのデバイス設定を構成するために使用されます。動作モードは、デバイス間でデータを送受信するために使用されます。
このチュートリアルでは、デフォルト設定を使用します(デフォルトのパスワードは0000または1234、デバイス名はHC-05、デフォルトのボーレートは9600です)。したがって、動作モードでのみ動作します。
動作電圧範囲は4V〜6V(通常は+ 5V)で、動作電流は30mAです。モジュールの範囲は100メートルです。HC-05 Bluetoothモジュールには合計6つのピンがあり、そのうちENピンとStateピンがコマンドモードで使用されます。HC-05Bluetoothモジュールのピン配置を以下に示します。
回路図
HC-05BluetoothモジュールをTI-MSP340ボードに接続するための回路図を以下に示します。
ここでは、HC-05から4つの接続を行いました。HC-05のRxDピンとTxDピンは、シリアル通信用にMSP430のP1.1とP1.2にそれぞれ接続されています。また、HC-05のVCCとGNDはMSP430のVCCとGNDに接続されています。
BluetoothモジュールHC-05用のMSP430ランチパッドのプログラミング
MSP430を使用したこのBluetooth制御LEDのプログラミングは簡単です。MSPはArduinoIDEと非常によく似たEnergiaIDEを使用してプログラムされるため、Arduinoに精通している人々はこれを理解するのに何の困難にも直面しません。デモンストレーションビデオを含む完全なコードは、チュートリアルの最後にあります。
まず、使用している赤色LEDのマクロを定義します。この行は単純化のためであり、RED_LEDの代わりにLEDを使用できます。
#define LED RED_LED
次は setup() 関数です。これはHC-05のデフォルトのボーレートであるため、 Serial.begin() 関数を使用してシリアル通信のボーレートを9600に設定します。また、 pinMode() 関数を使用して、デジタルピンを出力(この場合はLED)として初期化しました。
void setup(){ Serial.begin(9600); pinMode(LED、OUTPUT); }
では ループ 機能、まず私たちは、データがして、シリアルポートで提供されているかどうかをチェック Serial.available() 関数。次に、 Serial.read() 関数の値を格納している変数 data_recieved を定義します。この関数は、Bluetoothからデータを受信するために使用されます。
次のif-elseステートメントでは、電話から送信されたデータをチェックしています。 1の場合は 、digitalWrite(LED、HIGH) を使用してLEDをオンにし ます。 Serial.write() 関数を使用して、LEDがオンになっているというメッセージをアプリに出力します。 2の場合は 、digitalWrite(LED、LOW) を使用してLEDをオフにし ます。 Serial.write() 関数を使用して、LEDがオフになっているというメッセージをアプリに出力します。
void loop(){ if(Serial.available()) { char data_received; data_received = Serial.read(); if(data_received == '1') { digitalWrite(LED、HIGH); Serial.write( "LEDがオンになりました"); } else if(data_received == '2') { digitalWrite(LED、LOW); Serial.write( "LEDがオフになりました"); } } }
MSP430を使用したBluetooth制御LEDの動作
最後に、Energia IDEを使用してコードをMSP430にアップロードし、Bluetoothターミナルアプリをダウンロードしてスマートフォンにインストールします。アプリは以下のようになります。
次に、スマートフォンでBluetoothをオンにし、使用可能なデバイスのリストからHC-06を選択してBluetoothモジュールに接続します。パスワード0000または1234を使用して接続します。接続後、デバイス名とその下に書かれた接続というタイトルのウィンドウが開きます。このウィンドウは次の図のようになります。
このウィンドウで、BluetoothモジュールHC-05を介してMSP430に1と2を送信してみてください。1を送信すると、LEDがオンになり、次の図のように「LEDがオンになりました」というメッセージが携帯電話に印刷されます。
また、2を送信すると、LEDがオフになり、下の図のように「LEDがオフになりました」というメッセージが携帯電話に印刷されます。そして出来上がり!Bluetoothを使用して携帯電話からLEDを制御しました。
これは、Bluetoothを使用してLEDをワイヤレスで制御する方法です。LEDをリレーや家電製品に交換することで、ホームオートメーションプロジェクトに簡単に変換できます。
デモビデオ付きの完全なコードを以下に示します。