Conexión Bluetooth arduino a hc06 app inventor

Tengo el siguiente código de Arduino, lo voy a cortar solo pondré lo que me interesa.... Pero no he podido crear el archivo apk en app inventor ya que no manejo mucho la aplicación, necesito ayuda. Gracias

// ------------------ Bluetooth HC-06 ------------------
#define BT_RX 10   // Arduino RX ← HC-06 TX
#define BT_TX 11   // Arduino TX → HC-06 RX (con divisor 1k + 1k)

// ------------------ Estado ------------------
bool horariosHabilitados = true;
volatile bool enToque = false;

// Tipo de sonido
int tipoTimbre = 1;  // 1=Clase, 2=Formación, 3=Reunión

// Selección de horario por Bluetooth
int horarioActivo = 1; // 1=55, 2=50, 3=45

// Lectura de selector (solo usado para activar o no fines de semana)
int contacto4;

// ------------------ Relé ------------------
void timbreON()  { digitalWrite(timbre, LOW); }
void timbreOFF() { digitalWrite(timbre, HIGH); }

// ------------------ Nombre en LCD ------------------
String nombreTipo(){
  switch(tipoTimbre){
    case 1: return "Clase";
    case 2: return "Formac";
    case 3: return "Reunion";
  }
  return "Clase";
}

// ------------------ Timbres ------------------
void ringNTimes(int n, int onMs, int offMs){
  for(int i=0; i<n; i++){
    timbreON(); delay(onMs);
    timbreOFF(); if(i<n-1) delay(offMs);
  }
}

void ringTipo(int tipo){
  switch(tipo){
    case 1: ringNTimes(1, tiempo_timbre, 400); break; // Clase
    case 2: ringNTimes(2, 2000, 800); break;          // Formación
    case 3: ringNTimes(3, 1000, 500); break;          // Reunión
  }
}

void ringEmergencia(int n){
  if(n<5) n=5;
  ringNTimes(n, 700, 300);
}

void activar_timbre(){
  ringTipo(tipoTimbre);
}

// ------------------ HORARIO 1 (55 minutos) ------------------
int h1_c1=7; int m1_c1=00; int s1_c1=0;
int h2_c1=7; int m2_c1=55; int s2_c1=0;
int h3_c1=8; int m3_c1=50; int s3_c1=0;
// ------------------ HORARIO 2 (57 minutos)de 7:30 ------------------
int h1_c2=7; int m1_c2=30; int s1_c2=0;
int h2_c2=8; int m2_c2=25; int s2_c2=0;
int h3_c2=9; int m3_c2=20; int s3_c2=0;
// ------------------ HORARIO 3 (45 minutos) ------------------
int h1_c3=7; int m1_c3=30; int s1_c3=0;
int h2_c3=8; int m2_c3=15; int s2_c3=0;
int h3_c3=9; int m3_c3=00; int s3_c3=0;
// ------------------ SETUP ------------------
void setup(){
  pinMode(timbre, OUTPUT);
  timbreOFF(); // Arrancar apagado

  Wire.begin();
  RTC.begin();

  Serial.begin(9600);
  BT.begin(9600);

  lcd.init();
  lcd.backlight();
  lcd.clear();
  lcd.print("Timbre Escolar");
  delay(1000);
  lcd.clear();
}

// ------------------ DIA SEMANA ------------------
int dia_de_semana(){
  int tablaMes[]={0,3,3,6,1,4,6,2,5,0,3,5};
  DateTime now = RTC.now();
  int n=(now.day()+tablaMes[now.month()-1]+(now.year()-2000)+((now.year()-2000)/4)+6)%7;
  lcd.setCursor(13,1);
  const char* d[]={"Dom","Lun","Mar","Mie","Jue","Vie","Sab"};
  lcd.print(d[n]);
  return n;
}

// ------------------ HORARIOS ------------------
void horario_1(){ if(hora==h1_c1 && minuto==m1_c1 && segundo==s1_c1) activar_timbre();
if(hora==h2_c1 && minuto==m2_c1 && segundo==s2_c1) activar_timbre();

void horario_2(){ if(hora==h1_c2 && minuto==m1_c2 && segundo==s1_c2) activar_timbre();
if(hora==h2_c2 && minuto==m2_c2 && segundo==s2_c2) activar_timbre();

void horario_3(){ if(hora==h1_c3 && minuto==m1_c3 && segundo==s1_c3) activar_timbre();
if(hora==h2_c3 && minuto==m2_c3 && segundo==s2_c3) activar_timbre();
if(hora==h3_c3 && minuto==m3_c3 && segundo==s3_c3) activar_timbre();
if(hora==h4_c3 && minuto==m4_c3 && segundo==s4_c3) activar_timbre();
// ------------------ Bluetooth ------------------
void procesarComando(String cmd){
  cmd.trim();
  cmd.toUpperCase();

  if(cmd=="T1"){ tipoTimbre=1; BT.println("Timbre CLASE"); return; }
  if(cmd=="T2"){ tipoTimbre=2; BT.println("Timbre FORMACION"); return; }
  if(cmd=="T3"){ tipoTimbre=3; BT.println("Timbre REUNION"); return; }

  if(cmd=="MAN"){ enToque=true; ringTipo(tipoTimbre); enToque=false; return; }
  if(cmd=="F"){   enToque=true; ringTipo(2); enToque=false; return; }
  if(cmd=="R"){   enToque=true; ringTipo(3); enToque=false; return; }

  if(cmd.startsWith("E")){
    int n = cmd.substring(1).toInt();
    ringEmergencia(n);
    return;
  }

  if(cmd=="H1"){ horarioActivo=1; BT.println("Horario 55min desde 7"); return; }
  if(cmd=="H2"){ horarioActivo=2; BT.println("Horario 55min desde 7:30"); return; }
  if(cmd=="H3"){ horarioActivo=3; BT.println("Horario 45min desde 7:30"); return; }
}

// ------------------ LOOP ------------------
void loop(){
  DateTime now = RTC.now();

  segundo = now.second();
  minuto  = now.minute();
  hora    = now.hour();

  contacto4 = analogRead(A3);

  lcd.setCursor(0,0);
  lcd.print("T:");
  if(hora<10) lcd.print('0'); lcd.print(hora); lcd.print(':');
  if(minuto<10) lcd.print('0'); lcd.print(minuto); lcd.print(':');
  if(segundo<10) lcd.print('0'); lcd.print(segundo);

  lcd.setCursor(0,1);
  lcd.print("Tipo:");
  lcd.print(nombreTipo());
  lcd.print(" H");
  lcd.print(horarioActivo);

  r_diaSemana = dia_de_semana();

  static String buffer="";
  while(BT.available()){
    char c = BT.read();
    if(c=='\n'){ procesarComando(buffer); buffer=""; }
    else buffer+=c;
  }

  if(horariosHabilitados){
    if(!( (r_diaSemana==6 || r_diaSemana==0) && (contacto4 <= 1000) )){
      if(horarioActivo==1) horario_1();
      if(horarioActivo==2) horario_2();
      if(horarioActivo==3) horario_3();
    }
  }

  timbreOFF();
  delay(200);
}

(Canned Reply: ABG- Export & Upload .aia)
Export your .aia file and upload it here.

export_and_upload_aia

.