Для настройки Bluetooth модулей HC-05 загрузите этот скетч на плату.
//Начало скетча
//Начало скетча
#include <SoftwareSerial.h>
// имя пароль скорость CMODE получить адрес записать адрес роль
//запрос AT+NAME? AT+PSWD? AT+UART? AT+CMODE? AT+ADDR? AT+BIND? AT+ROLE?
//вариант ответа +NAME:SLAVE +PIN:"1234" +UART:9600,0,0 +CMODE:1 AT+BIND=18,E4,400006 +ROLE:0
//--------------------------------------------------------------------------------------------------------------------------------------------------
//какие установить (более подробно смотрите видео которое внизу статьи)
//для слейва | AT+NAME=SLAVE AT+PSWD="1234" AT+UART=9600,0,0 AT+CMODE=1 +ADDR:18:E4:400006 AT+ROLE=0
//для мастера | AT+NAME=MASTER AT+PSWD="1234" AT+UART=9600,0,0 AT+CMODE=0 AT+BIND=18,E4,400006 AT+ROLE=1
//сброс настроек AT+ORGL это для крайнего случая, если что то напутали с настройками, и не можете найти как исправить
const int arduino_rx = 5;
const int arduino_tx = 6;
SoftwareSerial mySerial (arduino_rx, arduino_tx);
void setup() {
pinMode( arduino_rx,INPUT); pinMode( arduino_tx,OUTPUT);
Serial.begin(9600); //в мониторе порта выбрать NL&CR, скорость Arduino с компьютером 9600
mySerial.begin(38400); //по умолчанию скорость Bluetooth модуля с Arduino в режиме AT команд 38400 иногда 9600
Serial.println( "<<< Start! >>>");
mySerial.println("AT");
}
void loop() {
if (mySerial.available()) {
char c = mySerial.read(); // читаем из программного Serial-порта
Serial.print(c); } // пишем в штатный Serial-порт
if (Serial.available()) {
char c = Serial.read(); // читаем из штатного Serial-порта
mySerial.write(c); } // пишем в программный Serial-порт
}
//конец скетча
После загрузки скетча соберите все, как показано на этой схеме.
И следуйте инструкциям на видео, которое я оставил в конце этой статьи.
Ниже представлены два скетча для взаимодействия двух плат 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);}
}
}
После загрузки скетчей соберите все, как показано на этой схеме.
Если все верно, то подключаем питание и проверяем нажатием кнопки.
Более подробно, смотрите видео, которое ниже.
Подробное видео по настройке Bluetooth модуля HC-05 при помощи AT команд.