Raspberry Pi - LED - Fondu
Ce tutoriel vous explique comment programmer un Raspberry Pi pour faire varier l'intensité d'une LED. Nous passerons en revue trois exemples et comparerons les différences entre eux :
- Comment programmer un Raspberry Pi pour faire varier l’intensité d’une LED en utilisant la fonction time.sleep()
- Comment programmer un Raspberry Pi pour faire varier l’intensité d’une LED en utilisant la fonction millis()
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos des LED
Le brochage des LED
La LED a deux broches :
- La broche Cathode(-) doit être connectée à la masse (0V)
- La broche Anode(+) est utilisée pour contrôler l'état de la LED
Comment ça marche
Une fois que la cathode(-) est connectée à la masse :
- Connecter GND à l'anode(+) éteindra la LED.
- Connecter VCC à l'anode(+) allumera la LED.
- Générer un signal PWM vers l'anode(+) ajustera la luminosité de la LED selon la valeur PWM. Cette valeur varie de 0 à 255, les valeurs plus élevées rendant la LED plus lumineuse et les valeurs plus basses la rendant plus sombre.
- Si la valeur PWM est 0, cela équivaut à GND et la LED sera éteinte.
- Si la valeur PWM est 255, cela équivaut à VCC et la LED sera entièrement allumée.
※ Note:
Pour la plupart des LED, une résistance doit être placée entre l'anode (+) et VCC. La valeur de la résistance est déterminée par les spécifications de la LED.
Raspberry Pi - atténuer LED
Certaines des broches d'un Raspberry Pi peuvent être programmées pour produire un signal PWM. Pour faire varier l'intensité d'une LED, nous pouvons connecter l'anode (+) de la LED à une broche du Raspberry Pi, la cathode (-) à la masse, et programmer le Raspberry Pi pour générer un signal PWM sur la broche.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :
Comment Programmer
- Configurez une sortie numérique sur une broche du Raspberry Pi en utilisant la fonction GPIO.setup().
- Par exemple, la broche GPIO18 :
- Ajustez la luminosité de la LED en créant un signal PWM à l'aide de la fonction pwm.ChangeDutyCycle().
La luminosité peut varier de 0 à 100.
Code Raspberry Pi pour faire varier l'intensité d'une LED
Étapes rapides
- Assurez-vous d'avoir Raspbian ou un autre système d'exploitation compatible avec le Raspberry Pi installé sur votre Pi.
- Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
- Assurez-vous que votre Raspberry Pi est connecté à Internet si vous devez installer certaines bibliothèques.
- Si c'est la première fois que vous utilisez Raspberry Pi, voyez Installation du logiciel - Raspberry Pi..
- Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
- Assurez-vous que vous avez la bibliothèque RPi.GPIO installée. Si ce n'est pas le cas, installez-la en utilisant la commande suivante :
- Créez un fichier de script Python led_fade.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
- Vérifiez la luminosité de la LED.
Le script s'exécute en boucle infinie de manière continue jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.
Explication du code
Consultez l'explication ligne par ligne contenue dans les commentaires du code source !
※ Note:
L'exemple ci-dessus utilise la fonction time.sleep() pour créer un effet de fondu entrant et sortant. Cependant, la fonction time.sleep() fait en sorte que la LED s'allume de manière irrégulière et bloque l'exécution d'autres codes. Dans les prochaines sections, nous apprendrons comment créer un fondu entrant et sortant de manière fluide sans bloquer d'autres codes en utilisant la fonction millis().
Comment faire apparaître/disparaître une LED graduellement sur une période sans utiliser time.sleep()
Étapes rapides
- Créez un fichier de script Python led_fade.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en saisissant la commande suivante dans le terminal :
- Vérifiez la luminosité de la LED.