Estructuras alternativas

Estructuras alternativas

También llamadas estructuras condicionales, son aquellas que controlan la ejecución o la no ejecución de una o más instrucciones en función de que se cumpla o no una condición establecida.

a) Alternativa simple

Ejemplo

Realizar un programa para encender un diodo Led en función del estado de un pulsador.




int pinPulsador=8; // Declaramos la variable pinPulsador con el número del pin en qué está conectado
int pinLed=13; //Pin donde esta conectado el diodo led
int estadoPulsador=0;

void setup() // Función que se ejecuta una sola vez.
{
pinMode(pinPulsador, INPUT); // Inicializa el pin  8 como entrada
pinMode(pinLed, OUTPUT); // Inicializar el pin digital (pinLed) como salida.
}

void loop() // Función que se ejecuta una y otra vez, de forma ininterrumpida.
{
estadoPulsador= digitalRead(pinPulsador); // Lee el valor del pin del pulsador y lo almacena en la variable estadoPulsador
if(estadoPulsador==LOW)
  {
    digitalWrite(pinDiodo, HIGH); // Si es así activa el diodo
    delay(1000); // Esperar un segundo
  } }


b) Alternativa doble

Ejemplo

Realizar un programa para encender o apagar un diodo Led en función del estado de un pulsador. ON el diodo led luce, OFF  el diodo led no luce.




int pinPulsador=8; // Declaramos la variable pinPulsador con el número del pin en qué está conectado
int pinLed=13; //Pin donde esta conectado el diodo led
int estadoPulsador=0;

void setup() // Función que se ejecuta una sola vez.
{
pinMode(pinPulsador, INPUT); // Inicializa el pin  8 como entrada
pinMode(pinLed, OUTPUT); // Inicializar el pin digital (pinLed) como salida.
}

void loop() // Función que se ejecuta una y otra vez, de forma ininterrumpida.
{
estadoPulsador= digitalRead(pinPulsador); // Lee el valor del pin del pulsador y lo almacena en la variable estadoPulsador
if(estadoPulsador==LOW)
{
digitalWrite(pinDiodo, HIGH); // Si es así activa el diodo
delay(1000); // Esperar un segundo
}
else
{
digitalWrite(pinLed, LOW); // Apagar el led, haciendo que el voltaje sea bajo.
delay(500); // Esperar un segundo
}
}