2016-07-17 19 views
0

this libraryを使用してArduino Uno + HC-05を試しています。私はそれが適切に働いているとは思わない。通信速度作品のHC-05通信速度が見つからない(findBaud)

findBaud 
Trying 4800... x 
Trying 9600... x 
Trying 19200... x 
Trying 38400... x 
Trying 57600... x 
Trying 115200... x 

No connection 
No Connection, waiting...OK 

どれもが、私はHC-05、なぜあるの(ブルートゥースターミナル/ w)の私のAndroid携帯電話を接続するために管理します。これは、「エコー」の例のシリアルモニタの出力ではありません出力の最後に「OK」が表示されます。しかし、Bluetooth端末からの入力をエコーすることはできません。

Arduinoのコード:

#include <Arduino.h> 
#include "HC05.h" 
#include <SoftwareSerial.h> 

HC05 btSerial = HC05(A2, A5, A3, A4); // cmd, state, rx, tx 

void setup() 
{ 
    DEBUG_BEGIN(57600); 
    btSerial.findBaud(); 
} 

void loop() 
{ 
    btSerial.println("Echo Server- type something"); 
    while (btSerial.connected()) 
    { 
    if (btSerial.available()) 
    { 
     btSerial.write(btSerial.read()); 
    } 
    } 
} 

がどのように私はHC-05のArduinoに接続します。

私はただ命令(5VとGND続く

、A5、A3およびA4に国家、RxおよびTxを私はピン "cmd"を持っていないことを除いて)、私はピン "CFG"を持っているので、私はちょうどcmdとA2に接続する必要があると仮定

答えて

0

(私は、答え、50の評判が必要)

同じです。

私は、libと異なるピンで試してみました。私はまた、arduino microとunoを試しました。

いつも同じです:モジュールのLEDが点滅しています(RX/TXのデータを送信すると表示されます)が、「$$$」のコマンドモードに切り替えるときもATコマンドでもKEYピンに - 私のモジュールにそれがENと命名され、多分を有効にするために、私は


EDIT)それは同じであると仮定します。

私はRTFMを持っている必要があります。特にthis。ここで

は私の調査結果です。

  • Bluetoothモジュールは、HC-05と呼ばれ、私が持っている全体のボードは、ZS-040です。 ENピンがモジュールのスイッチをオフにするために使用される
  • LOWに設定されている場合、小さなボタンスイッチは、コマンドモードに入るようにプッシュすることができ
  • (私はKEYピンを持っていない)
  • スピードによって9600ボーですあなたの接続をデバッグするには、コマンドモード
  • を入力するときに、記録のためにBlueSerial

と呼ばれるAndroidアプリを使用することができ、同じデフォルトと滞在し、ここに私のコードは次のとおりです。

#include <SoftwareSerial.h> 

#define HC05_STATE 5 
#define HC05_RXD_ARDUINO_TXD 4 
#define HC05_TXD_ARDUINO_RXD 3 
#define HC05_EN 2 

SoftwareSerial BTSerial(HC05_TXD_ARDUINO_RXD, HC05_RXD_ARDUINO_TXD); // RX | TX 

void setup(void) 
{ 
    pinMode(HC05_EN, OUTPUT); 
    digitalWrite(HC05_EN, HIGH); // just to be sure to enable the module, if not plugged it still works 

    Serial.begin(9600); 
    BTSerial.begin(9600); // default speed 

    Serial.println("Ready"); 
} 

void loop(void) 
{ 
    if (BTSerial.available()) 
    { 
     Serial.print("< "); 
     while (BTSerial.available()) 
      Serial.write(BTSerial.read()); 
     Serial.print("\n"); 
    } 

    if (Serial.available()) 
    { 
     Serial.print("> "); 
     while (Serial.available()) 
     { 
      char c = Serial.read(); 
      BTSerial.write(c); 
      Serial.write(c); 
     } 
     Serial.print("\n"); 
    } 
} 
関連する問題