Librería Arduino ColorConverter


La librería ColorConverter contiene funciones sencillas para convertir colores entre diferentes sistemas (RGB, HSV, HSL, Temperature).

Manual de uso

Las librería está formada por funciones estáticas que realizan la conversión conversión entre colores. Por tanto, no es necesario instanciar un objeto, únicamente tenemos que llamar a la función de conversión deseada.

Podemos convertir de RGB a HSV o HSL y viceversa. También podemos convertir de temperatura de color, en grados Kelvin, a RGB.

Anuncio:

static void RgbToHsv(uint8_t r, uint8_t g, uint8_t b, double &hue, double &saturation, double &value);
static void RgbToHsl(uint8_t red, uint8_t green, uint8_t blue, double &hue, double &saturation, double &lighting);	
static void HsvToRgb(double hue, double saturation, double value, uint8_t & red, uint8_t & green, uint8_t & blue);
static void HslToRgb(double hue, double saturation, double lightness, uint8_t &red, uint8_t &green, uint8_t &blue);
static void TemperatureToRgb(int kelvin, uint8_t & red, uint8_t & green, uint8_t & blue);

Ejemplos

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

  • ColorConverter: Ejemplo que muestra el uso de algunas de las funciones de conversión.
#include "ColorConverterLib.h"

void setup() 
{
	uint8_t red = 50;
	uint8_t green = 100;
	uint8_t blue = 150;
	double hue, saturation, lighting, value;
	
	ColorConverter::RgbToHsl(red, green, blue, hue, saturation, lighting);
	ColorConverter::RgbToHsv(red, green, blue, hue, saturation, value);
	ColorConverter::HslToRgb(hue, saturation, lighting, red, green, blue);
	ColorConverter::HsvToRgb(hue, saturation, lighting, red, green, blue);

	ColorConverter::TemperatureToRgb(15000, red, green, blue);
}

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

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección
tutoriales de Arduino
0 0 vote
Article Rating

Anuncio:

Previous Coche robot 2WD barato con Arduino: Montaje
Next Entradas analógicas más precisas midiendo Vcc en Arduino
3 Comments
oldest
newest
Inline Feedbacks
View all comments
Javi
3 years ago

Hola Luis,
Me parece muy interesante la librería que has realizado para la conversión entre diferentes espacios de color.
Me gustaría saber si en futuras versiones vas a ampliar a otros espacios de color como L*a*b* o LHC.
Enhorabuena por la librería.
Javier

Daniel Maluf
1 month ago

Hola Luis .tengo cierta inestabilidad de lectura del sensor TCS34725 ,que me recomendas para lograr estabilidad del mismo.