En este apartado aprenderás a codificar operaciones matemáticas para realizar los cálculos que necesites hacer en tus programas de Arduino.
Operadores matemáticos
Los operadores matemáticos de Arduino que utilizaremos en este manual se presentan en la Tabla 1:
Operador | Operación | Ejemplo |
+ | suma | 2 + 3 |
– | resta | 2 – 3 |
* | multiplicación | 2 * 3 |
/ | división | 2 / 3 |
% | módulo o residuo | 2 % 3 |
Expresiones matemáticas
Los operadores pueden ser usados para crear expresiones que contengan uno o más operadores, valores fijos o también pueden incluir variables. Algunos ejemplos de expresiones matemáticas son:
2 + 3 * 2 | 2 * 3 / (1 + 5) | (2 + 3) / 1 + 5 |
(2 + 3) * 2 | (2 * 3) / (1 + 5) | (2 + 3) / (1 + 5) |
2 * 3 / 1 + 5 | 2 + 3 / 1 + 5 | (x + 3) / (1 + y) |
6 % 3 + 2 | 4 % 3 + x * 4 | a % b – c |
Evaluación de expresiones matemáticas
La evaluación de una expresión matemática se hace siguiendo las reglas de precedencia y asociatividad de operadores que ya conoces de matemáticas. La primera prioridad la tienen las operaciones de división, multiplicación y módulo. Si existe más de una de estas operaciones en la misma expresión, éstas se ejecutan de izquierda a derecha.
Una vez que se realizan todas las multiplicaciones, divisiones y módulos de la expresión matemática, entonces se procede con el cálculo de todas las sumas y restas. Al igual que el caso anterior, si existe más de una operación de suma o resta, se ejecutan de izquierda a derecha.
También es conveniente recordar que cuando una operación matemática se coloca entre paréntesis, la operación se realizará primero. La Tabla 2 resume estas reglas:
Operador matemático | Operación | Evaluación de la expresión |
( ) | Expresión matemática | De izquierda a derecha |
/, *, % | División, multiplicación, módulo | De izquierda a derecha |
+, – | Suma y resta | De izquierda a derecha |
Analiza los siguientes ejemplos donde se desglosan los pasos que se realizan para calcular las expresiones matemáticas:
2 + 3 * 2 = 2 * 6 = 12 | (2 + 3) * 2 = 5 * 2 = 10 | 2 * 3 / 1 + 5 = 6 / 1 + 5 = 6 + 5 = 11 |
2 * 3 / (1 + 5) = 2 * 3 / 6 = 6 / 6 = 1 | (2 * 3) / ( 1 + 5) = 6 / (1 + 5 ) = 6 / 6 = 1 | 2 + 3 / 1 + 5 = 2 + 3 + 5 = 5 + 5 = 10 |
2 + 3 / (1 + 5) = 2 + 3 / 6 = 2 + 0.5 = 2.5 | (2 + 3) / 1 + 5 = 5 / 1 + 5 = 5 + 5 = 10 | (2 + 3) / (1 + 5) = 5 / (1+ 5) = 5 / 6 = 0.833333 |
Almacenar el resultado de una expresión matemática
Recuerda que si necesitas almacenar el resultado de una expresión matemática en una variable debes utilizar el operador de asignación =. El valor de la expresión del lado derecho del signo de igualdad (=) es almacenado en la variable del lado izquierdo. No olvides que antes de utilizar una variable en el programa debe ser previamente declarada con su tipo de dato correspondiente.
Ejemplo:
int x = 0; // Se declara la variable x de tipo int y se inicializa con 0
x = (2 + 3) * 2; // Se modifica el valor de la variable x con el valor 10
El tipo de dato de una expresión matemática
El resultado de una expresión matemática en Arduino puede ser un número entero o un número real. Una operación matemática donde todos sus operandos son de tipo entero (int), dará como resultado un valor entero (int). Una operación matemática que use al menos un operador de tipo real (float o double), dará como resultado un número real (float o double).
Ejemplos:
Una expresión matemática con todos los operadores tipo int da como resultado un valor tipo int |
int x; x = 2 + 3 / (1 + 5); La evaluación de la expresión será: Observa que aunque el resultado de la operación 3/6 da como resultado 0.5, Arduino determina que el resultado es 0 (número entero) debido a que los operadores 3 y 6 son de tipo int. En este tipo de casos, Arduino trunca los decimales. |
Una expresión matemática con al menos un operador de un número real da como resultado un valor tipo real (float o double) |
double x; x = 2 + 3 / (1.0 + 5); La evaluación de la expresión será: En este caso, observa que la expresión matemática tiene un valor tipo doble (6.0), por lo tanto, el resultado de la operación será de tipo double (número real). |

Autoevaluación

Para aprender más
Braga, N. (s/f). Prácticas y código ejemplo para instrucciones matemáticas con Arduino. http://www.incb.com.mx/index.php/articulos/78-microcontroladores-y-dsps/3371-practicas-y-codigo-ejemplo-para-instrucciones-matematicas-con-arduino-uno-mic040s
Spark Electrónica. (2017). Arduino Basics: Operadores Aritméticos. https://sparkelectronica.wordpress.com/2017/07/26/arduino-basics-operadores-aritmeticos/