Skyduino:~#
Articles
arduino, programmation

[Arduino] Piloter deux led à un timing différent

Salut à tous !

On vient de me demander un truc tout bête mais fallait y penser ^^
Faire clignoter deux led avec un timing différent.

ça parait simple hein ^^ c’est le cas !

Ps: ce code peut être largement optimisé mais il était destiné à un débutant donc il est fait pour être le plus simple possible.
Je vous invite aussi à lire le topic complet qui m’as fait découvrir des RTOS arduino assez sympa.
http://arduino.cc/forum/index.php/topic,67616.0.html

const int ledPin1 =  11;
const int ledPin2 =  10;
const int buttonPin =  8;

int ledState1 = LOW; 
int ledState2 = LOW; 
long previousMillis1 = 0;
long previousMillis2 = 0;

long interval1 = 500; 
long interval2 = 1000; 

void setup() {
  pinMode(ledPin1, OUTPUT);    
  pinMode(ledPin2, OUTPUT);    
  pinMode(buttonPin, INPUT);      
}

void loop()
{
  unsigned long currentMillis = millis();

  if(currentMillis - previousMillis1 > interval1) {
    previousMillis1 = currentMillis;   

    if (ledState1 == LOW)
      ledState1 = HIGH;
    else
      ledState1 = LOW;

    digitalWrite(ledPin1, ledState1);
  }

  if((currentMillis - previousMillis2 > interval2) && digitalRead(buttonPin) == LOW) {
    previousMillis2 = currentMillis;   

    if (ledState2 == LOW)
      ledState2 = HIGH;
    else
      ledState2 = LOW;

    digitalWrite(ledPin2, ledState2);
  }
}
Publicités

Discussion

Pas encore de commentaire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.