Amigos,

Tenho 3 leds: led1, led2 e led3. Quero ligar e desligar eles aleatoriamente, permanecendo, no caso, um segundo aceso e um segundo apagado.

Como fazer para que não haja a possibilidade dos três estarem apagados ao mesmo tempo?

Agradeço desde já,

Fabio

Exibições: 101

Responder esta

Respostas a este tópico

Da mesma forma que vc liga e desliga, vc ajusta para um ficar sempre ligado.

O mais comum seria vc pensar em estados.

Digo, vc "sorteia" uma situação de 0 a 2.
Se deu 0 vc liga o primeiro.
Se deu 1, o segundo
2 o terceiro.

Amigos, resolvi assim:

unsigned int estado_luz1 = 0,
estado_luz2 = 0,
estado_luz3 = 0;

if (estado_luz1)
{
if (estado_luz2 or estado_luz3)
estado_luz1 = 0;
}
else
estado_luz1 = 1;

digitalWrite(led1, estado_luz1);

if (estado_luz2)
{
if (estado_luz1 or estado_luz3)
estado_luz2 = 0;
}
else
estado_luz2 = 1;

if (estado_luz3)
{
if (estado_luz1 or estado_luz2)
estado_luz3 = 0;
}
else
estado_luz3 = 1;

digitalWrite(led3, estado_luz3);

Agradeço a ajuda. Um abraço.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço