ho aggiunto la riga all'inizio e alla fine de loop e messa ache in altri 2 posti
4 voltein totoale
ma se apro il serial monitor e scrivo numeri e faccio invio questi passano lo stesso
[codelong vet[6] = {
-2, -2, -2, -2, -2, -2 };
byte segnale=1;
long cont = 0;
long x = 0;
char a;
void setup()
{
pinMode (11, INPUT);
pinMode (12, OUTPUT);
pinMode (13, OUTPUT);
digitalWrite (13, HIGH);
Serial.begin(9600);
}
void loop()
{
while (Serial.available() > 0) a=Serial.read();
if ( digitalRead (11)==LOW) segnale=1, digitalWrite (13, HIGH);
if (segnale == 1 && digitalRead (11)==HIGH)
while (Serial.available() > 0)
{
vet[cont] = Serial.read()-48;
cont++;
delay(60);
}
if(cont > 0)
{
cont = 0;
if (vet[5] == -2 && vet[4] == -2 && vet[3] == -2 && vet[2] == -2 && vet[1] == -2 )
{
x = vet[0];
}
else
if (vet[5] == -2 && vet[4] == -2 && vet[3] == -2 && vet[2] == -2 ) //
{
x = (vet[0]* 10 + vet[1] );
}
else
if ( vet[5] == -2 && vet[4] == -2 && vet[3] == -2 ) //
{
x = (vet[0] * 100 + vet[1]* 10+ vet[2]);
}
else
if (vet[5] == -2 && vet[4] == -2 )
{
x = (vet[0] * 1000 + vet[1] * 100 + vet[2]* 10 + vet[3]);
}
else
if (vet[5] == -2 )
{
x = (vet[0] * 10000 + vet[1] * 1000 + vet[2]* 100 + vet[3]* 10 + vet[4]);
}
while (Serial.available() > 0) a=Serial.read();
Serial.println(x);
while (Serial.available() > 0) a=Serial.read();
}
while (Serial.available() > 0) a=Serial.read();
}
]