Paso 5: Tiempo de código!
Por defecto el neopixels luz blanca! Para conseguir el cambio de color y cambiar el brillo tenemos que implementar el código!
Aquí está el código de ejemplo que pude utilizar para ello. Consejos de Gemma corre bajo software de Arduino! Asegúrese de que tener esto!
#include
#define PIN 1 / / parámetro 1 = número de píxeles en tira
Parámetro 2 = número de pin del Arduino (la mayoría son válidos)
Parámetro 3 = píxeles tipo banderas, sumar como sea necesario:
NEO_KHZ800 800 KHz bitstream (mayoría NeoPixel productos w/WS2812 LED)
NEO_KHZ400 400 KHz (clásico 'v1' (no el v2) FLORA pixeles, conductores WS2811)
NEO_GRB píxeles están cableados para GRB bitstream (más productos de NeoPixel)
NEO_RGB píxeles están cableados para RGB bitstream (v1 FLORA pixeles, no v2)
Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);
int sensorPin = 1; Seleccione la entrada de pin para el potenciómetro (1 analógico es digital 2)
int sensorValue = 0; variable para almacenar el valor que viene desde el sensor
colorValue int = 0;
void setup() {/ / Set resistencia pullup interna para el pin del sensor (1 analógico es digital 2)
pinMode (1, INPUT_PULLUP);
Strip.Begin();
strip.setBrightness(40); ajustar el brillo aquí
Strip.Show(); Inicializar todos los píxeles en 'off'}
void loop() {/ / lee el valor del sensor:
sensorValue = analogRead(sensorPin);
colorValue = mapa (sensorValue, 0, 1024, 0, 255); mapa de valores de los sensores de 0 124 0-255
para (int i = 0; i strip.setPixelColor (i, Wheel(colorValue)); //use función de la rueda para establecer color} strip.show(); }
uint32_t rueda (bytes WheelPos) {}
if(WheelPos < 85) {return tira. Color (WheelPos * 3, 255 - WheelPos * 3, 0); } else if(WheelPos < 170) {WheelPos-= 85; tira de vuelta. Color (255 - WheelPos * 3, 0, WheelPos * 3); } else {WheelPos-= 170; tira de vuelta. Color (0, WheelPos * 3, 255 - WheelPos * 3); } }