Arduino > Exemple du clignotement d'une DEL contrôlé par un interrupteur ( sans delay() )

Contents (hide)

  1. 1. Circuit
  2. 2. Code

1.  Circuit

2.  Code

/*

Circuit
=============
Pin 7: switch with external pull-up
Pin 3: LED

*/

int ledPin = 3;
int ledState = LOW;

int buttonPin = 7;



unsigned long previousMillis;
unsigned long interval = 50;

void setup() {
        // Configuration de la broche buttonPin en tant qu'entree numerique
        pinMode(buttonPin,INPUT);

        // Configuration de la broche ledPin en tant que sortie numerique
        pinMode(ledPin,OUTPUT);

}


void loop() {

        // Lire l'etat de la broche buttonPin
        int etatInterrupteur = digitalRead(buttonPin);

        if ( etatInterrupteur == LOW ) {

                // Effectuer le clignotement de la DEL
                if ( millis() - previousMillis <= interval ) {
                        previousMillis = millis();

                        // Alterner ledState
                        if ( ledState == LOW ) {
                                ledState = HIGH;
                        } else {
                                ledState = LOW;
                        }

                        // Appliquer le nouveau ledState
                        digitalWrite(ledPin,ledState);
                }

        } else {
                // Eteindre la DEL
                digitalWrite(ledPin,LOW);

        }



}