calcolare il tempo trascorso tra impulsi


salve tutti prima di chiedere ho provato fare un mio codice
code: [select]

//variabili tempo
unsigned long ti=0; //tempo iniziale
unsigned long tf=0; //tempo finale
unsigned long tt=0; //delta tempo
void setup() {
 pinmode(13, output);
 pinmode(12, input);
 serial.begin(9600);
}
void loop() {
 //primo ciclo da quando si accende per definire il tempo del primo impulso
 if(ti==0){
   while(digitalread(12)!=high){
   }
   ti=millis();
   while(digitalread(12)!=low){
   }
 }
 //ciclo secondo
 while(digitalread(12)!=high){
 }
 tf=millis();
 tt=tf-ti;
 serial.print(tt);
 serial.print("  ");
 ti=tf;
 while(digitalread(12)!=low){
 }

}


praticamente ho un segnale che ogni tanto mi da un impulso che dura poco
quello che dovrei fare è contare il tempo che passa tra l'inizio di un impulso e l'inizio di uno nuovo che sarà poi sua volta l'inizio di un nuovo calcolo. appena finisce un ciclo cioè passano 2 impulsi mi deve stampare il tempo

in sostanza devo sapere il tempo tra impulso 1 e 2 poi tra 2 e 3 e via così
notare che tempi devo partire e finire tra gli inizi dei 2 impulsi no tra la fine del primo e l'inizio del 2

il mio codice non funziona lasciatelo proprio perdere che fa ridere, sapete come posso fare??

piccolo esempio per capirsi

ciao
hai guardato la funzione pulsein

stefano


Arduino Forum > International > Italiano > Generale (Moderator: leo72) > calcolare il tempo trascorso tra impulsi


arduino

Comments

Popular posts from this blog

Thread: PKI Client 5.00 install (for eToken Pro)

ATmega2560-Arduino Pin Mapping

Crossfader Arduino Tutorial