assegnare un valore ad una variabile tramite seriale.

Piccolo problema, allora quando inserisco i minuti tutto ok , se li prende tranquillamente fa la conversione e tutto ok....
appena inserisco le ore e i giorni la conversione non viene.
in pratica esempio sono : 01(giugno) 11:56
lui assegna a minuti 56
a ore 1156
e a giorni 11156...
:astonished:

#include"secTimer.h"
int i =0;
int secondi=0;
int minuti ;
int ore;
int giorni;
char minuti_char[2];
char ore_char[2];
char giorni_char[2];
secTimer mytimer;

void setup(){
    Serial.begin(9600);
    mytimer.startTimer();	
        
	    /*MINUTI*/
        Serial.println("insert minuti");
        while(1){
        if (Serial.available()){
          minuti_char[i]=Serial.read();
          if(minuti_char[i]==0x0D) break;
          i++;
          if(i>=2) break;
        } 
       }
       minuti_char[i]==0x00;
       minuti=atoi(minuti_char);
       Serial.print("minuti inseriti: ");
       Serial.println(minuti);
       
  /*ORE*/    
       i=0;
       Serial.println("insert ore");
        while(1){
        if (Serial.available()){
          ore_char[i]=Serial.read();
          if(ore_char[i]==0x0D) break;
          i++;
          if(i>=2) break;
        } 
       }
       ore_char[i]==0x00;
       ore=atoi(ore_char);
       Serial.print("ore inseriti: ");
       Serial.println(ore);
       
/*GIORNI*/
     
       i=0;
       Serial.println("insert giorni");
        while(1){
        if (Serial.available()){
          giorni_char[i]=Serial.read();
          if(giorni_char[i]==0x0D) break;
          i++;
          if(i>=2) break;
        } 
       }
       giorni_char[i]==0x00;
       giorni=atoi(giorni_char);
       Serial.print("giorni inseriti: ");
       Serial.println(giorni);
       
       

}

Primo non ho capito COSA esattamente tu digiti nel monitor seriale (... che sequenza di caratteri) secondo, sta a te verificare la correttezza degli inserimenti, i CR alla fine di ogni inserimento, la validità dei caratteri digitati (se ad esempio uno inserisce una cosa che non è un numero), ecc. ecc.

In pratica devi fare tutti i controlli possibili ed immaginabili per garantire che quello che andrai a convertire sia valido.

Io t'ho spiegato la strada ... ora ci devi lavorare ... XD

Guglielmo

ore_char*==0x00;[/quote]*
Quella sopra è una comparazione logica che messa li non sortisce alcun effetto e arduino dovrebbe mostrarti un warning.
Quella seguente invece è una assegnazioni di un valore ad un elemento di un array, che è proprio quello che penso tu voglia fare.
> ore_char*=0x00;[/quote]*
> Io uso sempre un solo array, chiamato buffer, tanto la stringa serve solo per il tempo di visualizzarla.
> Ciao.

maurotech l'ho corretto è funziona , ho capito che era un assegnazione, e non un confronto, ma perchè quando inserivo solo i minuti andava bene e per il resto no?