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);
}
}