Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
LEDsIntroduction | ||||||||
Line: 18 to 18 | ||||||||
Si on utilise une LED extérieure, on doit limiter le courant qui traverse la LED avec une résistance (valeurs typiques : 330 ohms, qui, avec une tension GPIO de 3.3 V, limite le courant à 10 mA).
| ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
Changer l'intensité de la lumière de la LED avec la modulation de largeur d'impulsionLa LED est contrôlée par un seul pin GPIO qui peut prendre que de valeurs zéro, avec la LED éteinte, ou 1, avec la LED en intensité de lumière maximale. Pour changer l'intensité de lumière, il faut changer le courant qui traverse la LED. Ceci peut être accompli si, au lieu d'un signale constant, le pin GPIO émet une fréquence (la fréquence de modulation) et on change le rapport cyclique du signal (duty cycle). Ce principe s'appelle Pulse Width Modulation ou PWM en anglais. | ||||||||
Line: 33 to 33 | ||||||||
La barre à LEDs contient 10 LEDs aligné dans un seul boitier. Chaque LED est contrôlée par un pin GPIO de la même manière que celui décrit dans les sections dessus. Bien sûr, les LEDs peuvent aussi être contrôlées en PWM. Néanmoins, if faut noter que la barre à LED contient 10 LEDs mais le nombre de signaux PWM dans MicroPython est limité à 8.
| ||||||||
Added: | ||||||||
> > | ||||||||
Les afficheurs sept segmentsLes afficheurs sept segments fonctionnent un peu comme la barre à LED avec un arrangement des LEDs en forme de "8". Ils consistent en 8 LEDs: les sept segments a..g et le point décimal dp. En allument une certaine combinaison de LEDs, on peut afficher tous les digits hexadécimaux. Le kit fourni un module à un seul digit et un autre à quatre digits. Contrairement à la barre à LEDs soit toutes les anodes des LEDs sept segments sont connecté ensemble (type anodes communes) soit toutes les cathodes (type cathodes communes). | ||||||||
Added: | ||||||||
> > | ||||||||
Les afficheurs sept segments à quatre digitsSi on étudie bien le schéma de connexion ci-dessous, on observe que tous les même segments des digits sont connecté ensemble. Ceci a comme conséquence qu’à un moment donné un seul digit peut être affiché. Si on affiche ce digit pour une courte instance avant de changer au digit suivant et on poursuit ce principe cycliquement pour tous les digits, et avec la persistance des LEDs, l'observateur voit tous les quatre digits affichés en même temps. | ||||||||
Line: 46 to 50 | ||||||||
Pour faire marcher l'afficheur sept segments à quatre digits, les valeurs des digits individuels doivent alors être rafraîchi en permanence. Ceci peut être accompli dans un système multitâche (voir asyncio dans MicroPython) ou une tache s'occupe du rafraichissement de l'afficheur tandis une autre tache permet d'exécuter d'autres fonctions. | ||||||||
Added: | ||||||||
> > | ||||||||
La LED rgbLa LED rgb existe en deux variants : la LED à anode commune et la LED a cathode commune dont les connexions sont montrés ci-dessous : | ||||||||
Line: 53 to 59 | ||||||||
Les pins des composants de couleurs rgb ("-" dans le cas de l'anode commune et "+" dans le cas de cathode commune) sont connectés à des pins GPIO. Le pin commun est connecté à Vcc (3.3 V) dans le cas de l'anode commune et à la masse dans l'autre cas. Pour allumer le composant de couleur le pin GPIO doit être tiré à la masse pour l'anode commune et mis à Vcc pour la cathode commune. | ||||||||
Added: | ||||||||
> > | ||||||||
La LED WS2812Cette LED est accédé avec un protocole de communication qui permet d'adresser chaque LED dans une chaine de LEDs individuellement. Dans notre cas nous utilisons une chaîne avec sept LEDs (ou huit LEDs pour le module dans le kit Freenove) : | ||||||||
Line: 68 to 76 | ||||||||
La première LED de la chaine considère les premières 24 bits comme information de couleur pour elle et passe les autres bits à la LED suivant. Les données sont envoyées avec une vitesse de 800 kbit/s et nécessite un timing bien précis. MicroPython fournit un pilote "NeoPixel" pour ce type de chaine à LED ce qui facilite largement l'usage de ces LEDs (voir la section NeoPixel et APA106 driver dans https://docs.micropython.org/en/latest/esp32/quickref.html. | ||||||||
Added: | ||||||||
> > | ||||||||
La roue des couleursLes LEDs rgb permettent de montrer tout un spectre de couleurs en changeant l'intensité de ses composants r,g,b. Le WS2812 reçoit ces valeurs d'intensités en digital via son protocol de communication tandis qu'on utilise des signaux PWM dans le cas de l'LED rgb simple. | ||||||||
Line: 76 to 86 | ||||||||
Changed: | ||||||||
< < | Si on observe bien la roue des couleurs, on voit que dans les premiers 60 dégrées la composante rouge reste au maximum, la composante bleue est toujours zéro et seulement la composante vert change d’une intensité 0 au maximum en augmentant. Dans les 60 dégrées suivant, vert et bleu restent constants et la composante rouge décroît du maximum à zéro, etc. | |||||||
> > | Si on observe bien la roue des couleurs, on voit que dans les premiers 60 dégrées la composante rouge reste au maximum, la composante bleue est toujours zéro et seulement la composante verte croit d’une intensité 0 au maximum. Dans les 60 dégrées suivant, vert et bleu restent constants et la composante rouge décroît du maximum à zéro, etc. | |||||||
-- Uli Raich - 2021-06-19 |