libreria-de-arduino-easing

Librería de Arduino Easing

La librería de Arduino Easing implementa funciones para realizar una transición suave entre cambios en una variable. (por ejemplo, para cambiar la velocidad de un motor de forma suave.

Para usarlo, simplemente crear una instancia del objeto ‘Easing’ y usar el operador ’=’ para cambiar el SetPoint. Después emplear la función ‘GetValue()’ para obtener el valor suavizado.

El intervalo de suavizado puede cambiarse o bien durante la creación de la instancia, en el constructor, o en mediante las funciones ‘SetMillisInterval()’ o ‘SetMicrosInterval()‘. Adicionalmente, puede usarse la función ‘Init()’ para cambiar inmediatamente el Setpoint y la variable.

Modos disponibles de uso

Los modos disponibles son los siguientes

LINEAR
EASE_IN_QUAD
EASE_OUT_QUAD
EASE_IN_OUT_QUAD
EASE_IN_CUBIC
EASE_OUT_CUBIC
EASE_IN_OUT_CUBIC
EASE_IN_QUART
EASE_OUT_QUART
EASE_IN_OUT_QUART
EASE_IN_QUINT
EASE_OUT_QUINT
EASE_IN_OUT_QUINT

Orden de la función

Hay disponibles cinco ordenes de funciones (LINEAR, QUAD, CUBIC, QUART, QUINT). Un orden superior implica una zona de tarnsición más suave, pero una mayor pendiente en las partes medias de la transición.

arduino-easing-modes

Easing IN, OUT, IN-OUT

Hay disponibles tres modos de transición (IN, OUT, IN-OUT).

arduino-easing-in-out

Ejemplos

La librería Arduino Easing incluye los siguientes ejemplos para ilustrar su uso.

  • Example: Ejemplo que muestra el uso de Easing
#include "EasingLib.h"

int values[8] = { 0, 1000, 4000, 2000, 1000, 3000, 5000, 1000 };

// Default constructor (EASE_IN_OUT_CUBIC, 1000ms)
Easing easing();

// Full constructor
// Easing easing(ease_mode::LINEAR, 500);

void setup() 
{
  while (!Serial){};

  Serial.begin(115200);

  for(auto i = 0; i < 240; i++)
  {
    auto index = i / 30;
    float newValue = values[index];
    
    Serial.print(newValue);
    Serial.print(',');
    Serial.println(easing.SetSetpoint(newValue));

    delay(50);
  }
}

void loop()
{ 
}

Instalación

  • Descargar la última versión desde GitHub
  • Descomprimir el archivo
  • Copiar en tu carpeta de librerías (normalmente Mis Documentos\Arduino\libraries)
  • Relanzar el IDE de Arduino

github-full