Arduino UNO R4 - LED qui s'estompe

Ce tutoriel vous explique comment programmer l'Arduino UNO R4 pour faire varier et diminuer l'intensité d'une LED. En détail, nous allons apprendre :

Arduino UNO R4 LED qui s'estompe

Préparation du matériel

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternativement: DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Plaque d'essai
1×Fils de connexion
1×(Recommended) Shield à bornier à vis pour Arduino Uno R4
1×(Recommended) Shield plaque d'essai pour Arduino Uno R4
1×(Recommended) Boîtier pour Arduino Uno R4
1×(Recommended) Répartiteur d'alimentation pour Arduino Uno R4
1×(Recommended) Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus)
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 LED

Schéma des broches

La DEL a deux broches :

  • Broche cathode(-) : doit être connectée à la masse (0 V)
  • Broche anode(+) : est utilisée pour piloter l'état de la LED
Schéma des broches LED

Comment cela fonctionne

Après avoir connecté le côté négatif (cathode) à la masse (GND) :

  • Si vous connectez la masse (GND) au pôle positif (anode) de la LED, elle s'éteint.
  • Si vous connectez l'alimentation (VCC) au pôle positif (anode) de la LED, elle s'allume.
  • Si vous envoyez un signal de modulation de largeur d'impulsion (PWM) au pôle positif (anode) de la LED, vous pouvez modifier la luminosité. La valeur PWM peut être comprise entre 0 et 255. Une valeur PWM plus élevée rend la LED plus lumineuse, et une valeur PWM plus basse la rend plus sombre.
    • Si la valeur PWM est 0, elle agit comme si elle était connectée à la masse, de sorte que la LED s'éteint.
    • Si la valeur PWM est 255, elle agit comme si elle était connectée au VCC, la LED est alors complètement allumée.
    Comment fonctionne une LED

    ※ Note:

    Pour la plupart des LED, vous devez connecter une résistance entre la borne positive (anode) et l'alimentation (VCC). La valeur de la résistance varie en fonction des spécifications de la LED.

    Arduino UNO R4 - LED en fondu

    Nous pouvons faire varier l'intensité d'une LED en utilisant certaines broches de l'Arduino UNO R4 capables de générer un signal PWM. Tout d'abord, connectez la broche positive (+) de la LED à l'une des broches de l'Arduino UNO R4. Ensuite, connectez la broche négative (-) de la LED à la masse (GND). Vous pouvez ensuite configurer la broche Arduino choisie pour générer un signal PWM.

Diagramme de câblage

Schéma de câblage des LED pour Arduino UNO R4

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

Voir Comment alimenter l'Arduino UNO R4..

Comment programmer

  • Définir le mode de la broche d'un Arduino UNO R4 sur sortie numérique en utilisant la fonction pinMode(). Par exemple, pour la broche 9:
pinMode(9, OUTPUT);
  • Ajustez la luminosité de la DEL en utilisant la fonction analogWrite() pour générer le signal PWM approprié.
analogWrite(9, brightness);

La luminosité peut varier de 0 à 255.

Code Arduino UNO R4 - Exemple de fondu depuis l'IDE Arduino

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED int brightness = 0; // how bright the LED is int fade_step = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_step; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_step = -fade_step; } // wait for 30 milliseconds to see the dimming effect delay(30); }

Étapes rapides

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Connectez la LED à l'Arduino Uno R4 selon le schéma fourni.
  • Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple Arduino Uno R4 WiFi) et le port COM.
  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino UNO R4.
Téléverser le code dans l'IDE Arduino
  • Regarde à quel point la DEL est lumineuse.

Explication du code

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

※ Note:

Dans l’exemple ci-dessus, nous utilisons une fonction appelée delay() pour rendre progressivement la lumière plus lumineuse et plus sombre. Cependant, l’utilisation de delay() rend le changement de lumière moins fluide et empêche les autres parties du programme de fonctionner pendant l’attente. Dans la prochaine partie, nous apprendrons comment faire en sorte que la lumière change de manière fluide sans arrêter le reste du programme en utilisant la fonction millis().

Comment faire baisser progressivement la luminosité d'une LED sur une période sans utiliser delay()

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = millis(); // restart fade again } }

Comment réaliser le fondu d'une LED sur une période sans utiliser delay()

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = millis(); // restart fade again } }

Vidéo

Références de fonctions

※ 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 !