Связь между двумя модулями Bluetooth

Я успешно подключил два модуля Bluetooth, HC-05 и HC-06, как на этом сайте:

http://www.martyncurrey.com/connecting-2-arduinos-by-bluetooth-using-a-hc-05-and-a-hc-06-pair-bind-and-link/

У меня есть Arduino Nano, которая является ведомым устройством (HC-06), и Arduino Mega, которая является ведущим устройством (HC-05), и вот код для них обоих:

Приёмник - Мастер

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX | TX
String Data = "";
void setup() {
    Serial.begin(9600);
    mySerial.begin(9600);  
}

void loop(){
    while (mySerial.available()){
        Serial.println(mySerial.read())  
    }
}

Отправитель - Подчиненный

#include <SoftwareSerial.h>
SoftwareSerial BTserial(11, 10); // RX | TX

int c = 100;

void setup() {
Serial.begin(9600);
BTserial.begin(9600);  
}

void loop(){
     BTserial.println(c);
}

Я попробовал

BTserial.write(c) 

И тоже не работает. Я получаю числа вроде 245 255. А когда я меняю отправляемые данные, числа меняются, поэтому я знаю, что они взаимодействуют. Думаю, это переменная проблема. Я перепробовал кучу интернет-кодов, которые якобы работают, но, похоже, в этом случае они не работают.

, 👍0


1 ответ


1

println выводит переменную c типа int как строку "100" с /r/n в конце. Функция read считывает её как байты и выводит байты как числа с символом новой строки в конце. Таким образом, получаются значения ASCII: 1, 0, 0, \r и \n.

используйте write() для записи байта в Bluetooth и на последовательный монитор

,