giovedì 29 novembre 2012

Antirimbalzo


# define TASTO1 7
# define LED1 8

int statoLed1 = HIGH;        
int StatoTasto1;             
int StatoTasto2 = LOW;   

long Tempo1 = 0;
long Tempo2 = 50;    

void setup() 
     { pinMode(TASTO1, INPUT);
       pinMode(LED1, OUTPUT); }

void loop() {
//--------- LETTURA TASTO 1 -------------- 
  int valoreTasto1 = digitalRead(TASTO1);
//-------- ANTIRIMBALZO-----------
  if (valoreTasto1 != StatoTasto2)
     {Tempo1 = millis();} 
  if ((millis() - Tempo1) > Tempo2)
      {StatoTasto1 = valoreTasto1;}
      StatoTasto2 = valoreTasto1;
//--------INIZIO ESECUZIONE ------------      
       digitalWrite(LED1, StatoTasto1);
     
//----------FINE ESECUZIONE--------       
       
     }



Lo sketch presente all'interno dell'IDE di Arduino
Esempi--> Digital---> Debounce.

Nessun commento:

Posta un commento