Mandar variables de App Inventor 2 a Arduino UNO por bluetooth (hc-06)

Hola, compre un arduino con un hc-06 y unas luces neopixel ws2812b, ya logre encender y apagar luces con el celular, pero no consigo mandar variables desde el celu para poder elegir que luces prender, de que color, con que intencidad, ETC.

#include <Adafruit_NeoPixel.h>
#include <avr/power.h>

//Designamos nuestro pin de datos
#define PIN 6
//Designamos cuantos pixeles tenemos en nuestra cinta led RGB
#define NUMPIXELS      16

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

char val;

void setup() {
// Inicializamos nuestra cinta led RGB
  pixels.begin(); 
Serial.begin(9600); // Aqui establecemos la velocidad 
}
                                                                                                                                  
void loop() {
                                                                                                                                  
//Definir Colores desde 0,0,0 hasta 255,255,255
   uint32_t rojo = pixels.Color(255,0,0);
   uint32_t verde = pixels.Color(0,255,0);
   uint32_t azul = pixels.Color(0,0,255);
   uint32_t xd = pixels.Color(100,120,200);
   uint32_t off = pixels.Color(0,0,0);

if( Serial.available() ) {
val = Serial.read();

if( val == '0' )
{ 
for( int i = 0; i<16; i++){pixels.setPixelColor(i, off);}
for( int i = 0; i<2; i++){pixels.setPixelColor(i, rojo);}
for( int i = 4; i<6; i++){pixels.setPixelColor(i, rojo);}
for( int i = 8; i<10; i++){pixels.setPixelColor(i, rojo);}
for( int i = 12; i<14; i++){pixels.setPixelColor(i, rojo);}
}
if( val == '1' )
{ 
for( int i = 0; i<16; i++){pixels.setPixelColor(i, off);}
for( int i = 2; i<4; i++){pixels.setPixelColor(i, xd);}
for( int i = 6; i<8; i++){pixels.setPixelColor(i, xd);}
for( int i = 10; i<12; i++){pixels.setPixelColor(i, xd);}
for( int i = 14; i<16; i++){pixels.setPixelColor(i, xd);}
}
pixels.show();}
}

Esto es lo que tengo hasta ahora, como verán es u código muy básico pero funciona para lo que necesito, solo me faltan las variables para poder controlar algunos parámetros de las luces con el celular


Ese es el codigo de App Inventor 2, mando un 1 o un 0 para cambiar de un color a otro, pero nesecito las variables para automatizar esto xd

Gracias de antemano, cualquier duda o ayuda es bien recibida :slight_smile:

https://drive.google.com/open?id=1nfU24yruM9sZ8Msi_9mzTfdFob-6YM8y
Archivo .aia

Cuando enviás un "1" desde app Inventor 2 por Bluetooth, al leerlo en el Arduino no estás recibiendo ese 1, sino su equivalente en ASCII que sería 49 y cuando mandás un "0" recibís 48. Fijate de poner

if( val == 48 )

en lugar de

if( val == '0' )

Ahí debería funcionar. Con el mismo criterio si enviaras desde app inventor por ejemplo el caracter + recibirías por bluetooth su equivalente en ASCII 43.