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!