Рандомное включение светодиодов

Fenx49
Offline
Зарегистрирован: 28.05.2022

Всем доброго времени суток, подскажите пожалуйста чайнику, есть скетч которф

Fenx49
Offline
Зарегистрирован: 28.05.2022

Есть скетч который рандомно включает светодиоды по очереди

uint8_t pins[] = {2,3,4,5,6,7,8};
uint8_t pins_left = sizeof(pins);


void setup() {
  for(auto p: pins) pinMode(p, OUTPUT);
  randomSeed(analogRead(A0));
}

void loop() {
  while(pins_left) {
    uint8_t r = random(pins_left--);
    for(auto p: pins) digitalWrite(p, digitalRead(p) || r-- == 0);
    delay(1000);
  }
}

Нужно сделать наоборот чтоб изначально были все включенны, а потом отключались поочереди, вообще не догоняю что менять тут

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Очевидно сначала все зажечь, потом гасить.
Тут тебе либо другой скетч искать, либо учится и делать как нужно.

Ещё варианты:
1.договорится с преподом.
2.заказать у того кто соображает

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Лови студент, зажечь я тебе помог, тебе осталось только потушить )))
 

Fenx49
Offline
Зарегистрирован: 28.05.2022

Уже зажигал, но именно проблема в тушении

inspiritus
Offline
Зарегистрирован: 17.12.2012

Тушение - противоположность зажиганию

отличие лишь  в восклицательном знаке

Fenx49
Offline
Зарегистрирован: 28.05.2022

Куда его поставить? уже пробывал не получалось

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Ладно,я сегодня не жадный, поправил, сам жеж не одолеещь....

Fenx49
Offline
Зарегистрирован: 28.05.2022

Спасибоооо огромное, выручили

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Fenx49 пишет:

Спасибоооо огромное, выручили

ты бы хоть попробовал понять как оно работает, а то спросит препод и будешь выглядеть дурак дураком )))

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Fenx49 пишет:

Уже зажигал, но именно проблема в тушении

"Писец" - это профессия такая! , Книжки люди переписывали. После появления книгопечатания практически исчезла, но в наши дни, с появлением ютуба,видосиков и ардуино, переживает второе рождение.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а вот почему рандом при 7 светодиодах всегда начинает с пина 2 - занятно, при 12 ведёт себя более адекватно

sadman41
Offline
Зарегистрирован: 19.10.2016

seed нужно давать приличный. Внутрях Wiring рандом такой, что при 7 и кратных (вроде) выдаёт предсказуемый (один и тот же) первичный результат.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ясно!
мне код понравился, красотой и лаконичностью

kalapanga
Offline
Зарегистрирован: 23.10.2016

В симуляторе ещё наверное analogRead(A0) совсем не случайный.