I think I know the answer, but thought I would try anyway.

gplus
(Jason Matusiak) #1

I think I know the answer, but thought I would try anyway. Is there a way to have 2 strings on an Arduino Nano (I know that is doable) at two different brightnesses? I am guessing not since it is a #define, but thought I would check. TIA

(Marc Miller) #2

You can sort of cheat this by adding a color correct to one on the addLeds line. Something like:
FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS).setCorrection(200,200,200);

(Daniel Garcia) #3

You could also use the underlying controllers directly - see https://github.com/FastLED/FastLED/wiki/Multiple-Controller-Examples and look at the definitions in controller.h directly (this is a less supported option, in part because I want to be able to change the controller interface - so using it directly is considered an advance usage that might change/break in the future)

(Jason Matusiak) #4

Thanks guys. The bad news is I tried the setCorrection command for a second string, and it does not seem to like that series of ints:

FastLED.addLeds<LED_TYPE, LED_PIN2, COLOR_ORDER>(leds2, NUM_LEDS2).setCorrection(200,200,200);

gives me the error:

C:\Program Files (x86)\Arduino\libraries\FastLED-3.1.3/controller.h:133:22: note: candidate expects 1 argument, 3 provided

Using library FastLED-3.1.3 at version 3.1.3 in folder: C:\Program Files (x86)\Arduino\libraries\FastLED-3.1.3
exit status 1
no matching function for call to ‘CLEDController::setCorrection(int, int, int)’

I’ll try to look at the code to see if there is another way to do what you were recommending, but I am open to suggestions in the meantime.

(Daniel Garcia) #5

You need to pass a CRGB object into setCorrection - e.g. setCorrection(CRGB(200,200,200));

(Jason Matusiak) #6

Wow, talk about fast response time :slight_smile: !

It builds now, but the brightness looks the same to me as ther other strip. Here are the three commands of interest:
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );

FastLED.addLeds<LED_TYPE, LED_PIN2, COLOR_ORDER>(leds2, NUM_LEDS2).setCorrection(CRGB(200,200,200));

FastLED.setBrightness(  BRIGHTNESS );
(Jason Matusiak) #7

OK, I think I have a working solution.

I’ve been using the ColorPallete.ino example as my basis.

Playing around last night, I realized that if I set everything up the normal way but then adjust the line:

leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);

So that brightness is two different values for the two different strings.

This seems to work perfectly, is there any problem going with this approach?

(Marc Miller) #8

No problem with doing that. If you get the visual you want that’s what counts.