HC05 как настроить Bluetooth модуль в качестве slave или master и как объединить две Arduino по Bluetooth

Для настройки Bluetooth модулей HC-05 загрузите этот скетч на плату.


#include <SoftwareSerial.h>
//                  имя               пароль                  скорость           CMODE       получить адрес       записать адрес            роль
//как установить
//для слейва    | AT+NAME=SLAVE    +PIN:"jdye75jk4j"         AT+UART=9600,0,0     AT+CMODE=1   +ADDR:18:E4:400006                           AT+ROLE=0   
//для мастера   | AT+NAME=MASTER  AT+PSWD="jdye75jk4j"       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-порт
}




После загрузки скетча соберите все, как показано на этой схеме.

Схема подключения Bluetooth модуля к Arduino для настройки при помощи AT команд.

И следуйте инструкциям на видео, которое я оставил в конце этой статьи.


Ниже представлены два скетча для взаимодействия двух плат 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);}
  }
}




После загрузки скетчей соберите все, как показано на этой схеме.

Схема для объединения двух плат Arduino по Bluetooth .

Если все верно, то подключаем питание и проверяем нажатием кнопки. Более подробно, смотрите видео, которое ниже.



Подробное видео по настройке Bluetooth модуля HC-05 при помощи AT команд.


 HC05 как настроить Bluetooth модуль в качестве slave или master и как объединить две Arduino по Bluetooth.