Controllare/Impostare arduino da remoto tramite GSM shield o wifi

invece di usare tante variabili per memorizzare ho inserito un array

si può migliorare lo sketch? se si cosa dovrei usare?

perchè facendo il controllo con le if o switch...case le cose diventano un tantino lunghe

void loop()
{
//queste variabili saranno dichiarate all'inizio...messe qui solo per comodità
char TestoSMS;
int myArray[6]={
0,0,0,0,0,0 };
float OreRele1On = 0;
float OreOff = 0;
char car;

// Se ci sono SMS disponibili()
if (sms.available())
{
int conta = 0;

Serial.println("Messagio ricevuto da:");

// Prende il numero
sms.remoteNumber(senderNumber, 20);
Serial.println(senderNumber);

//Legge i bytes del messaggio e li scrive
while(TestoSMS=sms.read())//legge un carattere alla volta
{

Serial.print(TestoSMS);

car = TestoSMS;
car = car - 48; // trasforma il carattere carattere da ASCII a binario
myArray[conta] = car;

if( conta==7){

switch (TestoSMS) { // va ad assegnare il valore alla variabile selezionata
case 'R':
OreRele1On = (myArray[0]*1000) + (myArray[1]*100) + (myArray[2]*10) + myArray[3] + (myArray[4]*0.1) + (myArray[5]*0.01);
conta=0;
break;

case 'M':
OreOff = (myArray[0]*1000) + (myArray[1]*100) + (myArray[2]*10) + myArray[3] + (myArray[4]*0.1) + (myArray[5]*0.01);
conta=0;
break;

// continua con altri casi (circa 170)

}

}
conta++;

}

// Elimina i messaggi dalla memoria del modem.
Serial.println("Fine del Messaggio");
sms.flush();
Serial.println("Messaggio eliminato");

delay(1000);

}

}