Ya hemos realizado nuestro primer programa con Arduino y el Shield de Prácticas. Era un programa sencillo en el que Arduino se comporta como un autómata, repitiendo una serie de ordenes una y otra vez sin que las condiciones de su entorno lo afecten de forma alguna. Esto puede ser práctico para algunos tipos de programas pero una de las cosas más interesantes de los microcontroladores es que pueden evaluar su entorno y realizar acciones en respuesta a mediciones de sensores. Para ello podemos capturar mediciones o cambios de estado en un sensor y compararlos con un número, un estado o el resultado de una operación matemática.

Empezaremos con las comparaciones, pues es lo primero que veremos en este mini-curso. En el próximo ejercicio (el comando if) ya utilizaremos una comparación.

Las comparaciones se pueden resumir en un cuadro muy simple:
comparaciones ArduinoCuando usamos una comparación en un programa la expresión que utilicemos nos devolverá un true o un false según se cumpla o no y con ello podemos emprender unas acciones u otras. Pero aquí hay una pequeña trampa ya que no es necesario que comparemos la expresión con un true  o con un false para que el programa funcione … vamos a ver unos ejemplos:

1
if ((variable == número) == true)

Es correcta y el programa funcionará bien, pero es en cierto sentido redundante y nos puede llevar a confusión … además de dejar nuestro código “sucio”.

Una forma mucho más correcta y más simple de escribir la misma expresión es:

1
if (variable == número)

Sin comparar nuestra expresión con la salida que dará. Digamos que mientras la expresión se cumpla (su resultado sea un true) el programa entrará en la estructura if y si la expresión no se cumple (y su resultado es un false) el programa no entrará en la estructura if, quedando además nuestro código mucho más limpio.

A partir de ahora vamos a ver muchas estructuras de control y todas ellas necesitan evaluar condiciones para actuar o no.


Si este tutorial te ha sido de utilidad puedes considerar hacerme un donativo, por pequeño que sea estarás contribuyendo a que siga con esta labor.