Arduino Mega - Bouton - LED

Ce guide vous montre comment utiliser l'Arduino Mega et un bouton pour contrôler une LED. Nous allons apprendre deux façons simples de faire cela.

Application 1 - La LED affiche le même état que le bouton.

Application 2 - La LED change d'état à chaque fois que vous appuyez sur le bouton.

Pour l'Application 2, nous devons débouncer le bouton pour qu'il fonctionne de manière fiable. Nous verrons pourquoi c'est important en comparant comment la LED se comporte avec et sans débouncing dans le code Arduino.

Arduino Mega control LED

Matériel requis

1×Arduino Mega
1×Câble USB 2.0 type A/B
1×Bouton pour breadboard avec capuchon
1×Kit de boutons pour breadboard
1×Bouton-poussoir pour panneau
1×Module bouton poussoir
1×LED Kit
1×LED (red)
1×LED Module
1×Résistance 220 ohms
1×Breadboard (plaque d'essai)
1×Câbles de liaison
1×Recommandé: Screw Terminal Block Shield for Arduino Uno/Mega
1×Recommandé: Breadboard Shield for Arduino Mega
1×Recommandé: Enclosure for Arduino Mega

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

À propos de la LED et du bouton

Si vous débutez avec la LED, le bouton et l'Arduino Mega, consultez ces tutoriels :

Ces tutoriels expliquent comment fonctionnent la LED et le bouton, leurs brochages, comment les connecter à l'Arduino Mega, et comment programmer l'Arduino Mega pour qu'il fonctionne avec la LED et le bouton.

Schéma de câblage

Arduino Mega Button LED wiring diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Application 1 - La LED suit l'état du bouton

Code Arduino Mega

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-mega/arduino-mega-button-led */ #define BUTTON_PIN 7 // The Arduino Mega pin connected to the button #define LED_PIN 3 // The Arduino Mega pin connected to the LED void setup() { Serial.begin(9600); // initialize serial pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { int buttonState = digitalRead(BUTTON_PIN); // read new state if (buttonState == LOW) { Serial.println("The button is being pressed"); digitalWrite(LED_PIN, HIGH); // turn on } else if (buttonState == HIGH) { Serial.println("The button is unpressed"); digitalWrite(LED_PIN, LOW); // turn off } }

Étapes rapides

Suivez ces étapes une par une.

  • Connectez les composants comme indiqué dans le schéma.
  • Branchez l'Arduino Mega à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Arduino sur votre ordinateur.
  • Choisissez la carte Arduino Mega et le bon port COM.
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur Téléverser dans l'IDE Arduino pour compiler et envoyer le code vers l'Arduino Mega.
Arduino IDE Upload Code
  • Appuyez et maintenez le bouton pendant quelques secondes.
  • Observez comment la LED change.

Vous verrez que la LED et le bouton affichent le même état.

Explication du code

Consultez l'explication ligne par ligne dans les commentaires du code source.

Application 2 - La LED change d'état à chaque pression du bouton

Code Arduino Mega - Le bouton bascule la LED sans débouncing

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-mega/arduino-mega-button-led */ #define BUTTON_PIN 7 // The Arduino Mega pin connected to the button #define LED_PIN 3 // The Arduino Mega pin connected to the LED int led_state = LOW; // the current state of LED int button_state; // the current state of button int prev_button_state; // the previous state of button void setup() { Serial.begin(9600); // initialize serial pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode button_state = digitalRead(BUTTON_PIN); } void loop() { prev_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if(prev_button_state == HIGH && button_state == LOW) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED arccoding to the toggled state digitalWrite(LED_PIN, led_state); } }

Explication du code

L'explication se trouve dans les commentaires du code Arduino Mega ci-dessus.

Dans le code, la ligne led_state = !led_state fait la même chose que le code montré ci-dessous :

if(led_state == LOW) led_state = HIGH; else led_state = LOW;

Étapes rapides

  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Téléversez le code vers l'Arduino Mega.
  • Appuyez sur le bouton reset plusieurs fois.
  • Observez la LED s'allumer et s'éteindre.

Vous pourrez voir la LED changer chaque fois que vous appuyez sur le bouton. Mais cela ne fonctionne pas toujours parfaitement. Parfois la LED change trop de fois rapidement quand vous appuyez une fois, ou elle peut ne pas changer du tout (elle peut changer deux fois très rapidement, ce qui est difficile à remarquer).

Pour résoudre ce problème, Arduino Mega - Bouton - Anti-rebond.

Code Arduino Mega - Le bouton bascule la LED avec débouncing

Faire fonctionner une pression de bouton de manière fiable peut être difficile pour les débutants. Heureusement, la bibliothèque ezButton rend cela facile.

Pourquoi avons-nous besoin du débouncing ? Pour plus d'informations, consultez le Arduino Mega - Bouton - Anti-rebond.

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-mega/arduino-mega-button-led */ #include <ezButton.h> #define BUTTON_PIN 7 // The Arduino Mega pin connected to the button #define LED_PIN 3 // The Arduino Mega pin connected to the LED ezButton button(BUTTON_PIN); // create ezButton object that attach to pin 7; int led_state = LOW; // the current state of LED void setup() { Serial.begin(9600); // initialize serial pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED arccoding to the toggleed sate digitalWrite(LED_PIN, led_state); } }

Étapes rapides

  • Installez la bibliothèque ezButton. Consultez ce guide pour les étapes : https://arduinogetstarted.com/tutorials/arduino-button-library#content_how_to_install_library
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Téléverser dans l'IDE Arduino pour charger le code vers l'Arduino Mega.
  • Appuyez et relâchez le bouton plusieurs fois.
  • Observez la LED changer.

Vous verrez la LED s'allumer ou s'éteindre exactement une fois à chaque pression du bouton.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !