Haciendo un bosquejo de eco usando SoftwareSerial y Bluetooth

2

Para probar mi Arduino UNO + Sparkfun Bluetooth Mate Gold, he escrito este pequeño boceto;

#include <SoftwareSerial.h> 

SoftwareSerial softwareSerial(8, 9);

void setup() {
  softwareSerial.begin(115200);
  softwareSerial.println("Bluetooth Ready.");
  softwareSerial.println("Waiting...");

 delay(1000);
}

void loop() {
  int readByte;

  int bytes[10];

  int i = 0;
  boolean readSomething = false;

  softwareSerial.listen();

  long l = millis();
  while (millis() - l < 1000) {
    while (softwareSerial.available() > 0) {
      readByte = softwareSerial.read();
      bytes[i] = readByte;
      i++;

      readSomething = true;
    }
  }

  if (readSomething == true) {
    delay(20);
    readSomething = false;
    for (int c = 0; c < i; c++) {
      softwareSerial.print(bytes[c]);
      softwareSerial.println(" ");
      bytes[c] = 0;
    }

    i = 0;
  } 
}

Ahora me conectaré a través de bluetooth a través de un terminal y enviaré una cadena a Arduino, que se escribirá de vuelta.

Si envío una cadena de '11111' por ejemplo, me gustaría que me devolviera algo coherente. ¡El problema es que obtengo algo que no es coherente!

    
pregunta Mr Danois

1 respuesta

2

si su problema solo está en los caracteres que recibe, solo use char [] array en lugar de int, por ejemplo,

char bytes [10];

Ahora recibirás los mismos datos de vuelta.

Esperemos que resuelva tu problema

    
respondido por el serge

Lea otras preguntas en las etiquetas