Buen día, tengo un problema que no he podido resolver, se trata de encender y apagar cuatro leds de forma específica, los leds son verde, amarillo, rojo y azul, al led verde le llegara una señal activada por un motor, y a los otros 3 leds se seleccionaran por un botón..
La función es la siguiente:
-
cuando el led verde este encendido por la señal del motor, estarán apagados los led amarillo, rojo y azul
-
cuando el motor pare y el led verde se apague, se encenderán los led amarillo, rojo y azul
-
cuando el motor este detenido y el led verde este apagado y el amarillo, rojo y azul encendidos, se debe poder seleccionar un solo led pulsando un botón, por ejemplo, si pulso el botón del led amarillo, este debe permanecer encendido, y deben apagarse el rojo y azul, cuando pulse el botón rojo deben de apagarse el amarillo y el azul, y cuando pulse el botón del led azul deben apagarse el amarillo y rojo, solo deberá estar encendido el led del botón que pulse, el led verde solo será controlado por el señal del motor, y cuando este esté encendido los otros tres leds no deberán encenderse aunque presione los botones, los botones solo tendrán función cuando el led verde este apagado por el paro del motor, para de esta forma cuando estén los tres encendidos seleccionar uno con el botón.
Disculpen si no es el lugar para postear este tema soy nuevo en Arduino y se me está complicando mucho, estos son los códigos que he realizado pero no me ha podido salir como lo piden.
int verde = 2;
int amarillo = 3;
int rojo = 4;
int azul = 5;
int bt_am = 6;
int bt_r = 7;
int bt_az = 8;
int bt_mq = 9;
int boton_amarillo;
int boton_rojo;
int boton_azul;
int boton_maquina;
void setup()
{
pinMode (amarillo, OUTPUT);
pinMode (rojo, OUTPUT);
pinMode (azul, OUTPUT);
pinMode (verde, OUTPUT);
pinMode (bt_am, INPUT);
pinMode (bt_r, INPUT);
pinMode (bt_az, INPUT);
pinMode (bt_mq, INPUT);
}
void loop()
{
int boton_amarillo = digitalRead(bt_am);
int boton_rojo = digitalRead(bt_r);
int boton_azul = digitalRead(bt_az);
int boton_maquina = digitalRead(bt_mq);
if(digitalRead (boton_maquina) == HIGH)
{
digitalWrite(verde, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(rojo, LOW);
digitalWrite(azul, LOW);
}
else
{
digitalWrite(verde, LOW);
digitalWrite(amarillo, HIGH);
digitalWrite(rojo, HIGH);
digitalWrite(azul, HIGH);
}
if(digitalRead (boton_amarillo) == HIGH)
{
digitalWrite(amarillo, HIGH);
digitalWrite(rojo, LOW);
digitalWrite(azul, LOW);
}
if(digitalRead (boton_rojo) == HIGH)
{
digitalWrite(rojo, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(azul, LOW);
}
if(digitalRead (boton_azul) == HIGH)
{
digitalWrite(azul, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(rojo, LOW);
}
}Texto preformateado