Ayuda con proyecto Arduino y Android

Hola gente. Necesito ayuda para un proyecto que estoy haciendo
Les comento un poco como es lo que necesito y en donde estoy parado
Yo hice una APP en Android que lo que hace es mandar un dato de texto para prender y apagar un ping del Arduino Uno
por Bluetooth.

Lo que mando es por ejemplo el texto "9on" o "9off" y con eso prendo y apago es puerto

Ahora bien lo que estoy necesitando hacer es enviar un número por ejemplo 5000 y que eso se guarde en una variable
en arduino hasta que yo la cambie enviando otro distinta.

El problema se divide en dos ahora
1 - Cuando mando el dato lo cual lo hace bien desde android llega pero no me lo permite poner en una variable como la que quiero para usar en un delay()
2 - Tengo que enviar desde mi formulario de android varios datos de esos al mismo tiempo y estos se tiene uqe tabular en distintas variables para usar en distintos delay() posterior mente

Pongo el una parte de codigo de prueba que estoy haciendo

String dato;
int verde=13;
int cuanto;

void setup()
{
  Serial.begin(9600);                        //Iniciamos comunicación serial
  //Salidas digitales 
  pinMode(verde, OUTPUT);
}

void loop()
{ 
  while (Serial.available()) { 
    delay(10);
     if (Serial.available() > 0) {
      char c = Serial.read();                //Cuando se recibe un dato, se guarda como carácter
      dato += c;                             //Cadena de caracteres formada por la suma de los datos recibidos 
     }
  }
 
 cuanto=3000;
 
 if (dato.length() > 0) {                   //Comprueba que la variable "dato" tenga al menos un caracter 
  Serial.println(dato);
  // inicio la llamada a los pines
   if(dato == "9on") { 
      digitalWrite(verde, HIGH);
      delay(cuanto);
      digitalWrite(verde, LOW);
    }
    if(dato == "9off") {
      digitalWrite(verde, LOW);
    }

      dato="";  //Declaramos la variable "vacía" para volver a guardar de nuevo caracteres y compararlos con cada uno de los casos
  }
}

En la variable "cuanto" puse un numero fijo pero es ahí donde quiero que se guarde el numero que paso por Bluetooth.
Incluso lo ideal sería que yo envie varios numeros a la vez ejemplo

Dato que paso: "a3000#b5000#c9000"

Lo que necesito que haga:
int a=3000;
int b=5000;
int c=9000;

Para despues usarlo así:
delay(a);
delay(b);
delay(c);

Espero alguien me pueda dar una mano con esto
Muchas gracias

lo que pasa es que estas leyendo texto, caracteres, y lo queres poner en un delay , que acepta
un entero.

debes convertir esto de un cadena de caracteres a un Entero.
fijate esto si ye funciona.

String readString="";
int n=0;
int led = 13;
    
int NumeroRecivido=0;

void setup() {
	Serial.begin(9600);
	   pinMode(led, OUTPUT);     
        digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW

	  }

void loop() {
      NumeroRecivido= ReadPort();
       if(NumeroRecivido==5000){
           digitalWrite(led, HIGH); 
       }   
	else{
	   digitalWrite(led, LOW); 
      }
      delay(100);
      
}
   
   
   int  ReadPort(){
    int index=0;
	  while (Serial.available()) {
	  
	    delay(10);
	   if (Serial.available() >0 ) {
	       char c = Serial.read();  //gets one byte from serial buffer
	       readString += c;
               index++; //makes the string readString
             }
              
	  }

	if (index >0) {   
    	 
    	     char carray[readString.length()+1];
             readString.toCharArray(carray, sizeof(carray));
             n = atof(carray); ////  N, DATA SEND
            readString="";
        
	}
           
         
   return n;
   
   
   }