Bluetooth модуль JY-MCU

JY-MCU_1
JY-MCU — это недорогой модуль для создания связки UART-Bluetooth. Состоит из промышленного модуля HC-05/HC-06, закрепленного на макетной плате, с дополнительными стабилизатором и светодиодном. Цены моделей на основе HC-05 и HC-06 почти не отличаются, но модули обладают разным функционалом:

HC-05 — может работать в режимах Master/Slave, можно управлять соединением.
HC-06 — модуль может работать только в режиме Slave.

Спецификация на модуль JY-MCU (HC-06)

Параметр Значение
Питание 3.3-6 Vdc
Ток питания 150mA
Рабочее напряжение 3.3Vdc
Максимальное расстояние 30м
Bluetooth V2.0+EDR

Настойки по-умолчанию JY-MCU (HC-06)

Параметр Значение
Скорость 9600,8,1,n
Пароль 1234
Имя HC-06

Описание выводов JY-MCU (HC-06)

  • VCC— положительный полюс источника питания;
  • RXD— линия приёма сигнала UART;
  • TXD— линия передачи сигнала UART;
  • GND— земля;

Пример подключения JY-MCU (HC-06)

Так как рабочее напряжение модуля 3.3V, а Arduino — 5V, подключение лучше всего осуществлять через делитель напряжения.

Пример подключения JY-MCU
Код, который моргает диодом, подключенным к pin 13, при получении цифры 0 или 1.

 
int ledPin = 13;
int state = 0;
void setup() {
    pinMode(ledPin, OUTPUT);
    digitalWrite(ledPin, LOW);
    Serial.begin(9600);
}
void loop() {
    if(Serial.available()){
      state = Serial.read();
    }
    if (state == '0') {
        digitalWrite(ledPin, LOW);
        Serial.println("LED: off");
    }
    else if (state == '1') {
        digitalWrite(ledPin, HIGH);
        Serial.println("LED: on");
    }
}

Настройка модуля JY-MCU (HC-06)

Модуль JY-MCU позволяет поменять настройки по-умолчанию с помощью AT команд. Возможно указать новую скорость, имя и пароль для доступа.

Настройка модуля JY-MCU (HC-06)
Данный пример меняет имя модуля на ‘Merl1nSerial’, устанавливает скорость 57600 и пароль ‘0000’.

 
#define NAME "Merl1nSerial"
#define BLUETOOTH_SPEED 9600

#include <SoftwareSerial.h>

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

void setup()
{
  Serial.begin(9600);
  while (!Serial) {}
  Serial.println("Starting config");
  mySerial.begin(BLUETOOTH_SPEED);
  delay(1000);

  mySerial.print("AT");
  waitForResponse();

  mySerial.print("AT+VERSION");
  waitForResponse();

  mySerial.print("AT+PIN0000");
  waitForResponse();

  mySerial.print("AT+NAME");
  mySerial.print(NAME);
  waitForResponse();

  mySerial.print("AT+BAUD7");
  waitForResponse();

  Serial.println("Done!");
}

void waitForResponse() {
    delay(1000);
    while (mySerial.available()) {
      Serial.write(mySerial.read());
    }
    Serial.write("\n");
}

void loop() {}

В Port Monitor вы должны увидеть такой вывод, если он отличается — произошла ошибка.

Starting config
OK
OKlinvorV1.8
OKsetPIN
OKsetname
OK57600
Done!

Возможные значения для настройки скорости.

AT+BAUD1——-1200
AT+BAUD2——-2400
AT+BAUD3——-4800
AT+BAUD4——-9600
AT+BAUD5——19200
AT+BAUD6——38400
AT+BAUD7——57600
AT+BAUD8——115200
AT+BAUD9——230400
AT+BAUDA——460800
AT+BAUDB——921600
AT+BAUDC—-1382400

Warning: С настройкой скорости нужно быть очень осторожным, т.к. Arduino поддерживает строго определённые скорости:

2400 / 4800 / 9600 / 14400 / 19200 / 28800 / 38400 / 57600 / 76800 / 115200 / 230400 / 250000 / 500000 / 1000000 / 2000000.

Если указать для модуля JY-MCU скорость, которая не поддерживается Arduino, то подключиться и исправить получится только с компьютера через USB-Serial переходник.

В случает подозрения на неисправность модуля, проверить его просто:  достаточно замкнуть RXD на TXD и послать символ через Bluetooth терминал. Если модуль исправен, то символ будет возвращаться обратно.

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.