Allumer une LED à l'aide d'un bouton poussoir

Principe du projet

Lorsque l’on appuie sur le premier bouton poussoir, la LED  Rouge s’allume. Elle s’éteint lorsque le bouton est relaché.

Lorsque l’on appuie sur le deuxième bouton poussoir, la LED verte s’allume et reste allumée.gggggggg

Matériel

La LED

Une diode électroluminescente

 

La LED est un composant électronique et optique, qui, lorsqu’il est traversé par un courant électrique, émet une lumière d’une intensité diffuse. Les LED consomment peu d’électricité.

 

Mode de branchement avec Arduino :
1 – On connecte la borne numérique (digital) numéro 1 de la carte Arduino à la patte de la résistance.
2 – Puis, on connecte la deuxième patte de la résistance à l’anode (borne +) de la LED.
3 – Finalement, on branche la cathode (borne -) de la LED au GND (Ground) du microcontrôleur Arduino. Celle ci doit être protégée par une résistance.

Le bouton poussoir

Un bouton pousoir, d’une manière générale, est un interrupteur simple qui permet de contrôler un processus. Ce type de circuit permet de contrôler un éclairage depuis plusieurs points de commande

 

Mode de branchement avec Arduino :

La methode la plus simple est de le brancher entre la masse et une entrée analogique de l’Arduino puis nous ajoutons une résistance. L’état sera haut (1 ou HIGH) lorsque le bouton est pressé et bas (0 ou LOW) lorsque le bouton est relaché.

 

Schéma Tinkercad

—— : Ground (0V)

—— : VCC (5V)

—— : pin LED Rouge vers Arduino (pin 2)

—— : pin LED Verte vers Arduino (pin 12)

—— : bouton actionnant la led rouge (pin 4) 

—— : bouton actionnant la led verte (pin 13) 

Code

La led s'éteint lorsque le bouton est relaché

int redLedPin = 2;

int redBtnPin = 4;

 

void setup()

{

  pinMode(redLedPin, OUTPUT);

  pinMode(redBtnPin, INPUT);

}

void loop ()

{

  if (digitalRead(redBtnPin) == HIGH)

  {

     digitalWrite (redLedPin, HIGH);

   }

   else

   {

      digitalWrite (redLedPin ,LOW);

    }

 

    delay (100);

}

 

pinMode(n° de broche, [OUTPUT ou INPUT] ) : déclare la broche « n° de broche » en entrée ou en sortie. Cela ne concerne que les entrées numériques appelées aussi Tout Ou Rien (En anglais: digital)

digitalWrite(n° de broche, [HIGH ou LOW]) : met un niveau haut (1) ou bas (0) sur la broche désignée. Il s’agit d’une sortie logique appelée aussi TOR (Tout Ou Rien) ou digital (en anglais)

digitalRead(n° de broche, [HIGH ou LOW]) : met un niveau haut (1) ou bas (0) sur la broche désignée. Il s’agit d’une entrée logique appelée aussi TOR (Tout Ou Rien) ou digital (en anglais)

delay (100) : le microcontrôleur de la carte Arduino attend 100 millisecondes

La led reste allumée lorsque le bouton est relaché (comportement d'un interrupteur)

int greenLedPin=12;

int greenBtnPin=13;

bool oldState=false;

bool newState=false;

bool ledState=LOW;

 

void setup()

{

    pinMode(greenLedPin, OUTPUT);

    pinMode(greenBtnPin, INPUT);

}

 

void loop ()

{

  if (digitalRead(greenBtnPin) == HIGH)

  {

      newState= true;

      if (newState! = oldState)

      {  

           ledState = !ledState;

           digitalWrite(greenLedPin, ledState);

      }

   } else {

     newState=false;

   }

 

   oldState=newState;

   delay (100);

}

Le principe est de définir un état pour la led (ledState) et le changement d’état du bouton (oldState, ancien état du bouton et newState, nouvel état du bouton). Si un changement d’état du bouton est detecté, l’état de la led est modifié également.