random

Spazio dedicato agli utenti Italiani
Post Reply
gianmagna
Posts: 20
Joined: Sun Feb 14, 2021 11:47 am
Has thanked: 31 times
Been thanked: 4 times

random

Post by gianmagna »

Ciao Francesco
ho 15 uscite su un esp32 mini
ne attivo random 13 su 15 con l'struzione x= rnd(random/4) ,il valore di random è 60 ,e fin qui tutto funziona
il problema che le uscite non devono ripetersi ,uno o più uscite si attivano o di seguito o più volte nella sequenza .
ho fatto il controllo se quel pin è già stato attivato ma nella sequenza mi ritrovo uno o due pin ripetuti.
ho provato altre strade ma senza riuscirci , c'è un sistema per non avere i doppioni ?
nella sequenza dodici uscite si attivano per 500ms e la 13ma pe 5 secondi poi con un un pulsante faccio ripartire la sequenza+

ciao e grazie a chi mi da una dritta
Gianfranco
User avatar
cicciocb
Site Admin
Posts: 2793
Joined: Mon Feb 03, 2020 1:15 pm
Location: Toulouse
Has thanked: 593 times
Been thanked: 1998 times
Contact:

Re: random

Post by cicciocb »

non é che sia tanto chiara la tua richiesta.

Vuoi attivare in modo casuale 12 uscite per 500 msec senza che si ripetano e quella che rimane per 5 secondi?

Se é questa la tua domanda, usa un array tipo uscite(13) e, usando il rnd, prima di attivare l'uscita verifica se la tabella alla riga corrispondente é zero; se é zero attiva l'uscita e metti la linea a 1 altrimenti salta il numero e prendi un altro random fino a trovare una riga vuota (cioé a zero).
Conta quante ne hai attivate e, quando sei a 12, cerca l'ultima riga a zero e attivala
gianmagna
Posts: 20
Joined: Sun Feb 14, 2021 11:47 am
Has thanked: 31 times
Been thanked: 4 times

Re: random

Post by gianmagna »

ciao Francesco

ottimo ,mi ero intestardito sul numero random invece così scelgo random la porta dalla tabella e se è attiva ne scelgo un'altra
grazie mille
Post Reply