CONTENIDO ►
El lenguaje IDE de Arduino, como todos los lenguajes de programación, tiene operadores que permiten realizar operaciones matemáticas y lógicas. Anteriormente vimos que los microcontroladores Arduino pueden manejar diferentes tipos de datos y variables. En esta lección, veremos cómo utilizar operaciones matemáticas y realizar operaciones aritméticas con diferentes tipos de variables y números al programar una placa Arduino.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
El orden de los cálculos en el lenguaje de programación Arduino IDE sigue las reglas habituales de la aritmética: primero se ejecuta la expresión entre paréntesis, después las operaciones de multiplicación y división, y por último se realizan las operaciones de suma y resta. Nota: no confundas el símbolo de asignación = en Arduino IDE con el símbolo de comparación ==, que se utiliza en las construcciones lógicas if else del sketch.
Tabla: Operadores matemáticos de Arduino
La siguiente tabla enumera los símbolos de los operadores matemáticos en el lenguaje Arduino con ejemplos que se utilizan con más frecuencia en programación.
| nombre de función | símbolo | ejemplo |
| asignación | = |
int x = 5; // devuelve5
|
| adición | + |
int x = 5 + 2; // devuelve 7
|
| substracción | – |
int x = 5 - 2; // devuelve 3
|
| multiplicación | * |
int x = 5 * 2; // devuelve 10
|
| división | / |
int x = 5 / 2; // devuelve 2
|
| resto de división | % |
int x = 5 / 2; // devuelve 1
|
En el siguiente programa daremos un ejemplo de la función aritmética más simple – la operación de suma. También realizaremos la división de valores enteros y guardaremos la respuesta en la variable int x – en este caso la respuesta será un entero, y el resto de la división simplemente se descarta. Si utilizas la variable float y en los cálculos, la parte fraccionaria no se descartará. Tenlo en cuenta cuando escribas programas en el futuro.
Programa con un ejemplo de operaciones matemáticas
int x; float y; void setup() { Serial.begin(9600); // operación de suma, devolverá la respuesta 9 x = 1 + 6 + 2; Serial.println("x = " + String(x)); delay(1000); // una operación de división sin resto, devolverá la respuesta 3 x = (1 + 6) / 2; Serial.println("x = " + String(x)); delay(1000); // división con resto, devolverá la respuesta 3.50 y = (1 + 6) / 2.00; Serial.println("y = " + String(y)); delay(1000); } void loop() { }
Explicación del código con operaciones matemáticas Arduino:
- la operación de suma funciona no sólo con números y variables numéricas, sino también con variables de tipo Char y String.
Tabla: operadores matemáticos compuestos
La siguiente tabla muestra los símbolos de los operadores compuestos, que son operadores formados a partir de combinaciones de operadores aritméticos y operadores de comparación. Los operadores unarios le permiten hacer su programa más conciso.
| nombre de función | símbolo | ejemplo |
| incremento unitario | ++ |
x++ // idénticamente x = x + 1
|
| reducción unitaria | – – |
x-- // idénticamente x = x - 1
|
| adición compuestos | += |
x += 2; // idénticamente x = x + 2
|
| substracción compuesta | -= |
x -= 2; // idénticamente x = x - 2
|
| multiplicación compuesta | *= |
x *= 2; // idénticamente x = x * 2
|
| división compuesta | /= |
x /= 2; // idénticamente x = x / 2
|
| resto de la división | %= |
x %= 2; // idénticamente x = x % 2
|
En el siguiente ejemplo, utilizando el operador de suma compuesta, el valor 20 se añadirá cada vez a la variable entera byte x. Tenga en cuenta que una variable de tipo byte puede almacenar un valor máximo de 255. Por lo tanto, en algún momento la variable byte se desbordará (el valor será mayor que 255) y se «pondrá a cero». Este hecho también debe tenerse en cuenta al realizar operaciones aritméticas con Arduino Uno.
Programa con operadores matemáticos compuestos
byte x = 0; void setup() { Serial.begin(9600); } void loop() { // cada ciclo añade 20 a la variable x += 20; Serial.println("x = " + String(x)); delay(500); }
Explicación del código con operaciones aritmeticos Arduino:
- la variable x se enviará al monitor del puerto Arduino IDE.
Funciones matemáticas en Arduino IDE

Función abs() Arduino
Esta función se utiliza para convertir un número negativo en un número positivo. La función abs() toma un número como parámetro y devuelve un número positivo:
int x = abs(-2); // devuelve 2 int x = abs(0); // devuelve 0 int x = abs(2); // devuelve 2
Función max() Arduino
La función max() toma dos números como parámetros y devuelve el mayor de ellos:
int x = max(2, 5); // devuelve 5
Función min() Arduino
La función min() toma dos números como parámetros y devuelve el número más pequeño:
int x = min(2, 5); // devuelve 2
Función sqrt() Arduino
La función sqrt() en Arduino se utiliza para obtener la raíz cuadrada de un número:
float x = sqrt(25); // devuelve 5.00
Función sq() Arduino
La función sq() en Arduino devuelve el cuadrado de un número dado por un parámetro:
float x = sq(5); // devuelve 25.00
Funciones trigonometría en Arduino IDE
Función cos() Arduino
La función cos() toma un parámetro de ángulo y devuelve el valor del coseno de 1 a -1:
float x = cos(90); // devuelve -0.45
Función sin() Arduino
La función sin() toma un parámetro de ángulo y devuelve un valor de seno entre 1 y -1:
float x = sin(90); // devuelve 0.89
Función tan() Arduino
La función tan() toma un ángulo en radianes como parámetro y devuelve un valor entre menos infinito y más infinito:
float x = tan(0); // devuelve 0.00
Conclusión. Estas no son todas las funciones aritméticas disponibles que se pueden utilizar al programar un microcontrolador Arduino. Pero para la gran mayoría de tutoriales y proyectos sobre Arduino los operadores matemáticos que se han revisado en este artículo serán suficientes. Si necesitas completar esta revisión y considerar otras funciones matemáticas, escribe sobre ello en los comentarios de esta página.

Deja una respuesta