Генератор случайных 3х чисел для ШИМ

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Киньте идеи с кодом пожалуйста. а то чего-то голова не варит.

ЗАДАЧА: имеем условие если одно значение переходит порог (тоесть больше) другого получаем три совершенно разных числа в диапазоне 0-255. 

Zaliv
Offline
Зарегистрирован: 05.03.2011

ну наверно, порт 0 должен быть неподключен

long randNumber1;
long randNumber2;
long randNumber3;

void setup(){
  randomSeed(analogRead(0));
}

void loop(){
  if (условие)
  {
    randNumber1 = random(0,255);
    randNumber2 = random(0,255);
    randNumber3 = random(0,255);
  }
}

 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Я почти также думал подизучив команду рандом) Только  зачем тип long для  randNumber1? если значения будут от 0 до 255, должно ведь хватить и int?

Да и зачем освобождать порт 0, мне кажется наоборот должны поступать на его вход сигналы, а от их колебаний должны генерироваться разные числа, правильно?

Modular
Offline
Зарегистрирован: 05.03.2011

  Порт должен быть неподключен, т.к. с неподключенного порта будут сниматься случайные значения, тем самым генератор случайных чисел будет генерировать каждый раз другую случайную последовательность. А если порт будет зафиксирован, то генератор каждый раз после перезапуска будет отдавать одну и ту же псевдослучайную последовательность.