Якщо ви хочете налаштувати Bluetooth-модуль HC-05 у режимі slave або master та об’єднати дві плати Arduino для бездротового зв’язку, ця інструкція стане для вас надійним помічником. У статті ми детально розглянемо, як використовувати AT-команди для конфігурації модуля, а також створимо скетчі для успішного підключення двох Arduino через Bluetooth.
Bluetooth-модуль HC-05 дозволяє легко організувати бездротовий зв’язок між різними пристроями, такими як плати Arduino. Для конфігурації модуль використовує AT-команди, які допомагають налаштувати його на роботу у режимі slave (ведений) або master (ведучий). У цій інструкції описано, як правильно налаштувати модуль, використовуючи Arduino, та як підключити його для передачі даних.
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);}
}
}
Після завантаження скетч зберіть все, як показано на цій схемі.
Якщо все правильно, то підключаємо живлення та перевіряємо натисканням кнопки.
Посилання на відеоінструкцію: https://www.youtube.com/watch?v=epVPtNbDeRE&ab_channel=MasterKolotushkinArduino