Retour

Faire varier l'intensité d'une LED avec le PWM sur Arduino — Tutoriel débutant

Introduction

Bienvenue dans votre premier projet PWM (Modulation de Largeur d’Impulsion) ! Dans ce tutoriel, nous allons construire un circuit simple qui fait varier l’intensité d’une LED de manière progressive, de l’extinction à la pleine luminosité et inversement. C’est un projet classique pour débutants avec Arduino qui vous apprend à utiliser analogWrite() pour contrôler la luminosité, la vitesse d’un moteur, ou tout dispositif réagissant à une tension moyenne variable.

Nous utiliserons Velxio, un simulateur de circuits en ligne avec un support analogique précis (SPICE). Aucun matériel nécessaire — juste votre navigateur ! Vous pouvez suivre, modifier le code et voir les résultats instantanément.

Schéma du circuit de variation d'intensité sur le simulateur Velxio

Présentation du circuit

Examinons les composants et le câblage de ce projet.

Composants

ComposantQuantitéRemarques
Arduino Uno1Le cerveau de l’opération
LED (n’importe quelle couleur)1Nous utiliserons une LED bleue
Résistance (220 Ω)1Résistance de limitation de courant (non représentée sur le schéma mais recommandée)
Fils de connexion2Pour les branchements

Câblage

  1. Anode de la LED (patte longue) → Connecter à la broche 9 de l’Arduino (une broche compatible PWM).
  2. Cathode de la LED (patte courte) → Connecter à GND sur l’Arduino.

Important : Utilisez toujours une résistance de limitation de courant (généralement 220 Ω à 1 kΩ) en série avec la LED pour éviter de la griller. Dans le simulateur Velxio, le modèle de LED inclut une résistance interne, mais dans la réalité, vous devez en ajouter une.

Voici le câblage en détail :

C’est tout ! Seulement deux connexions. La broche 9 de l’Arduino peut produire un signal PWM, que nous utiliserons pour faire varier la luminosité de la LED.

Code source pour la variation d'intensité dans l'éditeur Monaco de Velxio

Explication du code

Ouvrez l’éditeur de code dans Velxio. Vous verrez le sketch Arduino suivant :

// Fade LED with PWM
// Smoothly fade LED brightness

const int LED_PIN = 9; // PWM pin

int brightness = 0;
int fadeAmount = 5;

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

void loop() {
  analogWrite(LED_PIN, brightness);

  brightness += fadeAmount;

  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }

  delay(30);
}

Comment ça fonctionne

Concepts clés

Problèmes courants et conseils de débogage

  1. La LED ne s’allume pas ?

    • Vérifiez que la LED est correctement connectée (anode sur la broche 9, cathode sur GND).
    • Assurez-vous que le code est téléversé (cliquez sur le bouton Run dans la barre d’outils).
    • Vérifiez que LED_PIN correspond à la broche réellement utilisée.
  2. La LED reste à pleine luminosité ?

    • Assurez-vous d’utiliser une broche compatible PWM (3, 5, 6, 9, 10, 11 sur Uno). La broche 13 n’est pas PWM.
    • Vérifiez que analogWrite() est appelée, et non digitalWrite().
  3. La variation est trop rapide ou trop lente ?

    • Ajustez la valeur de delay(30). Plus grande = variation plus lente.
    • Modifiez fadeAmount pour contrôler la taille du pas (par exemple, 1 pour très lisse, 10 pour plus rapide).
  4. Le simulateur ne répond pas ?

    • Utilisez le bouton Reset dans la barre d’outils du canevas.
    • Rafraîchissez la page si nécessaire.

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

Extensions suggérées

Une fois que vous maîtrisez la variation de base, essayez ces défis :

  1. LEDs multiples : Ajoutez deux LEDs supplémentaires sur les broches 10 et 11. Faites-les varier en séquence ou à des vitesses différentes.
  2. Contrôle par bouton : Ajoutez un bouton poussoir pour démarrer/arrêter la variation.
  3. Contrôle de vitesse par potentiomètre : Utilisez un potentiomètre pour ajuster la vitesse de variation (remplacez delay(30) par une variable lue depuis une entrée analogique).
  4. LED RGB : Utilisez une LED RGB et faites varier différentes couleurs en contrôlant trois broches PWM.
  5. Moniteur série : Affichez la valeur de luminosité sur le moniteur série pour le débogage.

Essayez par vous-même !

Prêt à voir le résultat en action ? Ouvrez l’exemple en direct dans Velxio :

👉 Lancer l’exemple de variation d’intensité LED

Vous pouvez modifier le code, changer la vitesse de variation, ou même ajouter de nouveaux composants. Le simulateur fonctionne entièrement dans votre navigateur — aucun téléchargement, aucune installation.

Bonne variation !


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
Serial Hello World — Votre premier projet de communication Arduino
Article suivant
LED contrôlée par bouton : votre premier projet Arduino avec entrée