Retour

LED contrôlée par bouton : votre premier projet Arduino avec entrée

Introduction

Bienvenue dans votre premier projet Arduino avec entrée ! Dans ce tutoriel, vous allez construire un circuit où un bouton poussoir contrôle une LED. Lorsque vous appuyez sur le bouton, la LED s’allume ; relâchez-le, et la LED s’éteint. Ce projet simple vous initie à la lecture des entrées numériques, à l’utilisation des résistances pull-up internes et à l’écriture d’un code Arduino propre.

Nous utiliserons le simulateur en ligne Velxio, qui offre un environnement précis au niveau SPICE pour tester votre circuit sans aucun matériel. C’est parti !

Présentation du circuit

Schéma du circuit de la LED contrôlée par bouton sur le simulateur Velxio

Le circuit se compose de trois éléments principaux :

Détails du câblage

  1. Bouton vers Arduino :

    • Une patte du bouton (broche 1.l) se connecte à la broche numérique 2 de l’Arduino via un fil bleu (#00aaff).
    • L’autre patte (broche 2.l) se connecte à GND via un fil noir.
  2. LED vers Arduino :

    • L’anode (patte longue, broche A) se connecte à la broche numérique 13 de l’Arduino via un fil rouge (#ff0000).
    • La cathode (patte courte, broche C) se connecte à GND via un fil noir.

Remarquez que le bouton n’a pas de résistance pull-up externe. À la place, nous utiliserons la résistance pull-up interne de l’Arduino dans le code. Lorsque le bouton n’est pas enfoncé, la broche d’entrée est tirée HIGH ; lorsqu’il est enfoncé, elle lit LOW.

Explication du code

Code source pour la LED contrôlée par bouton dans l'éditeur Monaco de Velxio

Voici le sketch Arduino complet :

// Button LED Control
// Press button to turn LED on

const int BUTTON_PIN = 2;
const int LED_PIN = 13;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(BUTTON_PIN);

  if (buttonState == LOW) {
    digitalWrite(LED_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
  }
}

Explication

Concepts clés

Entrée numérique et résistances pull-up

Lorsqu’une broche numérique est configurée en entrée, elle lit soit HIGH (5V) soit LOW (0V). Sans résistance pull-up ou pull-down, la broche peut flotter entre les états, provoquant des lectures erratiques. La résistance pull-up interne (généralement 20k-50k ohms) garantit un état HIGH stable lorsque le bouton est ouvert. Appuyer sur le bouton connecte la broche directement à GND, annulant le pull-up et donnant une lecture LOW.

Anti-rebond

Les boutons mécaniques ont souvent des rebonds, provoquant des transitions rapides multiples. Dans cet exemple simple, nous ignorons l’anti-rebond car la LED répond rapidement et l’effet est minime. Pour des applications plus critiques, vous pouvez ajouter un petit délai ou utiliser une bibliothèque d’anti-rebond.

Utilisation des constantes

Définir les numéros de broches comme constantes en haut du sketch facilite le changement de câblage sans avoir à chercher dans le code. Cela améliore également la lisibilité.

Pièges courants et conseils de débogage

Utilisation du simulateur Velxio

Barre d'outils de l'éditeur Velxio avec les commandes de compilation et d'exécution

Cliquez sur le bouton Exécuter dans la barre d’outils pour compiler et démarrer la simulation. Vous pouvez ensuite cliquer sur le bouton poussoir sur le canevas pour voir la LED réagir.

Barre d'outils du canevas Velxio au-dessus de la fenêtre de simulation

Utilisez la barre d’outils du canevas pour mettre en pause, réinitialiser ou ajuster la vitesse de simulation.

Sélecteur de composants Velxio parcourant les pièces par catégorie

Pour ajouter d’autres composants, ouvrez le sélecteur de composants et parcourez les catégories comme “Entrée” ou “Sortie”.

Gestionnaire de bibliothèques Velxio listant les bibliothèques Arduino installées

Si vous avez besoin de bibliothèques supplémentaires (par exemple, pour l’anti-rebond), utilisez le gestionnaire de bibliothèques.

Extensions suggérées

Une fois que vous avez le circuit de base fonctionnel, essayez ces améliorations :

  1. Mode bascule : Modifiez le code pour que chaque pression alterne l’état de la LED (allumée/éteinte) au lieu de la maintenir.
  2. LED multiples : Ajoutez plus de LED et de boutons pour créer un panneau d’entrée simple.
  3. Anti-rebond : Implémentez un anti-rebond logiciel avec un délai de 50 ms ou une minuterie.
  4. Moniteur série : Affichez l’état du bouton sur le moniteur série pour le débogage.
  5. Luminosité PWM : Remplacez l’écriture numérique par analogWrite() pour contrôler la luminosité de la LED en fonction de la durée d’appui sur le bouton.

Appel à l’action

Prêt à construire votre propre LED contrôlée par bouton ? Ouvrez l’exemple en direct sur Velxio et commencez à expérimenter : Exemple LED avec bouton. Aucun matériel nécessaire – juste votre navigateur. Bon bricolage !


Partager sur :
David Montero

Écrit par

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Articles liés


Article précédent
Faire varier l'intensité d'une LED avec le PWM sur Arduino — Tutoriel débutant
Article suivant
Construire un simulateur de feu tricolore avec Arduino sur Velxio