Go Down

Topic: Faire varier l'allumage des leds grâce à un potentiomètre et un bouton poussoir (Read 1 time) previous topic - next topic

Zadouc

Bonsoir,

Je dois réaliser le programme d'un blink challenge avec 5 led en alternant 4 modes:
- led éteintes
- led allumées
- led clignotantes (période de 1s)
- led fonctionnant en chenillard (période de 1s)
On souhaite pouvoir faire varier la période des modes 3 et 4 entre 0.05s et 5s à l'aide d'un potentiomètre.

Voici le programme que j'ai pour l'instant réalisé:
//compteur de boucles
int compteur =0;

byte led;
byte broche;

void setup()
{
  for (broche = 8; broche <= 13; broche++)
  {
    pinMode(broche,OUTPUT);
  }
}

void loop()
{
//1ére animation, effet escargot avec inversion
//reproduire 4 fois le cycle suivant

  for (compteur =1 ; compteur <= 3 ; compteur++)
  {
// allumer chaque led et l'éteindre sur une cadence de 50 milliseconde
// Escargot de l'extérieur vers l'intérieur

    for (led = 8 ; led <= 13 ; led++)
    {
      digitalWrite(led,HIGH);
      delay(100);
      digitalWrite(led,LOW);
      delay(100);
    }

// allumer chaque led et l'éteindre sur une cadence de 50 milliseconde
// Escargot de l'intérieur vers l'extérieur
// la led 10 n'est pas rallumé puisqu'elle fais partie de la boucle précédente

    for (led = 12 ; led >= 8 ; led--)
    {
      digitalWrite(led,HIGH);
      delay(100);
      digitalWrite(led,LOW);
      delay(100);
    }
  }

//reproduire 10 fois le cycle suivant
//2éme animation,clignotement de toutes les LEDS

  for(compteur = 1 ; compteur <= 5 ; compteur++)
  {
    for (led = 13 ; led >= 8 ; led--)
    {
      digitalWrite(led,HIGH);
    }
    delay(100);

    for (led = 13 ; led >= 8 ; led--)
    {
      digitalWrite(led,LOW);
    }
    delay(100);
  }
}


J'aimerais que vous m'aidez afin de rajouter le potentiomètre (relié à A0) et le bouton poussoir (relié à D7) à partir de la fonction milis.

Cordialement


Go Up