Як налаштувати Bluetooth-модуль HC-05 та об’єднати дві Arduino через Bluetooth

27.01.2025 2 хвилин Автор: Lady Liberty

Якщо ви хочете налаштувати Bluetooth-модуль HC-05 у режимі slave або master та об’єднати дві плати Arduino для бездротового зв’язку, ця інструкція стане для вас надійним помічником. У статті ми детально розглянемо, як використовувати AT-команди для конфігурації модуля, а також створимо скетчі для успішного підключення двох Arduino через Bluetooth.

Для налаштування Bluetooth модулів HC-05 завантажте цей скетч на плату

Bluetooth-модуль HC-05 дозволяє легко організувати бездротовий зв’язок між різними пристроями, такими як плати Arduino. Для конфігурації модуль використовує AT-команди, які допомагають налаштувати його на роботу у режимі slave (ведений) або master (ведучий). У цій інструкції описано, як правильно налаштувати модуль, використовуючи Arduino, та як підключити його для передачі даних.

Основні AT-команди:

  • AT+NAME? — дізнатися поточне ім’я модуля.

  • AT+PSWD? — дізнатися пароль з’єднання.

  • AT+UART? — перевірити налаштування швидкості передачі даних.

  • AT+CMODE? — дізнатися, як модуль шукає пристрої для підключення.

  • AT+ADDR? — отримати адресу модуля.

  • AT+ROLE? — дізнатися поточну роль (ведучий чи ведений).

Рекомендовані налаштування:

Для slave:

  • AT+NAME=SLAVE

  • AT+PSWD=”1234″

  • AT+UART=9600,0,0

  • AT+CMODE=1

  • AT+ROLE=0

Для master:

  • AT+NAME=MASTER

  • AT+PSWD=”1234″

  • AT+UART=9600,0,0

  • AT+CMODE=0

  • AT+BIND=<адреса_slave>

  • AT+ROLE=1

Скидання налаштувань:

Якщо ви зробили помилку під час налаштувань, використовуйте команду AT+ORGL, щоб повернути модуль до заводських параметрів.

//Початок скетчу

#include <SoftwareSerial.h>

const int arduino_rx = 5; // Пін RX для Arduino
const int arduino_tx = 6; // Пін TX для Arduino
SoftwareSerial mySerial(arduino_rx, arduino_tx);

void setup() {
  pinMode(arduino_rx, INPUT); 
  pinMode(arduino_tx, OUTPUT);

  Serial.begin(9600);        // Швидкість з’єднання Arduino з ПК
  mySerial.begin(38400);     // Швидкість Bluetooth модуля в режимі AT-команд
  Serial.println("<<< Початок роботи! >>>");
  mySerial.println("AT");    // Перевірка зв’язку з модулем
}

void loop() {
  if (mySerial.available()) {
    char c = mySerial.read();        // Читаємо дані з Bluetooth
    Serial.print(c);                 // Виводимо дані в монітор порту
  }
  if (Serial.available()) {
    char c = Serial.read();          // Читаємо дані з ПК
    mySerial.write(c);               // Передаємо їх Bluetooth модулю
  }
}

// Кінець скетча

Після завантаження скетчу зберіть усе, як показано на цій схемі.

І дотримуйтесь інструкцій на відео, яке ми залишили наприкінці цієї статті.

Нижче представлені два скетчі для взаємодії двох плат Arduino із застосуванням Bluetooth модулів HC-05. Скетч для плати Arduino Nano (з кнопкою)

//Початок скетчу

const int button = 2;
int button_state = 0;

void setup()  {
  pinMode( button,INPUT_PULLUP);
  Serial.begin(9600);  
}

void loop() {
  button_state = digitalRead(button);
  if (button_state == LOW){ Serial.print("1"); }      
  if (button_state == HIGH){ Serial.print("0"); }    
}

Скетч для плати Arduino Uno, яка включатиме світлодіод.

//Початок скетчу

const int led_Pin = 13;

void setup()  {
  pinMode( led_Pin,OUTPUT);
  Serial.begin(9600); 
}

void loop() {    
  if (Serial.available()) {
    char c = Serial.read(); 

if (c == '1'){ digitalWrite(led_Pin, HIGH);}
if (c == '0'){ digitalWrite(led_Pin, LOW);}
  }
}

Після завантаження скетч зберіть все, як показано на цій схемі.

Якщо все правильно, то підключаємо живлення та перевіряємо натисканням кнопки.

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.