Использование модуля Bluetooth HC-08 с arduino

У меня есть arduino mega 2560 и недавно приобретенный модуль HC-08, и соединение выглядит следующим образом:

Arduino | HC-08

VCC - VCC

GND - GND

14TX3 - TXD

15TX3 - RXD

Когда я включаю arduino, он показывает этот мигающий свет, и я могу видеть его на своем телефоне Android, но только отклоняю соединение каждый раз, когда пытаюсь выполнить сопряжение. Кроме того, я вообще не могу отправлять или получать от него какие-либо данные, вот мой код:

#include <SoftwareSerial.h>

SoftwareSerial hc08(15,14) // RX pin, TX pin;

void setup(){
  //Инициализация последовательного монитора
  Serial.begin(9600);
  Serial.println("ENTER AT Commands:");
  //Инициализация последовательного порта Bluetooth
  hc08.begin(9600);
}

void loop(){
  //Запись данных с HC08 на последовательный монитор
  if (hc08.available()){
    Serial.println("Reading from bluetooth");
    Serial.write(hc08.read());
  }
  
  //Запись с последовательного монитора на HC08
  if (Serial.available()){
    Serial.println("Writing to bluetooth");
    hc08.write(Serial.read());
  }  
}

Я был бы очень признателен за помощь в том, как заставить его работать.

, 👍1

Обсуждение

Не используйте SoftwareSerial, когда вы используете аппаратные последовательные контакты. Для TX3 / RX3 используйте Serial3. На самом деле, на 2560 не используйте SoftwareSerial вообще - есть только определенные выбранные контакты, на которых он будет работать., @Majenko

Не могли бы вы прислать ссылку на любую документацию по этому вопросу, чтобы я мог видеть, как использовать Serial3, @Wool

Теперь я увидел, что могу просто использовать Serial1, 2 или 3 точно так же, как я бы использовал Serial. Спасибо, @Wool

Но все еще существует проблема с отклонением спаривания., @Wool

Но теперь вы должны иметь возможность видеть и управлять HC-08 через Arduino, чтобы настроить сопряжение - однако это делается на этой плате (я никогда ее не использовал)., @Majenko


2 ответа


1
void setup(){
  //Инициализация последовательного монитора
  Serial.begin(9600);
  Serial.println("ENTER AT Commands:");
  //Инициализация последовательного порта Bluetooth
  Serial3.begin(9600);
}

void loop(){
  //Запись данных с HC08 на последовательный монитор
  if (Serial3.available()){
    Serial.println("Reading from bluetooth");
    Serial.write(Serial3.read());
  }
  
  //Запись с последовательного монитора на HC08
  if (Serial.available()){
    Serial.println("Writing to bluetooth");
    Serial3.write(Serial.read());
  }  
}
,

КРОМЕ того: HC-08 использует BLE, в отличие от HC-05 и HC-06, и поэтому не будет точно подключаться через системные настройки Bluetooth телефона., @Wool


1

Я думаю, что это проблема с настройкой оборудования. Так и должно быть: Arduino | HC-08

VCC - VCC

GND - GND

14RX3 - TXD

15TX3 - RXD

Объявление переменной: SoftwareSerial hc08(14,15) // RX pin, TX pin;

,