atuline/FastLED-Demos

Adding two libraries

Closed this issue · 3 comments

Please tell me.
Can we merge a program of fast led and adafruit neo pixal in one single program. I try but lost of errors occur. sir can u give me any example.

i am trying this examples but only one effect is running.

#include <Adafruit_NeoPixel.h>
#include "FastLED.h"
#define PIN 6
#define NUM_LEDS 50
// Parameter 1 = number of pixels in strip
// Parameter 2 = 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)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ400);

// Define the array of leds
CRGB leds[NUM_LEDS];

void setup() {
FastLED.addLeds<WS2811, PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
strip.begin();
strip.show(); // Initialize all pixels to 'off'

}

// *** REPLACE FROM HERE ***
void loop() {

colorWipe(0x00,0xff,0x00, 50);
colorWipe(0x00,0x00,0x00, 50);
delay(50);
Sparkle(0xff, 0xff, 0xff, 0);
Sparkle(0xff, 0, 0xff, 0);
delay(50);
}

void colorWipe(byte red, byte green, byte blue, int SpeedDelay) {
for(uint16_t i=0; i<NUM_LEDS; i++) {
setPixel(i, red, green, blue);
showStrip();
delay(SpeedDelay);
}
}
// *** REPLACE TO HERE ***

void Sparkle(byte red, byte green, byte blue, int SpeedDelay) {
int Pixel = random(NUM_LEDS);
setPixel(Pixel,red,green,blue);
showStrip();
delay(SpeedDelay);
setPixel(Pixel,0,0,0);
}

void showStrip() {
#ifdef ADAFRUIT_NEOPIXEL_H
// NeoPixel
strip.show();
#endif
#ifndef ADAFRUIT_NEOPIXEL_H
// FastLED
FastLED.show();
#endif
}

void setPixel(int Pixel, byte red, byte green, byte blue) {
#ifdef ADAFRUIT_NEOPIXEL_H
// NeoPixel
strip.setPixelColor(Pixel, strip.Color(red, green, blue));
#endif
#ifndef ADAFRUIT_NEOPIXEL_H
// FastLED
leds[Pixel].r = red;
leds[Pixel].g = green;
leds[Pixel].b = blue;
#endif
}

void setAll(byte red, byte green, byte blue) {
for(int i = 0; i < NUM_LEDS; i++ ) {
setPixel(i, red, green, blue);
}
showStrip();
}

I would not recommend attempting to combine Adafruit and FastLED in a single program. They will probably conflict. My recommendation is for you to learn the code and to convert the routines you like to the library of your choice.

ok thank you sir
actually i start my program from adafruit but due to less effects i want to add fast led also now i have to restart from fast led program.