Ви не увійшли.
Сторінки 1
Є стрічка WS2812, 8 пікселів, потрібно випадковим чином один за одним запалити всі пікселі.
Є код
#include <Adafruit_NeoPixel.h>
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 6
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 8
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}
void loop() {
pixels.setPixelColor(random (0,7), 255,100,10);
//pixels.setPixelColor(randomSeed(0,7), 255,100,10);
pixels.show();
delay (1000);
Але пікселі загораються не випадково - 1, 7, 3...
8 взагалі не загорається.
В чому може бути причина?
Функція randomSeed () не працює, видає помилку.
Остання редакція Сергій_П (2020-12-14 14:28:18)
Неактивний
Возвращаемые значения
случайное число в диапазоне от min до max-1 (long)
Т.е. чтобы вернуло 0..7 нужно вызывать random(0,8)
И еще совет, если последние незагоревшиеся светодиоды "тянут" с загоранием слишком долго и этот эффект не нужен, то можно, например, заранее подготовить порядок включения перетасовкой массива.
Неактивний
Сторінки 1