Semaforo Complesso OK-Flip Flop Semplice ( e non ci salto fuori).

Intanto GRAZIE a TUTTIper la pazienza:

DOCSAVAGE innazitutto sto studiando e sto facendo tesoro di quello che mi avete insegnato, part dal principio che quando mi sino iscritto su questo url,avevo a malapena capito la differenza chedentro le parentesi tonde e quelle e graffe e grazie al vostro aiuto il mio ultimo schetch postato,me lo sono fatto quasi tutto da solo a memoria,ricontrollando tutto ed andando a copiare solo quando non ci saltavo fuori........ed io non sono jim e non credo nelle parabole.

gpb01 non ho capito ne cosa hai detto e neppure se era riferito a me......ti chiedo scusa.

Claudio_FF l'esempio sull'orologio è stato chiarissimo e mi ha fatto comprendere il millis ora ( se non ho studiato male, posso mettere vari orologi),ma non ora prima voglio capire in quanti modi posso utilizzarlo......non mi preoccupo neppure di azzerarlo per il momento....però grazie è stata un ottima spiegazione

PaoloP ti ringrazio nuovamente.....ho rifatto un nuovo schetch molto più corto riprovando piu volte con tentativi diversi,ma il problema persiste è sempre lo stesso con millis incremeta gli INT fino a 2 e poi torna 0 (incrementarlo a 3....NON CI PENSA PROPRIO).

Premesso che sto utillizzando tinkercad per fare gli schect commento solo i codici che mi danno problemi...i codici inutili sono solo per fare esperienza e per scrivere senza copiare:

int P1=0;
unsigned long T1= millis();
unsigned long T2= millis();
unsigned long startime;
int A=0;

void setup() {
 Serial.begin(9600);
 pinMode(2, OUTPUT);
 pinMode(3, INPUT);
 startime = millis();
}

void loop() {
 if(digitalRead(3))
 {
   while(digitalRead(3)){;}
 
  ++P1;++A;Serial.println(A);Serial.println(P1);}
 
 if(P1>=3){P1=0;}
 if(A>=2){A=0;}
 if(A==0){digitalWrite(2,LOW);Serial.println(A);Serial.println(P1);}
 if(A==1){digitalWrite(2,HIGH);Serial.println(A);Serial.println(P1);}
 if(P1==3)
 {
 Serial.println(A);
 if(startime>=T1+500){++A;}
   if(startime>=T2+1000){++A;}}                                           // qui incrementa solo fino a 2 a 3 NO
}

Lo schetc è corretto unico problema l'incremento,,,,poi se magari potessi vedere in serial monitor i dati incolonnati siù colonne diverse sarebbe meglio,ma non ci sono ancora arrivato.

Per il momento Grazie a tutti.