Bluetooth en Arduino Mega

Buenas, estoy montándome un pequeño coche teledirigido; aunque finalmente lo intentaré controlar por WIFI por cacharrear quiero también controlarlo por Bluetooth.

Para ello tengo una Arduino Mega y un modulo HC-06. Pero a pesar de haber cargado decenas de códigos para cambiar password, nombre, o simplemente encender leds para ver si funciona no consigo hacerlo funcionar.

Desde el móvil me conecto introduciendo la password 1234. Pero el led no se queda fijo; eso si, cambia la velocidad de intermitencia. Después intento enviar datos y no hace caso.

Me da la sensación que al modulo no le pasa nada el problema está en la comunicación con Arduino; he probado con ponerlo en diferentes PIN pero no consigo nada.

¿Hay algún procedimiento especial para Arduino Mega? Porque todos los tutoriales que veo son para UNO.

Gracias por leerlo.

Ya he conseguido interactuar con el modulo de bluetooth y mi arduino mega.

He usado el serial1 sin la librería SoftwareSerial y he conseguido cambiar la velocidad a 115200.

Ya estoy haciendo una app con appinventor y consigo conectarme e incluso he hecho el típico ejemplo de enviar un numero y que se encienda o apague un led.

Pero para mi proyecto necesito enviar un “churro” de datos; La estoy montando con esta nomenclatura:

<nnn;nnn;nnn;nnn\n>

Tengo diferentes valores y hago un join que envío por bluetooth como texto.

Cuando leo en Arduino y visualizo en la consola solo salen mogollon de números.

Mi idea es tratar el “churro” y asignar cada valor a una variable para posteriormente usarlo en Arduino.

¿Alguien me puede guiar cuanto menos con algún link fiable? Llevo dos días haciendo ejemplos que no funciona ninguno.

He usado esta funcion:

String getValue(String data, char separator, int index)
  {
     int found = 0;
     int strIndex[] = {0, -1};
     int maxIndex = data.length()-1;

     for(int i=0; i<=maxIndex && found<=index; i++){
        if(data.charAt(i)==separator || i==maxIndex){
          found++;
          strIndex[0] = strIndex[1]+1;
         strIndex[1] = (i == maxIndex) ? i+1 : i;
        }
    }
   return found>index ? data.substring(strIndex[0], strIndex[1]) : "";

}

y en el loop:

  String campo1 = getValue(message,';',0);
  String campo2 = getValue(message,';',1);
  String campo3 = getValue(message,';',2);

Para pasarlo a entero estoy usando:

int campo1int = campo1.toInt();