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.