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

2つのHC-05Bluetoothモジュールをマスターおよびスレーブとして構成およびペアリングする方法| ATコマンド

このArduinoチュートリアルでは、2つのHC-05 Bluetoothモジュールをマスターデバイスとスレーブデバイスとして構成およびペアリングする方法を学習します。次のビデオを見るか、以下のチュートリアルを読むことができます。

概要

以前の2つのチュートリアルでは、HC-05 BluetoothモジュールをArduinoに接続し、AndroidスマートフォンとArduinoの間で通信を行う方法をすでに学びました。これらのチュートリアルでは、HC-05Bluetoothモジュールをデフォルト構成でスレーブデバイスとして使用しました。

HC-05 Bluetoothモジュールの構成–ATコマンド

このチュートリアルでは、両方のモジュールを構成する必要があります。そのためには、ATコマンドモードに切り替える必要があります。その方法は次のとおりです。最初に、前のチュートリアルで説明した回路図のように、BluetoothモジュールをArduinoに接続する必要があります。さらに行う必要があるのは、Bluetoothモジュールの「EN」ピンを5ボルトに接続し、ArduinoボードでTXピンとRXピンを切り替えることです。

したがって、ArduinoのRXピンは分圧器を介してBluetoothモジュールのRXピンに接続し、ArduinoのTXピンはBluetoothモジュールのTXピンに接続する必要があります。ここで、「EN」ピンの上にある小さなボタンを押したまま、モジュールに電力を供給する必要があります。これにより、コマンドモードに入ります。 LEDのBluetoothモジュールが2秒ごとに点滅している場合は、ATコマンドモードに正常に移行したことを意味します。

この後、空のスケッチをArduinoにアップロードする必要がありますが、アップロード中にRXラインとTXラインを切断することを忘れないでください。次に、シリアルモニターを実行する必要があります。そこで、「NLとCRの両方」、およびBluetoothモジュールのデフォルトのボーレートである「38400ボー」レートを選択します。これでコマンドを送信する準備が整いました。その形式は次のとおりです。

すべてのコマンドは「AT」で始まり、「+」記号、<パラメータ名>の順に続き、「?」で終わります。パラメータの現在の値を返す記号、またはそのパラメータに新しい値を入力する場合は「=」記号。

スレーブ構成

したがって、たとえば、テストコマンドである「AT」だけを入力すると、「OK」というメッセージが返されます。次に、「AT + UART?」と入力すると、デフォルトのボーレートである38400を示すマッサージを取り戻す必要があります。次に、「AT + ROLE?」と入力すると、 Bluetoothデバイスがスレーブモードになっていることを意味するマッサージ「+ROLE=0」が返されます。 「AT+ADDR?」と入力するとBluetoothモジュールのアドレスが返され、次のようになります: 98d3:34:905d3f。

次に、マスターデバイスを構成するときに必要になるため、このアドレスを書き留める必要があります。実際には、スレーブデバイスを構成してアドレスを取得するために必要なのはこれだけです。ただし、名前、ボーレート、ペアリングパスワードなど、さまざまなパラメーターを変更できますが、この例では変更しません。

> マスター構成

では、次に進んで、他のBluetoothモジュールをマスターデバイスとして構成しましょう。まず、ボーレートをチェックして、スレーブデバイスと同じ38400であることを確認します。次に、「AT + ROLE =1」と入力して、Bluetoothモジュールをマスターデバイスとして設定します。この後、「AT + CMODE =0」を使用して接続モードを「固定アド​​レス」に設定し、「AT +BIND=」コマンドを使用して以前に書き留めたスレーブデバイスのアドレスを設定します。

>

ここで、アドレスを書き込むときは、コロンの代わりにコンマを使用する必要があることに注意してください。また、「AT + CMODE」コマンドで「0」ではなく「1」を入力した場合、前の手順をスキップできた可能性があることにも注意してください。これにより、マスターは送信範囲内の任意のデバイスに接続できますが、構成の安全性は低くなります。コマンドとパラメータの完全なリストは次のとおりです。HC-05ATコマンドリスト

それでも、Bluetoothモジュールの基本構成がマスターおよびスレーブデバイスとして機能するために必要なのはこれだけです。通常のデータモードで再接続し、モジュールに電源を再投入すると、数秒でマスターが接続します。奴隷に。両方のモジュールが2秒ごとに点滅を開始し、接続が成功したことを示します。

2つのHC-05Bluetoothモジュール間の通信の例

これで、このチュートリアルの実用的な例を作成する準備が整いました。これが回路図です。マスターでポテンショメータを使用して、スレーブでサーボモーターを制御します。逆に、スレーブでプッシュボタンを使用して、マスターでLEDを制御します。

このArduinoチュートリアルに必要なコンポーネントは、以下のいずれかのサイトから入手できます。

  • HC-05Bluetoothモジュール……………。
  • Arduinoボード……………………………
  • サーボモーター……………………………。…。
  • ポテンショメータ……………..………..……。
  • 3x220オーム抵抗器…………………
  • ブレッドボードとジャンパー線………。

Arduinoソースコード

説明: したがって、最初に、プログラムに必要なピンといくつかの変数を定義する必要があります。セットアップセクションでは、マスターでLEDピンを出力として設定し、すぐにローに設定します。また、38400ボーレートでシリアル通信を開始します。同様に、スレーブでは、ボタンピンを入力として設定し、ピンが接続されるサーボを定義して、同じボーレートでシリアル通信を開始します。

ループセクションでは、両方のコードで、Serial.available()関数を使用して、読み取ることができるシリアルポートに使用可能なデータがあるかどうかを確認し、Serial.read()関数を使用して、データを読み取り、に格納します。 「状態」変数。そのため、ボタンの状態がハイのときにスレーブから送信される文字「1」をマスターが受信した場合、またはボタンが押された場合、LEDが点灯します。それ以外の場合、文字が「0」の場合、LEDはオフになります。

サーボモーターの制御については、まずマスターでポテンショメーターの値を読み取り、0〜255のサーボに適した範囲にマッピングします。この値はスレーブに送信され、スレーブはそれに応じてサーボモーターを回転させます。必要なのはこれだけです。これが例のデモンストレーションです。

マスターコード:

/*
 * How to configure and pair two HC-05 Bluetooth Modules
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 * 
 *                 == MASTER CODE ==
 */

#define ledPin 9

int state = 0;
int potValue = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
 if(Serial.available() > 0){ // Checks whether data is comming from the serial port
    state = Serial.read(); // Reads the data from the serial port
 }
 // Controlling the LED
 if (state == '1') {
  digitalWrite(ledPin, HIGH); // LED ON
  state = 0;
 }
 else if (state == '0') {
  digitalWrite(ledPin, LOW); // LED ON
  state = 0;
 }
 // Reading the potentiometer
 potValue = analogRead(A0);
 int potValueMapped = map(potValue, 0, 1023, 0, 255);
 Serial.write(potValueMapped); // Sends potValue to servo motor
 delay(10);
}Code language: Arduino (arduino)

スレーブコード:

/*
 * How to configure and pair two HC-05 Bluetooth Modules
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 * 
 *                 == SLAVE CODE ==
 */
 
#include <Servo.h>
#define button 8

Servo myServo;
int state = 20;
int buttonState = 0;

void setup() {
  pinMode(button, INPUT);
  myServo.attach(9);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
 if(Serial.available() > 0){ // Checks whether data is comming from the serial port
    state = Serial.read(); // Reads the data from the serial port
 }
 // Controlling the servo motor
 myServo.write(state);
 delay(10);
 
 // Reading the button
 buttonState = digitalRead(button);
 if (buttonState == HIGH) {
   Serial.write('1'); // Sends '1' to the master to turn on LED
 }
 else {
   Serial.write('0');
 }  
}Code language: Arduino (arduino)

以上です。問題が発生した場合は、下のコメントセクションでお気軽にお問い合わせください。


製造プロセス

  1. 要約:BluetoothLEとXLEが資産の追跡と監視の未来である方法
  2. Bluetooth +超音波=RTLSの精度の向上とコストの削減
  3. 湿度センサーをチェックして校正する方法
  4. ArduinoBluetooth制御車の作り方
  5. ArduinoとBluetoothを備えたスマートコーヒーマシン
  6. Bluetooth制御のピックアンドプレースロボット
  7. VixenLightsとArduinoを使用してNeoPixelsを構成する方法
  8. ArduinoとADXL345加速度計で向きを追跡する方法
  9. HC-05 Bluetooth、NRF24L01、およびHC-12トランシーバモジュールを使用したArduinoロボットカーのワイヤレス制御
  10. 工具鋼とその製造方法を理解する
  11. 帯鋸と丸鋸の見分け方は?