|

Piloter les Leds avec les boutons sur le shield HW-262 sur un Arduino Uno

Prérequis :

Version IDE :

  • Arduino IDE 2.3.5

Vidéo de démonstration :

Schéma de câblage :

Code :

// La broche numérique 10 est reliée à la led 1. On lui donne le nom led1.
int led1 = 10;
// Etc ...
int led2 = 11;
int led3 = 12;

// La broche A1 est reliée au Bouton1. On lui donne le nom Bouton1.
int Bouton1 = A1;
//Etc...
int Bouton2 = A2;
int Bouton3 = A3;

// Déclaration variable EtatBouton1 qui va servir à stocker une valeur au format bool soit LOW ou HIGH.
bool EtatBouton1;
//Etc...
bool EtatBouton2;
bool EtatBouton3;

void setup() {

  Serial.begin(9600);
  // Faire de la broche du Bouton1 une entrée.
  pinMode(Bouton1, INPUT);
  // Etc ...
  pinMode(Bouton2, INPUT);
  pinMode(Bouton3, INPUT);

  // Définit led1 soit la broche numérique 10 comme sortie.
  pinMode(led1, OUTPUT);
  // Etc ...
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
}

void loop() {
  // Lit la broche d'entrée du Bouton1 et stock ça valeur dans EtatBouton1
  EtatBouton1 = digitalRead(Bouton1);
  // Si EtatBouton1 == HIGH
  if (EtatBouton1 == HIGH) {
    // Imprime "Led1Off" dans le moniteur série
    Serial.print("Led1Off  ");
    // Met la broche numérique stockée dans led1 sur faible
    // Eteint la LED1
    digitalWrite(led1, HIGH);
  }
  // Sinon
  else {
    // Imprime "Led1On" dans le serial monitor
    Serial.print("Led1On  ");
    // Met la broche numérique stockée dans led1 sur haut
    // Allume la LED1
    digitalWrite(led1, LOW);
  }

  // Etc ...
  EtatBouton2 = digitalRead(Bouton2);
  if (EtatBouton2 == HIGH) {
    Serial.print("Led2Off  ");
    digitalWrite(led2, HIGH);
  } else {
    Serial.print("Led2On  ");
    digitalWrite(led2, LOW);
  }

  EtatBouton3 = digitalRead(Bouton3);
  if (EtatBouton3 == HIGH) {
    Serial.println("Led3Off");
    digitalWrite(led3, HIGH);
  } else {
    Serial.println("Led3On");
    digitalWrite(led3, LOW);
  }


  // attend 1 millisecondes.
  delay(1);
}

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *