Operadores matemáticos en Arduino

En este segundo módulo, aprenderás a utilizar los operadores matemáticos en Arduino. Estos operadores, permiten realizar cálculos matemáticos en un programa de Arduino.

Los operadores matemáticos en Arduino, se dividen en operadores básicos y operadores avanzados que permiten realizar cálculos de trigonometría, raíces cuadradas, potencias y min/max.

Operadores matemáticos básicos en Arduino

Los operadores matemáticos básicos en Arduino son:

  • El signo más (+) que es usado para la suma.
  • El signo menos (-) usado para la resta.
  • El asterisco (*) para la multiplicación.
  • Y por último está la barra inclinada (/) para la división.

Cuando escribimos una expresión matemática o declaramos una variable en Arduino, usamos lo que se llama un operador de asignación.

El operador de asignación es el signo igual (=).

El operador de asignación se utiliza para asignar un valor a una variable.

Por ejemplo, cuando declaramos una variable entera con el nombre x y queremos que almacene el número 1:

int x = 1;

Esto le dice al programa que almacene el número entero 1 en la variable x.

Para realizar una suma, usamos el operador de suma (+):

int x = 2 + 1;

Esto almacenará el resultado de 2 + 1, en la variable de nombre x.

La resta se realiza con el operador de resta (-):

int x = 2 - 1;

Esto almacenará el resultado de 2 - 1 dentro de la variablex.

La multiplicación se realiza con el operador de multiplicación (*):

int x = 2 * 4;

Esto almacenará el resultado de 2 * 4 dentro de la variable x.

La división se realiza con el operador de división (/):

int x = 4 / 2;

Esto almacenará el resultado de 4 / 2 dentro de la variable x.

También puede hacer cálculos con variables. Por ejemplo, en lugar de usar números enteros en los ejemplos anteriores, podríamos usar las variables a y b:

int x = a / b;

Para realizar operaciones de división en Arduino, es muy importante tener en cuenta la declaración inicial de la variable que almacenará dicha división.

Si declaras una variable entera (int) y el resultado de la división no es un número entero, se almacenará en la variable solo la parte entera. Observar en el siguiente ejemplo:

void setup() {
  Serial.begin(9600);

  int x = 7 / 3;
  Serial.print(x);
}

Al dividir 7 entre 3, obtendremos el número 2.33. Al declarar la variable X como (int) y ejecutamos el código, se imprimirá el número dos en el monitor serial.

Esto se debe a que x fue declarado como un tipo de datos entero.

La palabra reservada Int solo almacena números enteros. Por esta razón la variable solo almacenará la parte entera de 2,3333 que es el número 2.

Para evitar lo anterior, es recomendable siempre declarar cualquier variable que vaya a almacenar una división como punto flotante. Para ellos se usa la palabra reservada (Float).

float x = 7.0 / 2.0;

De esta forma el programa devolverá la respuesta correcta (2.333).

Orden de operadores

Si utilizamos varios operadores matemáticos en Arduino al mismo tiempo, será de profunda importancia tomar en cuenta el orden de operadores corrrectamente.

El orden de operadores ejecuta las diferentes operaciones matemáticas en una expresión asignándo prioridad. A su vez éstas se basan en una serie de reglas.

Por ejemplo la siguiente expresión tendrá diferentes resultados, sin el uso adecuado del orden de operadores:

int x = 5 + 6 * 2 - 1 / 3;

¿Cuál es el orden correcto?

  1. Paréntesis
  2. Expositores
  3. Multiplicación
  4. División
  5. Suma
  6. resta

Las operaciones dentro de los paréntesis se ejecutan primero. Luego los expositores. Luego la multiplicación y la división. A final las sumas y restas.

Dado que los cálculos entre paréntesis se realizan primero, se pueden utilizar para controlar el orden de las operaciones.

Operadores matemáticos de Arduino avanzados

Funciones trigonométricas

Arduino también puede hacer cálculos matemáticos más avanzados, mediante funciones integradas para calcular el coseno, el seno y la tangente de un ángulo.

La sintaxis para cada función se ve así:

float a = cos(b);
float a = sin(b);
float a = tan(b);

Las funciones de trigonometría toman un valor flotante en radianes y devuelven un valor flotante en radianes.

Cuadrado de un número

El Arduino también tiene una función para calcular el cuadrado de un número. Esto calcula y al cuadrado (y2):

float x = sq(y);

Raíz cuadrada

Para calcular la raíz cuadrada de un número, utilice la función de raíz cuadrada. Esto calcula la raíz cuadrada de y (√y):

float x = sqrt(y);

Potencia

La función potencia calcula el valor de una base elevada a la potencia de un exponente (yX).

La sintaxis se ve así:

int x = pow(base, exponent);

Por ejemplo, para encontrar el resultado de 108 pon 10 como primer argumento y 8 como segundo argumento:

int x = pow(10, 8);

Funciones Min y Max

El Arduino también tiene funciones que encuentran el valor mínimo y el valor máximo de un par de números.

los min() calcula el valor mínimo de dos números cualesquiera:

int x = min(a, b);

los min() La función devuelve el menor de los dos valores. las variables a y b puede ser cualquier tipo de datos.

los max() calcula el valor máximo de dos números cualesquiera:

int x = max(a, b);

los max() La función devuelve el mayor de los dos valores. las variables a y b puede ser cualquier tipo de datos.

Min y max son útiles para mantener los valores por encima o por debajo de un determinado umbral. Por ejemplo, supongamos que desea asegurarse de que la lectura de un sensor de temperatura nunca supere los 100 grados. Podrías usar el min() trabajar así:

sensVal = min(temp, 100);

Esto almacenará el menor de los dos números en la variable sensVal. Aunque temp excede de 100, el min() la función siempre mostrará 100.

El operador del módulo

El Arduino tiene otro operador que se ocupa de la división llamado módulo. El operador de módulo se escribe con el signo de porcentaje:

int x = a % b;

El operador de módulo realiza una división en un número entero y luego devuelve el resto. Decir por ejemplo que a = 5 y b = 2. Dos divide a cinco dos veces y nos queda un resto de uno. Entonces 5 % 2 sería uno

La función de valor absoluto

Otra función útil de Arduino es la función de valor absoluto. La función de valor absoluto devuelve el valor positivo de un número negativo. Por ejemplo, |-x| = x. los abs() La siguiente función devolverá el valor absoluto de -10, que es 10:

int x = abs(-10);

Deja un comentario

programar en arduino logo

En este sitio aprenderas a programar en Arduino de forma gratuita a través de sencillos tutoriales y distintos proyectos.