arduino:neopixel_multitasking
Dies ist eine alte Version des Dokuments!
Neopixel Multitasking
#include <Adafruit_NeoPixel.h> #define PIN 6 // Parameter 1 = number of pixels in strip // Parameter 2 = Arduino pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_RGBW + NEO_KHZ800); // IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across // pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input // and minimize distance between Arduino and first pixel. Avoid connecting // on a live circuit...if you must, connect GND first. unsigned long interval=10; // the time we need to wait unsigned long previousMillis=0; // millis() returns an unsigned long. int counter = 0; boolean sw = true; void setup() { Serial.begin(9600); strip.begin(); strip.show(); // Initialize all pixels to 'off' } void loop() { unsigned long currentMillis = millis(); // grab current time // check if "interval" time has passed (1000 milliseconds) if ((unsigned long)(currentMillis - previousMillis) >= interval) { if(sw) { counter++; if(counter==255) sw = !sw; } if(!sw) { counter--; if(counter==0) sw = !sw; } // fade led mit counter Serial.println(counter); strip.setPixelColor(0, 0, counter, 0, 0); strip.show(); previousMillis = millis(); } }
Tags: #Arduino #Code #NeoPixel
arduino/neopixel_multitasking.1464891509.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)