Luminosité des NeoPixels
Fait partie de la section Écrans et capteurs du Journey Arduino de Coddy. Leçon 16 sur 24.
Les NeoPixels sont lumineux. ring.setBrightness(level) les atténue tous en même temps : 0 signifie éteint, 255 correspond à la luminosité maximale.
La luminosité est réglée en mettant à l’échelle les couleurs stockées dans la mémoire de la carte. Avec une luminosité de 64, soit environ un quart, un rouge de 255 est stocké sous la valeur 64. Le hic : la mise à l’échelle fait perdre des détails. Réglez la luminosité sur 0 et toutes les couleurs stockées deviennent 0. La rétablir ensuite ne laisse plus aucune valeur à mettre à l’échelle, et l’anneau reste éteint.
Ainsi, chaque fois que la luminosité change, définissez les couleurs à nouveau après :
ring.setBrightness(level);
ring.fill(white); // stocké à la nouvelle luminosité
ring.show();Les couleurs définies après setBrightness() sont mises à l’échelle au moment de leur stockage.
Défi
MoyenLe bouton sur A0 sert de variateur pour l’anneau :
- transforme la valeur lue en luminosité de 0 à 255 avec
map() - règle-la avec
ring.setBrightness() - puis remplis l’anneau en blanc et affiche-le à chaque passage dans
loop()
Appuie sur Run et tourne le bouton, puis sur Check.
Essayez vous-même
#include <Adafruit_NeoPixel.h>
// 16 pixels, données sur la broche 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
uint32_t white = ring.Color(255, 255, 255);
void setup() {
ring.begin();
}
void loop() {
int reading = analogRead(A0);
// règle la luminosité à l’aide du bouton, puis allume tout l’anneau en blanc
delay(50);
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Écrans et capteurs
3NeoPixels
Votre premier NeoPixelDes couleurs sur un anneau de pixelsRemplir et effacer l’anneauLe pixel poursuivantLuminosité des NeoPixelsAnneau arc-en-cielEntraînez-vous par vous-même : Playground Arduino