AT-команды не работают для HC-06 НА ARDUINO UNO

Вот код. Всякий раз, когда я пишу AT-команду в Serial Monitor, она ничего не делает. Никакого ответа.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {

Serial.begin(9600);

pinMode(9,OUTPUT); digitalWrite(9,HIGH);

Serial.println("Enter AT commands:");

mySerial.begin(9600);

}

void loop()

{

if (mySerial.available())

Serial.write(mySerial.read());

if (Serial.available())

mySerial.write(Serial.read());

}

, 👍-1


2 ответа


0

Проверьте проводку, чтобы убедиться, что вы выполнили правильное подключение, введите здесь код в соответствии с вашим скетчем.

и попробуйте это

if(mySerial.available() > 0)      // Отправлять данные только при получении данных:
{
      data = Serial.read();        //Считываем входящие данные и сохраняем в data
      Serial.print(data);          //Вывести значение внутри данных в Serial
}

или вы можете использовать AltSoftSerial. Подключите ваш BT к контактам 8 и 9. Это намного эффективнее, чем SoftwareSerial, и не будет мешать последовательному чтению и записи.

,

1

Вам нужно убедиться, что скорость передачи данных вашего SoftwareSerial соответствует скорости передачи данных HC-06. В техническом описании указано, что скорость передачи данных HC-06 по умолчанию составляет 9600 бод, но поскольку существуют команды для ее изменения, она может быть не в заводском состоянии прямо сейчас.

Возможно, вам придется попробовать отправить AT+VERSION на разных скоростях передачи данных SoftwareSerial, пока одна из них не даст вам внятный ответ от устройства. Затем отправьте команду на установку его скорости передачи данных (см. техническое описание) на любую скорость, на которой вы хотите, чтобы он работал. 9600 — это примерно максимум для SoftwareSerial.

Новая скорость передачи данных выдержит отключения питания.

,