viernes, 26 de febrero de 2016

Lámpara efecto camaleón con sensor de color y NeoPixels


Como todos sabemos los camaleones son famosos por su habilidad de cambiar de color para mimetizarse con el entorno que los rodea y así ser invisibles para sus posibles depredadores y presas. En este POST vamos a captar colores con un módulo sensor de reconocimiento del color TCS3200, para procesarlos mediante Arduino y mostrarlos a través de un disco de 7 leds NeoPixel, que iluminará con el color correspondiente la mampara modelo camaleón (descarga del dibujo del camaleón), que he fabricado para conseguir imitar el comportamiento de los pigmentos de la piel de un camaleón.

Mampara modelo camaleón

El módulo sensor de reconocimiento del color TCS3200, es un módulo que incluye cuatro diodos LED blancos de 5 mm con sus respectivas resistencias limitadoras de corriente que nos sirven como iluminación, además de un sensor del color TCS3200 programable, que es capaz de convertir luz en frecuencia, es decir, puede filtrar los datos RGB de la fuente de luz y  convertirlos en una onda cuadrada con una frecuencia directamente proporcional a la intensidad de luz irradiada. Para contar los ciclos  y determinar la frecuencia utilizamos la interrupción externa INT 0 (Pin digital 2 de Arduino à OUT), y para lograr obtener todas las tonalidades de color del círculo cromático realizamos la conversión de TSL (tono, saturación, luminancia) a RGB según los cálculos del modelo de color.  La frecuencia de salida se puede escalar con los pines S0 y S1 (opciones seleccionables 2%, 20%, 100% de frecuencia), y con los pines S2 y S3 se controla el filtro de RGB que estamos aplicando. Las entradas y salidas digitales de este módulo van conectadas a nuestro Arduino como se muestra en el esquema de conexión dentro del programa.


Módulo sensor de reconocimiento del color TCS3200

Para terminar os tengo que decir que el disco leds NeoPixel, está compuesto por 7 leds 5050 ultra brillantes y además integra el controlador WS2812 en su interior, lo que permite ajustar individualmente cada LED dentro de una cadena de comandos. Esta clase de leds digitales funcionan con una alimentación de 5V DC, aunque admite un rango entre 4v y 7v. Para su control requieren de una señalización de datos muy sensible a la sincronización a través del pin “IN”. La  biblioteca NeoPixel del Adafruit (#include ) escrita para Arduino soporta estos píxeles perfectamente.


Disco de 7 leds NeoPixel 5050 WS2812

A través del monitor serie del IDE de Arduino se mostrarán los valores RGB del color que se está captando con el sensor de reconocimiento del color TCS3200 en cada momento.



Lista de Materiales:


·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         Sensor de reconocimiento del color (TCS3200).

·         Disco de 7 LEDS NeoPixel (5050 WS2812).

·         Mampara modelo camaleón (Papel, cartón, pegamento y tijeras).

·         Cartulinas de colores (Rojo, verde y azul).

·         Protoboard.

·         Cables de conexión.



Código del programa:



Video:

No hay comentarios:

Publicar un comentario