2016-07-17 2 views
0

Я пытаюсь Arduino Uno + HC-05 использовать this library. Я не думаю, что он работает правильно. Это выход монитора последовательного порта по примеру «эхо»:Не удается найти скорость связи 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 

Ни одна из работ скорость передачи данных, но мне удается подключить Android телефон (ж/Bluetooth терминал) с HC-05, который не поэтому вы видите «ОК» в конце вывода. Но он не может повторить мой вход с терминала 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, государственный, Rx и Tx на А5, А3 и А4 соответственно), за исключением того, что у меня нет булавки «cmd», но у меня есть pin «CFG», поэтому я просто предполагаю, что это должен быть cmd и подключить его к A2

ответ

0

(Я знаю, что я должен прокомментировать, ответ, но мне нужна репутация 50)

То же самое здесь.

Я пробовал с и без lib и с разными контактами. Я также попробовал микроуровень arduino и uno.

Всегда то же самое: светодиод модуля мигает (когда я посылаю данные через RX/TX), но я не могу ответить (ни при переключении в командный режим с «$$$», ни с помощью AT-команд с KEY булавкой - на моем модуле это называется EN, может быть, для включить, я предполагаю, что это одно и то же)


EDIT:

я должен RTFM. Особенно this.

Вот мои выводы:

  • модуль Bluetooth называется HC-05 и вся доска у меня есть ZS-040.
  • Стандарт EN контакт используется для выключения модуля, если он установлен на LOW
  • Небольшая кнопка включения можно нажать, чтобы войти в командный режим (я не имею KEY булавку)
  • Скорость 9600 бод по по умолчанию и оставаться одинаковым режим команд при вводе
  • Для отладки соединения вы можете использовать Android приложения под названием BlueSerial

Для записи, вот мой код:

#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"); 
    } 
}