Заголовок должен отражать суть темы. Переформулируй или тема будет удалена.
Здравствуйте!!!
Нужно, чтобы при вращении потенциометра плавно изменялся цвет светодиодов от зелёного к жёлтому, от жёлтого к оранжевому, от оранжевого к красному и обратно. Я смог сделать, чтобы изменялся цвет, но не так как нужно. Использую метод потока, потому что подумал, что так будет проще. Светодиодов много(1024) и для этого я заказал arduino mega2560( у nano не хватает памяти) , но для тестов использую arduino nano и 512 светодиодов. Кому не сложно, можете направить меня в нужное русло. Просмотрел много форумов, но не нашёл ничего подобного.
Мой скетч:
#include <microLED.h>
#define M_PIN 6 // пин матрицы
#define P_PIN 0 // пин потенциометра
#define M_WIDTH 8 // ширина матрицы
#define M_HEIGHT 64 // высота матрицы
#define NUM_LEDS (M_WIDTH * M_HEIGHT)
#define COLOR_DEBTH 3
microLED<NUM_LEDS, M_PIN, MLED_NO_CLOCK, LED_WS2818, ORDER_GRB, CLI_AVER> strip;
void setup() {
pinMode(P_PIN, INPUT);
strip.setBrightness(100);
}
void loop() {
int color = analogRead(P_PIN)/ 4;
mData data = mWheel8(color);
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.send(data);
}
strip.end();
delay(60);
}
Нужно, чтобы при вращении потенциометра плавно изменялся цвет светодиодов от зелёного к жёлтому, от жёлтого к оранжевому, от оранжевого к красному и обратно. Я смог сделать, чтобы изменялся цвет, но не так как нужно. Использую метод потока, потому что подумал, что так будет проще. Светодиодов много(1024) и для этого я заказал arduino mega2560( у nano не хватает памяти) , но для тестов использую arduino nano и 512 светодиодов. Кому не сложно, можете направить меня в нужное русло. Просмотрел много форумов, но не нашёл ничего подобного.
Мой скетч:
#include <microLED.h>
#define M_PIN 6 // пин матрицы
#define P_PIN 0 // пин потенциометра
#define M_WIDTH 8 // ширина матрицы
#define M_HEIGHT 64 // высота матрицы
#define NUM_LEDS (M_WIDTH * M_HEIGHT)
#define COLOR_DEBTH 3
microLED<NUM_LEDS, M_PIN, MLED_NO_CLOCK, LED_WS2818, ORDER_GRB, CLI_AVER> strip;
void setup() {
pinMode(P_PIN, INPUT);
strip.setBrightness(100);
}
void loop() {
int color = analogRead(P_PIN)/ 4;
mData data = mWheel8(color);
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.send(data);
}
strip.end();
delay(60);
}