Aiuto con il contatore

Ciao ragazzi,

ho un problema con la variabile cont che non va oltre 10 , mi aiutate a capire il problema.

char buffer[20];
int ledinput1 = 2;
int ledinput2= 3;
int ledinput3 = 4;
int cont=0;
int starttime;
void setup()
{

Serial.begin(57600);
// Serial.println("Lettura");
pinMode(ledinput1,INPUT);
pinMode(ledinput2,INPUT);
pinMode(ledinput3,INPUT);
starttime=0;
}

void loop()

{
int input=int(analogRead(ledinput1));
int input1=int(analogRead(ledinput2));
int input2=int(analogRead(ledinput3));
int input3;
if((millis()-starttime) <=1000)
{
delay(1);
// Serial.print(" Leggiamo i valori del potenziometro: ");
// Serial.print("il valore di sens0 e': ");
// Serial.println(sens0);
input3=input1;
buffer[0] = (input / 1000) + '0'; input %= 1000;
buffer[1] = (input / 100) + '0'; input %= 100;
buffer[2] = (input / 10) + '0'; input %= 10;
buffer[3] = (input) + '0';
buffer[4]=',';
buffer[5] = (input1 / 1000) + '0'; input1 %= 1000;
buffer[6] = (input1 / 100) + '0'; input1 %= 100;
buffer[7] = (input1 / 10) + '0'; input1 %= 10;
buffer[8] = (input1) + '0';
buffer[9]=',';
buffer[10] = (input3 / 1000)+ '0' ; input3 %= 1000;
buffer[11] = (input3 / 100)+ '0' ; input3 %= 100;
buffer[12] = (input3 / 10)+ '0'; input3 %= 10;
buffer[13] = (input3)+ '0' ;
buffer[14]=',';
buffer[15] = (cont / 1000) + 48; cont %= 1000;
buffer[16] = (cont / 100) + 48; cont %= 100;
buffer[17] = (cont / 10) + 48; cont %= 10;
buffer[18] = (cont) + 48;

//Serial.println("L'array compilato e' : ");
Serial.println(buffer);

// Serial.print("L'array ad ogni ciclo e' : ");Serial.println(buffer);
//delay(1);

//Serial.print("Il valore di cont e' ");
//Serial.println(cont);
cont++;

}

}

Grazie a tutti

Donato

generalmente la funzione millis si usa in questo modo :

 if((millis()-starttime) > 1000){
starttime=millis();
.
.
}

e non come hai fatto tu!

Se poi vuoi che cont non vada oltre 10 basta che ci metti una condizione nel while:

 if((millis()-starttime) > 1000 && cont < 10)

ciao

Se non ho capito male il suo problema è che vorrebbe contare oltre il 10, ma quando cont=10 si blocca.

Ho guardato il programma, ma non trovo cosa possa essere...

Se provi a fare come ti ha cosigliato uccio, probabilmente riuscirai a risolvere il problema.

Aggiungo solo una cosa: quell'istruzione "delay(1)" è in più, non ti serve se già temporizzi il tuo programma con millis().