Подключение модуля Bluetooth BT-06 к Arduino UNO, AT-команды

Модуль BT-06.

     Записал скетч в Arduino UNO через виртуальный COM-port. С помощью Монитор порта Arduino IDE 2.3.2 проверил работу Arduino UNO по записанному скетчу. При этом контакты RX, TX Arduino UNO не должны быть задействованы другими устройствами.

int val;
int LED = 13;

void setup()

{
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
  digitalWrite(LED, LOW);
}
void loop()
{
  if (Serial.available())
  {
    val = Serial.read();

    // При символе "1" включаем светодиод
    if (val == '1')
    {
      digitalWrite(LED, HIGH);
      Serial.println("Включаем светодиод");
    }

    // При символе "0" выключаем светодиод
    if (val == '0')
    {
      digitalWrite(LED, LOW);
      Serial.println("Выключаем светодиод");
    }

  }
}

     Отсоединил кабель USB, отключил питание UNO (источник 9 В). Подключил BT-06. Не стал подключать делитель для входа RXD модуля. 

     При настройке модуля AT командами все-таки запаял делитель для входа RXD BT-06 (4,7 кОм на UNO, 10 кОм на GND).

     Светодиод на BT-06 мигает. Запустил Arduino IDE 2.3.2. Выбрал контроллер UNO. Порты – COM3, COM4, не знаю почему запомнились. Включил Монитор порта.

     На вкладке Параметры Windows выбрал Bluetooth и устройства. Добавить устройство.

     Обнаружились два JDY-31-SPP. Мои. Если отключить питание от UNO – они исчезают.

     Здесь, наконец-то, начались пляски с бубном. Нужно выбрать того, который потребует пароля 1234.

     И опять потребовалось несколько циклов отключения и подключения, чтобы, сначала, в IDE появились COM6 и COM7, и, наконец, светодиод на BT-06 стал светиться постоянно. Как и в случае с JDY-31-SPP пришлось крутиться с портами.

     Подаем в Мониторе IDE 1 – светодиод на UNO светится, в приемном окне Монитора выводится «Включаем светодиод», подаем 0 – тухнет, выводится «Выключаем светодиод». Скорость 9600, Both NL & CR. После настройки AT командами скорость — 115200.

Настройка BT-06, AT команды

     Настройка BT-06 осуществляется в режиме AT-команд. В этом режиме модуль принимает данные через UART интерфейс (RXD, TXD) и интерпретирует их как команды настройки.

     Чтобы модуль отвечал на команды, он должен находиться в режиме ожидания подключения (светодиод мигает).

     Подключил пин RST UNO к GND, чтобы микроконтроллер не запустился.

     Контакт UNO RX подключил к контакту RXD BT-06 и, соответственно, TX к TXD. При проверке модуля на связь по BLUETOOTH соединение было накрест, а USB кабель был отключен. Дело в том, что в данном случае используется не сам контроллер Atmega328, а только микросхема CH340 моста USB-UART. Эта микросхема уже подключена накрест к микроконтроллеру. То есть, мы имеет такую цепочку соединений: USB-UART TX -> Arduino RX -> Bluetooth RXD. И, соединив RST и GND, мы просто убираем Arduino из этой цепочки.

     Открываем Монитор порта, ставим текущую скорость модуля (по умолчанию 9600 бод), конец строки NL & CR. Отправляем команду.

Команда                                      Описание                                             Ответ

AT                                          Тестовая команда                                  +OK
AT+VERSION                        Запрос версии                       +VERSION=JDY-31A-V2.241,Bluetooth V3.0+BLE
AT+NAME                            Запрос текущего имени                         +NAME=JDY-31-SPP
AT+NAMEJDY-31-SPP-NN      Установить новое имя                       +OK
AT+NAME                             Запрос текущего имени                        +NAME=JDY-31-SPP-NN
AT+BAUD                              Запрос текущей скорости порта.        +BAUD=4
                                               Код:  скорость

                                              4:9600
                                              5:19200
                                              6:38400
                                              7:57600
                                              8:115200
                                              9:128000

AT+BAUD8                          Установить скорость порта                    +OK

AT+BAUD                            Запрос текущей скорости порта            +BAUD=8

AT+PIN                                Запрос текущего ПИН-кода                    +PIN=1234

AT+PIN4321                       Установка нового ПИН-кода                   +OK
AT+PIN                               Запрос текущего ПИН-кода                      +PIN=4321

     Начал проверку как указано выше через UNO. Когда дошел до установки скорости порта, то сразу задал 9. Отработка AT команд прекратилась. Все попытки реанимировать BT-06 через UNO не удавались. К тому же, не был уверен какая скорость соответствует 9, то ли 230400, то ли 128000. Нашел в нете, что микросхема CH340 моста USB-UART UNO не тянет больше 115200. Подключил BT-06 через электронный пульт-имитатор, в котором мост USB-UART обеспечивается микросхемой FT232RL. Работа с AT командами возобновилась на скорости 128000. В Мониторе порта невозможно установить скорость 128000, пришлось использовать termite-3.4. Окончательно установил скорость 8 — 115200. Проверил на этой скорости работу согласно первой части. ОК.

Электронный пульт-имитатор Управление матричной клавиатурой и светодиодами

Скачать termite-3.4.exe

termite-3.4.exe (10 Загрузок)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *