Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Honey
2020-12-14 16:25:28

Каждое случайное чисно генерируется на основе предыдущего, вот и получается всегда одна и та же последовательность. Тут Вам какраз и пригодится randomSeed()

Сергій_П
2020-12-14 15:32:49

Дякую! Тепер 8 загорається.

Я завжди думав що випадкові числа випадкові smile
Зараз це 8,2,3,1,7...

З перетасовкою розберуся, коли краще вивчу C++. smile

Honey
2020-12-14 15:12:31

Возвращаемые значения
случайное число в диапазоне от min до max-1 (long)

Т.е. чтобы вернуло 0..7 нужно вызывать random(0,8)

И еще совет, если последние незагоревшиеся светодиоды "тянут" с загоранием слишком долго и этот эффект не нужен, то можно, например, заранее подготовить порядок включения перетасовкой массива.

Сергій_П
2020-12-14 14:49:15
vvr пише:

https://doc.arduino.ua/ru/prog/Random

Наче ж в все правильно.

vvr
2020-12-14 14:47:28

https://doc.arduino.ua/ru/prog/Random

Сергій_П
2020-12-14 14:27:47

Є стрічка 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 () не працює, видає помилку.

Підвал форуму