Imagínate la función loop() de un código de Arduino que se repite indefinidamente dentro de nuestro programa. Es donde realmente suceden las cosas, Seguramente te estés preguntando, si se repite una y otra vez el mismo código que está dentro de la función loop() ¿por qué obtenemos resultados diferentes?. Pues en gran medida es debido a las sentencias condicionales if con Arduino.
Sintax de condicional If
if es una instrucción que se utiliza para comprobar si una determinada condición se ha alcanzado, como por ejemplo averiguar si un valor analógico está por encima de un cierto número. Si la condición es TRUE (cierta) se ejecutan una serie de declaraciones (operaciones) que se escriben dentro de llaves. Si es FALSE (la condición no se cumple) el programa se salta las llaves y no ejecuta las operaciones que están dentro de ellas.
a sintaxis de la sentencia if con Arduino es muy sencilla. Comenzamos escribiendo la palabra reservada if (en español se traduce como si condicional). Luego entre paréntesis ponemos la condición y por último abrimos y cerramos las llaves.
La condición es la que hará que se ejecute el código que hay entre las llaves. Si es verdadera, el flujo del código de Arduino entrará dentro de las llaves y ejecutará todo lo que hay dentro
Realmente, para que algo sea verdadero o falso necesitamos compararlo con algo. Lo típico es utilizar la sentencia condicional if, tradicionalmente solemos utilizar el término igual, con números, pero también se pueden utilizar otro tipo de datos.
Podemos comparar temperatura, presión atmosférica, radiación ultravioleta, tiempo, intensidad, voltaje, nivel de agua y cualquier magnitud susceptible de ser medida.
Algo que creo que todos entendemos es la temperatura. Por ejemplo, podemos escribir un código donde dependiendo de la temperatura mueva un servomotor que activa un ventilador.
Condicional If con operadores de comparación
En este caso estamos diciendo que siempre que la temperatura sea mayor que 25, mueva un servomotor. Pero también podríamos haber programado si la temperatura es menor que 30 o si es mayor o igual que 25.
Todo lo expuesto anteriormente son comparaciones. Lo único que hacemos es comparar dos valores y evaluamos si es verdadero o falso. Para poder comparar se utilizan los operadores de comparación.
Con la sentencia if con Arduino se pueden utilizar 6 operadores de comparación:
Advertencia:
Tenga cuidado con el uso accidental del signo igual solo (por ejemplo, if (x = 10). Un solo signo igual es el operador de asignación y establece que x = 10 (pone el valor 10 en la variable x).
Use en su lugar, el doble signo igual (por ejemplo, if (x == ), que es el operador de comparación y comprueba si x es igual a 10 o no. Esta última instrucción solo es cierta si x es igual a 10, pero la primera instrucción será siempre cierta.
El circuito propuesto consta de dos pulsadores que encienden dos leds, cada pulsador encenderá un led, para ello usaremos:
Encendido condicional de LEds
• 1 Arduino uno
• 2 Diodos Leds color rojo, y verde
• 2 Resistencias 330Ω
• 1 Protoboard
• 2 Pulsadores