Ви не увійшли.
Каждое случайное чисно генерируется на основе предыдущего, вот и получается всегда одна и та же последовательность. Тут Вам какраз и пригодится randomSeed()
Дякую! Тепер 8 загорається.
Я завжди думав що випадкові числа випадкові
Зараз це 8,2,3,1,7...
З перетасовкою розберуся, коли краще вивчу C++.
Возвращаемые значения
случайное число в диапазоне от min до max-1 (long)
Т.е. чтобы вернуло 0..7 нужно вызывать random(0,8)
И еще совет, если последние незагоревшиеся светодиоды "тянут" с загоранием слишком долго и этот эффект не нужен, то можно, например, заранее подготовить порядок включения перетасовкой массива.
https://doc.arduino.ua/ru/prog/Random
Наче ж в все правильно.
https://doc.arduino.ua/ru/prog/Random
Є стрічка 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 () не працює, видає помилку.