ws2812b

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

Всем привет, возник вопрос, как сразу включить одинаковый цвет на светодиодах ws2812b?


#include "FastLED.h"


////////////////////////////////////////////////////////////////////////////////////////////////////
//
// RGB Calibration code
//
// Use this sketch to determine what the RGB ordering for your chipset should be.  Steps for setting up to use:

// * Uncomment the line in setup that corresponds to the LED chipset that you are using.  (Note that they
//   all explicitly specify the RGB order as RGB)
// * Define DATA_PIN to the pin that data is connected to.
// * (Optional) if using software SPI for chipsets that are SPI based, define CLOCK_PIN to the clock pin
// * Compile/upload/run the sketch 

// You should see six leds on.  If the RGB ordering is correct, you should see 1 red led, 2 green 
// leds, and 3 blue leds.  If you see different colors, the count of each color tells you what the 
// position for that color in the rgb orering should be.  So, for example, if you see 1 Blue, and 2
// Red, and 3 Green leds then the rgb ordering should be BRG (Blue, Red, Green).  

// You can then test this ordering by setting the RGB ordering in the addLeds line below to the new ordering
// and it should come out correctly, 1 red, 2 green, and 3 blue.
//
//////////////////////////////////////////////////

#define NUM_LEDS 60

// Data pin that led data will be written out over
#define DATA_PIN 6
// Clock pin only needed for SPI based chipsets when not using hardware SPI
//#define CLOCK_PIN 8

CRGB leds[NUM_LEDS];

void setup() {
	// sanity check delay - allows reprogramming if accidently blowing power w/leds
   	delay(2000);

      // Uncomment one of the following lines for your leds arrangement.
      // FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
       FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
      // FastLED.setBrightness(CRGB(255,255,255));
      // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);

      // FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
      FastLED.addLeds<LPD8806, 9, 10, RGB>(leds, NUM_LEDS);

      // FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}

void loop() {
   leds[1] = CRGB(255,88,0); 

   FastLED.show();
   delay(1000);
}
_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

неужели для каждого нужно прописывать?

 

Logik
Offline
Зарегистрирован: 05.08.2014

Сам не угадывает какой цвет Вам хочется?

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

не, просто нужно проверить максимальное энергопотребление, я вот не знаю, как все сразу одним цветом сделать

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

т.е. все 60 светодиодов  включить одним цветом

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

FastLED содержит примеры, насколько помню, там есть заполнение ленты одним цветом. Это если я правильно понял вопрос.

arduinec
Offline
Зарегистрирован: 01.09.2015
for (int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(255,88,0);

 

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

спасибо большое за ответы

 

Logik
Offline
Зарегистрирован: 05.08.2014

_A_r_d_u_i_n_o пишет:

не, просто нужно проверить максимальное энергопотребление, я вот не знаю, как все сразу одним цветом сделать

Для максимума потребления надо белый выводить.

dimOnOff
Offline
Зарегистрирован: 21.04.2015

Вопрос, может, дурацкий)) А можно ли организовать в ленте ws2812b самостоятельный подсчет колличества подключенных светодиодов? 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Я так понимаю вопрос про "сколько сегодня подключили светодиодов"? Тогда, наверное, самый простой вариант, если конец ленты подключить обратно на какой нибудь пин и ловить, когда в него пойдет информация. Зная сколько передано посылок, можно определить, сколько светодиодов сегодня в ленте. Вроде бы где то было такое, но я не нашел.

 

dimOnOff
Offline
Зарегистрирован: 21.04.2015

kisoft пишет:

Я так понимаю вопрос про "сколько сегодня подключили светодиодов"? Тогда, наверное, самый простой вариант, если конец ленты подключить обратно на какой нибудь пин и ловить, когда в него пойдет информация. Зная сколько передано посылок, можно определить, сколько светодиодов сегодня в ленте. Вроде бы где то было такое, но я не нашел.

 

Да я это имел ввиду. Если попадется примерчик, забросьте, пожалуйста)

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Мне тема не сильно интересна, я вчера поискал, но не нашел. Так что если только вдруг случайно наткнусь. У меня другие темы сейчас, потому я бы не рассчитывал ;)