Étape 5: L’heure de CODE !
Par défaut, le neopixels s’allument en blanc ! Afin d’obtenir le changement de couleur et de changer la luminosité il faut implémenter le code !
Voici l’exemple de code que j’ai été en mesure d’utiliser pour cela. Conseils de Gemma courir sous le logiciel Arduino ! Assurez-vous que vous avez cela !
#include
#define broche 1 / / paramètre 1 = nombre de pixels dans la bande de
Paramètre 2 = nombre de goupille de Arduino (la plupart sont valide)
Paramètre 3 = type de pixel drapeaux, additionner au besoin :
NEO_KHZ800 800 KHz bitstream (la plupart NeoPixel produits w/WS2812 LEDs)
NEO_KHZ400 400 KHz (classique « v1 » (pas v2) pixels de flore, WS2811 pilotes)
NEO_GRB Pixels sont câblés pour GRB bitstream (la plupart des produits NeoPixel)
NEO_RGB Pixels sont câblés pour RGB bitstream (v1 pixels de flore, pas v2)
Bande de Adafruit_NeoPixel = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800) ;
int sensorPin = 1 ; Sélectionnez l’entrée pin pour le potentiomètre (1 analogique est digital 2)
int sensorValue = 0 ; variable pour stocker la valeur provenant de la sonde
colorValue int = 0 ;
void setup() {/ / Set résistance pullup interne pour la broche du capteur (1 analogique est digital 2)
pinMode (1, INPUT_PULLUP) ;
Strip.Begin() ;
strip.setBrightness(40) ; régler la luminosité ici
Strip.Show() ; Initialiser tous les pixels sur "arrêt"}
void loop() {/ / lire la valeur de la sonde :
sensorValue = analogRead(sensorPin) ;
colorValue = carte (sensorValue, 0, 1024, 0, 255) ; mapper les valeurs de capteur de 0-124 à 0-255
pour (int i = 0; i strip.setPixelColor (i, Wheel(colorValue)) ; //use fonction de roue pour définir couleur} strip.show() ; }
uint32_t roue (WheelPos octets) {}
if(WheelPos < 85) {bande de retour. Couleur (WheelPos * 3, 255 - WheelPos * 3, 0) ; } else if(WheelPos < 170) {WheelPos-= 85 ; bande de retour. Couleur (255 - WheelPos * 3, 0, WheelPos * 3) ; } else {WheelPos-= 170 ; bande de retour. Couleur (0, WheelPos * 3, 255 - WheelPos * 3) ; } }