• Post category:Intermédiaire
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :mars 15, 2022
  • Temps de lecture :6 min de lecture

Créer un télérupteur avec Arduino piloter par plusieurs boutons

Niveau APPRENTISSAGE :   Intermédiaire

 

    Prérequis :

Matériel :

  • 1 x Carte Arduino
  • 3 x Boutons
  • 1 x Résistance 220 Ω
  • 1 x Led
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

// La broche numérique 3 est reliée au Bouton1. On lui donne le nom Bouton1.
int Bouton1 = 3;
// Etc...
int Bouton2 = 4;
int Bouton3 = 5;
// Déclaration variable EtatBouton1 qui va servir à stocker une valeur au format bool soit LOW ou HIGH.
bool EtatBouton1;
// Etc...
bool EtatBouton2;
bool EtatBouton3;
// Déclaration variable EtatBoutonAppuyer qui va servir à stocker une valeur au format bool soit LOW ou HIGH.
bool EtatBoutonAppuyer;
// La broche numérique 6 est reliée à la led rouge. On lui donne le nom Ledrouge.
int Ledrouge = 6;
// Déclaration variable EtatLedrouge qui va servir à stocker une valeur au format bool soit LOW ou HIGH.
bool EtatLedrouge;

void setup() {
// Faire de la broche du Bouton1 une entrée avec activation de la résistance de rappel interne de l'ARDUINO .
pinMode(Bouton1, INPUT_PULLUP);
// Etc...
pinMode(Bouton2, INPUT_PULLUP);
pinMode(Bouton3, INPUT_PULLUP);
// Définit Ledrouge soit la broche numérique 6 comme sortie.
pinMode(Ledrouge, OUTPUT);
}

void loop() {
// Lit la broche d'entrée du Bouton1 et stock ça valeur dans EtatBouton1
EtatBouton1 = digitalRead(Bouton1);
// Etc...
EtatBouton2 = digitalRead(Bouton2);
EtatBouton3 = digitalRead(Bouton3);
// Si EtatBouton1 == LOW ou EtatBouton2 == LOW ou EtatBouton3 == LOW et que EtatBoutonAppuyer == LOW
if ((EtatBouton1 == LOW || EtatBouton2 == LOW || EtatBouton3 == LOW ) && EtatBoutonAppuyer == LOW)
{
// Si EtatLedrouge = HIGH alors EtatLedrouge = LOW et inversement.
EtatLedrouge = !EtatLedrouge;
// La variable EtatBoutonAppuyer prend la valeur de HIGH
EtatBoutonAppuyer = HIGH;
// Met Ledrouge soit la broche numérique 6 sur HIGH ou LOW en fonction de la valeur de EtatLedrouge.
digitalWrite(Ledrouge, EtatLedrouge);
}
// Si EtatBouton1 == HIGH et EtatBouton2 == HIGH et EtatBouton3 == HIGH et que EtatBoutonAppuyer == HIGH
if (EtatBouton1 == HIGH && EtatBouton2 == HIGH && EtatBouton3 == HIGH && EtatBoutonAppuyer == HIGH)
{
// La variable EtatBoutonAppuyer prend la valeur de LOW.
EtatBoutonAppuyer = LOW;
}
// attend 1 milliseconde.
delay(1);
}

 

Simulation TINKERCAD :

 


+ Infos sur le langage utilisé :

1. Fonctions
2. Variables
3. Stucture

 

Laisser un commentaire