Transducteur > Exemple d'un bouton qui allume une DEL pour un certain temps
<< | Transducteur | >>
/* Each time the button is pressed the DEL turns on for 5 seconds. Often, you don't need to know the state of a digital input all the time, but you just need to know when the input changes from one state to another. For example, you want to know when a button goes from OFF to ON. This is called state change detection, or edge detection. Circuit ============= Pin 7: switch with external pull-up Pin 3: LED */ int etatInterrupteurPrecedent; unsigned long timeStamp; void setup() { // Configuration de la broche 7 en tant qu'entree numerique pinMode(7,INPUT); // Configuration de la broche 3 en tant que sortie numerique pinMode(3,OUTPUT); } void loop() { // Lire l'etat de la broche 7 int etatInterrupteur = digitalRead(7); // Detecter un changement d'etat de l'interrupteur if ( etatInterrupteurPrecedent != etatInterrupteur ) { etatInterrupteurPrecedent = etatInterrupteur; // Est-ce que l'interrupteur est appuye (etat LOW) if ( etatInterrupteur == LOW ) { timeStamp = millis(); } } // Est-ce qu'il s'est ecoule moins de 5 secondes depuis le dernier timeStamp? if ( millis() - timeStamp < 5000 ) { // Allumer la DEL digitalWrite(3,HIGH); } else { // Eteindre la DEL digitalWrite(3,LOW); } }