En esta lección aprenderás a codificar y evaluar expresiones relacionales para realizar comparaciones que se requieran al hacer en tus programas de Arduino.
Operadores relacionales
Los operadores relacionales de Arduino que utilizaremos se presentan en la Tabla 1
Operador | Operación | Ejemplo |
== | igual que | a == b |
!= | no es igual a | a != b |
> | mayor que | a > b |
< | menor que | a < b |
<= | menor que o igual | a <= b |
>= | mayor que o igual | a >= b |
Tabla1. operadores relacionales de Arduino
Expresiones relacionales
Las expresiones relacionales son aquellas que permiten comparar dos valores, pueden ser números, caracteres alfanuméricos, constantes o variables. Algunos ejemplos de expresiones relacionales se muestran en la Tabla 2:
Expresión | Descripción | Expresión | Descripción |
a > b | ¿Es a mayor que b? | 3 >= 6 + 7 | ¿ Es 3 menor o igual que 6+7? |
b < c | ¿Es b menor que c? | ‘M’ > ‘m’ | ¿Es ‘M’ mayor que ‘m’? |
a >= c | Es a mayor o igual que c? | ´Hola’ == ´hola’ | ¿Es ‘Hola igual a ‘hola’? |
Tabla 2. Expresiones relacionales
Evaluación de expresiones relacionales
El resultado de evaluar una operación relacional es un falso o un verdadero. Para comprender cómo se evalúa una expresión relacional, vamos a ver el siguiente video:
Analiza los siguientes ejemplos donde se desglosan los pasos que se realizan para evaluar las expresiones relacionales:
Ejemplo 1 | Ejemplo 2 | Ejemplo 3 |
A=6 b=10 (A*2) > (B*2) 12 > (B*2) 12 > 10 FALSO | x=2 y=3 (2 * 3 / 1 + 5 ) >= (x + 3) / (1 + y) (6/1+5) >= (3+3) / (1+3) (6+5) >= 6 / 11 >= 1.25 TRUE | (2 + 3) / (1 + 5) != (2 + 3) * 2 5 / (1+ 5) != 5 * 2 5 / 6 != 10 0.8333 != 10 TRUE |
Tabla 3. Evaluación de expresiones relacionales
Ahora que ya comprendimos la lógica y cómo se evalúan las expresiones relacionales vamos a hacer un ejemplo:
Se desea programar un circuito que encienda un LED cuando el resultado de una expresión expresión relacional sea verdadero (1) y que se apague cuando sea falso (0);

Para realizar diferentes expresiones relacionales, se declaran las variables a y b de tipo entero, x y y de tipo char y cadena1 y cadena2 de tipo string como sigue:
a = 5;
int b = 3;
int c = 2;
char x ='M';
char y ='m';
String cadena1="Hola";
String cadena2="hola";
En este caso la tarjeta Arduino puede enviar al LED dos valores: HIGH (1) si es un verdadero y LOW (0) si es falso, entonces debemos configurar el pin de entrada. La instrucción de configuración del pin 5 digital sería:
pinMode(3, INPUT); // configura el pin 3 de entrada
En el programa se proporciona la expresión relacional para ser evaluada. Para encender el LED, en lugar de proporcionar el valor HIGH (1) o LOW (0) en la función digitalWrite, se proporciona la expresión relacional. El resultado de la evaluación proporcionará un verdadero (1) y enciede el LED, o un falso (0) y apaga el LED. La codificación de la función digitalWrite sería:
digitalWrite(3,(a>b));
Es importante señalar que el resultado de la expresión relacional dependerá de los valores con los que se haya inicializado las variables.
Manos a la obra

Ahora que ya conoces cómo codificar y evaluar expresiones relacionales, vamos a realizar una práctica que consiste en la construcción y programación de un circuito electrónico que encienda un led cuando el resultado sea verdadero y apagado cuando el resultado sea falso .
Materiales








Si no te acuerdas o deseas repasar las características técnicas y funcionamiento de alguno de los componentes electrónicos, puedes dar clic sobre su imagen para consultar su información.
Construcción del circuito electrónico
Realiza las conexiones del circuito electrónico que se muestra en el diagrama esquemático de la Figura 3. Observa que el ánodo del led va conectado a la resistencia.

Programación del circuito electrónico
/* Manual de programación con Arduino
* Práctica: Codificación y evaluación de expresiones relacionales
* Objetivo: Programa que enciende un led con expresiones relacionales
* Fecha: noviembre 2020
* Autor: Milagros Pacheco Castañeda
*/
int a = 5;
int b = 3;
int c = 2;
char x ='M';
char y ='m';
String cadena1="Hola";
String cadena2="hola";
void setup() {
pinMode(3, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.print("¿Es a mayor que b? ");
Serial.println (a > b);
digitalWrite(3,(a>b));
delay(1000);
Serial.print("¿Es b menor que c? ");
Serial.println (b < c);
digitalWrite(3,(b<c));
delay(1000);
Serial.print("¿Es a mayor o igual que c? ");
Serial.println (a >= c);
digitalWrite(3,(a >= c));
delay(1000);
Serial.print("¿ Es a menor o igual que b+c? ");
Serial.println (a <= b+c);
digitalWrite(3,(b <= b+c));
delay(1000);
Serial.print("¿Es a igual que b? ");
Serial.println (a == b);
digitalWrite(3,(a == b));
delay(1000);
Serial.print("¿Es b no igual que c? ");
Serial.println (b != c);
digitalWrite(3,(b != c));
delay(1000);
Serial.print("¿Es a igual que b+c? ");
Serial.println (a == b+c);
digitalWrite(3,(a == b+c));
delay (1000);
Serial.print("¿Es a+c mayor o igual b+c? ");
Serial.println (a+c >= b+c);
digitalWrite(3,(a+c >= b+c));
delay(1000);
Serial.print("¿Es 'M' mayor que 'm'? ");
Serial.println (x > y);
digitalWrite(3,(x > y));
delay(1000);
Serial.print("¿Es 'M' menor que 'm'? ");
Serial.println (x < y);
digitalWrite(3,(x < y));
delay(1000);
Serial.print("¿Es 'M' igual que 'm'? ");
Serial.println (x == y);
digitalWrite(3,(x == y));
delay(1000);
Serial.print("¿Es 'Hola mayor o igual a 'hola'? ");
Serial.println (cadena1 >= cadena2);
digitalWrite(3,(cadena1 >= cadena2));
delay(1000);
Serial.print("¿Es 'Hola igual a 'hola'? ");
Serial.println (cadena1 == cadena2);
digitalWrite(3,(cadena1 == cadena2));
delay(1000);
Serial.print("¿Es 'Hola' no igual a 'hola'? ");
Serial.println( cadena1 != cadena2);
digitalWrite(3,(cadena1 != cadena2));
delay(1000);
}
Observa como cada expresión relacional es usada como parámetro de la función digitalWrite, y al ser evaluada determina el valor que envía la tarjeta Arduino a través del pin 5 al led (HIGH-encendido, LOW-apagado).
Funcionamiento del circuito electrónico
Prueba el funcionamiento de tu circuito electrónico. Verifica que el circuito funcione como la simulación que se muestra a continuación. Presiona el botón Iniciar simulación y da un clic el botón monitor serial para observa el resultado de cada expresión relacional. Dependiendo del resultado el led se enciende o se apaga .
Si en tu navegador no se muestra la simulación, ingresa al enlace www.tinkercad.com/embed/3oJWmQpUsrz?editbtn=1

Autoevaluación

Para aprender más
Creatividad codificada (2018) Tipos de datos y operadores en Arduino. https://creatividadcodificada.com/arduino/tipos-de-datos-y-operadores-en-arduino/
Spark Electrónica. (2017). Arduino Basics: Operadores comparativos o relacionales. https://sparkelectronica.wordpress.com/2017/08/02/arduino-basics-operadores-comparativos-o-relacionales/