Здравствуйте. Пытаюсь сделать такую штуку: Имеется адресная лента на 14 диодов, она должна вся гореть белым цветом на низкой яркости и периодично вспыхивать рандомными диодами на максимальной яркости. Второй пункт я сделал, а вот как сделать так, чтобы ярким был только вспыхивающий диод - не пойму... P.S. Fastled
Рандомно выбирается конкретный диод и вспыхивает именно он. В программе есть возможность обращаться к каждому конкретному диоду по номеру. В чем проблема то?
Поддерживаю.ТС, давайте посмотрим на ваш код?Я не знаю как можно было найти грабли по пути решения столь простой задачи.
Да хоть на чем. Улетает пакет по n-бит на пиксель, в зависимости от типа ленты и все. Главное правильно этот пакет приготовить.
В фастлед пакет готовится на лету. Там непосредственная адресация не приветствуется. Если 1024 светика? Никакой ОЗУ не хватит.
Да не, рандомно диодами моргать я могу) у меня вопрос, как сделать так, чтобы все остальные при этом горели на минимальной яркости). Но это уже не проблема, я сделал на neo pixel. Я начинающий в ардуино, ничего не смыслю) Мне проще аналогово собрать, чем написать код, но увы, такого я собрать не смогу. Вот как получилось) Код (C++): #define PIN 12 #define NUM_LEDS 14 #include <Adafruit_NeoPixel.h> Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.setBrightness(255); strip.clear(); strip.show(); } void loop() { for (int j = 0; j < NUM_LEDS; j++ ) { strip.setPixelColor(j, 0x111111); strip.show(); delay(1);} int i=random(0,14); strip.setPixelColor(i, 0xffffff); strip.show(); delay(30); strip.setPixelColor(i, 0x000000); strip.show(); delay(30); strip.setPixelColor(i, 0xffffff); strip.show(); delay(30); strip.setPixelColor(i, 0x111111); strip.show(); delay(600); } Задача поменялась, нужно сделать эффект перелива (не знаю как объяснить), что-то типа перелива блёсток на солнце.
Если ws2812 то светить начинают с 8 что ли или с 12 не помню, но сразу заметно так, минимум у них мощный. Перелив можно найти в примерах библиотеки.