rilevatore tempi manovra interruttore

Ciao a tutti sto provando a costruire un tester per tempi per interruttori di media tensione in pratica dovrei misurare il tempo che intercorre tra il fronte di salita del comando e il fronte di salita dell indicatore di posizione sia in apertura che in chiusura(sarebbe piu preciso sui contatti di potenza ma non servirebbe allo scopo di essere un apparecchio adatto a testare interruttori in servizio) lo sketch sembrava poter eseguire quanto detto per tempi molto maggiori dei 50/70 ms che sono tipici di queste apparecchiature , qualcuno potrebbe darmi una spintarella nella giusta direzione?L'uso degli interrupt potrebbe fare al caso mio?
Grazie.

int stato;
int tch;
int tAP;

const int PREMUTO = 1;
const int RILASCIATO = 0;
const int ON = HIGH;
const int OFF = LOW;

long t0;
long t;

void setup() {
  Serial.begin(9600);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(7, INPUT);
  pinMode(8, INPUT);
  
  stato = RILASCIATO;
  tch = OFF;
}

void loop(){
  int pAP= digitalRead(3);
  int pCH = digitalRead(4);
  int _52AP = digitalRead(7);
  int _52CH = digitalRead(8);  
  if ((tch == OFF) && (pCH == HIGH) &&(_52AP == HIGH)) {
    tch = ON;
    t0 = millis();
    Serial.println("TCH");
  }
  
  if ((tch == ON) && (_52CH == HIGH)) {
    tch = OFF;
    t = millis() - t0;
    
    Serial.println(t);
 
  
  }
  if ((tAP == OFF) && (pAP == HIGH)&& (_52CH ==HIGH)) {
    tAP = ON;
    t0 = millis();
    Serial.println("TAP");
  }
  
  if ((tAP == ON) && (_52AP == HIGH)) {
    tAP = OFF;
    t = millis() - t0;
    
    Serial.println(t);
 
  
  }

zagnimarco1790:
Ciao a tutti sto provando a costruire un tester per tempi per interruttori di media tensione in pratica ...

Ciao,
se leggi bene il REGOLAMENTO, ed in particolare il punto 15 e suoi sottopunti, ti accorgi che NON sono ammesse discussioni di qualsiasi cosa che opera oltre la "bassissima tensione".

Essendo il tuo discorso relativo a cose operanti in "media tensione" debbo purtroppo chiudere il thread. :confused:

Guglielmo