Hello everyone, I’m new in this field and I’m trying to understand how to program 2 different led strips from 2 different data pins on the same board.
I have a fading effect code which I can’t make to run on 2 strips of different length, one is 9 LEDs long and the other is 25 LEDs long. Can you help me make the changes in code to make it work as i wish. Thank you!
The code I’m using is the following:
#include <Adafruit_NeoPixel.h>
#include “hsv.h”
// data pin
#define PIN 6
// led count
#define CNT 25
// max Hue
#define MAXHUE 256*6
#define num_strips 2
int position = 0;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(CNT, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
}
void loop() {
// hue - red
// saturation - max
// value - 0-255
for (int i = 0; i < CNT; i++)
strip.setPixelColor((i + position) % CNT, getPixelColorHsv(188, 103, 220, strip.gamma8(i * (255 / CNT))));
strip.show();
position++;
position %= CNT;
delay(50);
}
alexandraghd:
Hello everyone, I'm new in this field
Looks like it. 
Choose "More" -> "Modify" below the right hand of your posting to change the "quote" tags to "code".
You'll want to define a pin2 and a strip2. Now you can tell strip to do one thing and strip2 to do another.
alexandraghd:
I’m trying to understand how to program 2 different led strips from 2 different data pins on the same board.
Me To
This my etempt so far
#include <FastLED.h>
// Moves a Coller dot around over the led strips.
#define NUM_LED_STRIP_1 14
#define NUM_LED_STRIP_2 14
#define NUM_LEDS_TOTAL 28
#define BRIGHTNESS 10
#define LED_PIN_A 3
#define LED_PIN_B 5
#define UPDATES_PER_SECOND 10 // Set Speed
#define LED_TYPE WS2812B
CRGB ledsA[NUM_LED_STRIP_1];
CRGB ledsB[NUM_LED_STRIP_2];
uint8_t brightness = 255;
void setup() {
delay( 3000 ); // power-up safety delay
FastLED.addLeds<LED_TYPE, LED_PIN_A, GRB>(ledsA, NUM_LED_STRIP_1);
FastLED.addLeds<LED_TYPE, LED_PIN_B, GRB>(ledsB, NUM_LED_STRIP_2);
FastLED.setBrightness( BRIGHTNESS );
}
void loop() {
// static uint8_t hue = 0;
uint8_t brightness = 255;
for (int i=0; i<NUM_LED_STRIP_1; i++)
{
// Turn our current led on to white/green, then show the leds
ledsA[i] = CRGB::Red;
ledsB[i] = CRGB::Green;
// Show the leds (only one of which is set to white/green, from above)
FastLED.show();
// Wait a little bit
delay(1000 / UPDATES_PER_SECOND);
// Turn our current led back to black for the next loop around
ledsA[i] = CRGB::Black;
ledsB[i] = CRGB::Black;
delay(1000 / UPDATES_PER_SECOND);
}
}