Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

doc:tec:elo:uc_arduino:arduino_c:mates [2025/03/21 12:57] – creado - editor externo 127.0.0.1doc:tec:elo:uc_arduino:arduino_c:mates [Fecha desconocida] (actual) – editor externo (Fecha desconocida) 127.0.0.1
Línea 1: Línea 1:
 +====== [Arduino] Referencia: Funciones matemáticas ======
  
 +===== Funciones de rango =====
 +
 +<code c>
 +// devuelve mínimo entra a y b
 +min(a,b);
 +
 +// devuelve máximo entra a y b
 +max(a,b);
 +
 +// devuelve valor absoluto de a
 +abs(a);
 +
 +// devuelve x restringido a (a,b)
 +constrain(x, a, b);
 +
 +// interpola linealmente y entre x1,y1 x2,y2
 +map(x, x1, x2, y1, y2);
 +</code>
 +\\ 
 +===== Potenciación =====
 +
 +<code c>
 +// devuelve a^b (ambos tipo float)
 +pow(a,b);
 +
 +// devuelve la raiz cuadrada de a
 +sqrt(a);
 +</code>
 +\\ 
 +===== Números aleatorios =====
 +
 +<code c>
 +// inicializa la semilla del generador de numeros pseudo aleatorios
 +randomSeed(semilla);
 +
 +// devuelve un numero aleatorio entre a y b (ambos tipo long)
 +random(a, b);
 +</code>
 +\\ 
 +===== Trigonometría =====
 +
 +<code c>
 +// devuelve el seno de a (a tipo float y en radianes)
 +sin(a);
 +
 +// devuelve el coseno de a (a tipo float y en radianes)
 +cos(a);
 +
 +// devuelve la tangente de a (a tipo float y en radianes)
 +tan(a);
 +</code>
 +\\ 
 +===== Funciones de bits y bytes =====
 +
 +<WRAP center round help>
 +
 +  - [[https://www.electrodaddy.com/operaciones-de-bits-en-arduino/|28- Operaciones de bits en Arduino]]
 +
 +</WRAP>
 +
 +<code c>
 +// devuelve el byte menos significativo de una palabra o variable.
 +lowByte(variable);
 +
 +// devuelve el byte más significativo de una palabra
 +// (o el segundo byte menos significativo en variables mayores)
 +highByte(variable);
 +
 +// devuelve el bit n de una variable x 
 +// (siendo el bit 0 el menos significativo)
 +bitRead(x, n);
 +
 +// escribe el bit n de la variable x con el valor b
 +// (siendo el bit 0 el menos significativo)
 +bitWrite(x, n, b);
 +
 +// pone a 1 el bit n de la variable x
 +bitSet(x, n);
 +
 +// pone a 0 el bit n de la variable x
 +bitClear(x, n);
 +
 +// obtiene el valor del bit n (idéntico a 2^n)
 +bit(n);
 +</code>
 +\\