Selector de Color de LED RGB (2 / 2 paso)

Paso 2: código

El debajo de código es lo que usé para probar el tablero. La línea superior muestra las actual R, G y B valores de (0-255) con una estrella a la izquierda del actual. La segunda fila muestra el tamaño de paso para los botones +/-. Los comandos son:

  • Botón: Reducir el color seleccionado (R, G o B) por el tamaño de paso actual
  • Botón: Aumentar el color seleccionado (R, G o B) por el tamaño de paso actual
  • Botón izquierdo: mover el color anterior
  • Botón derecho: mover al siguiente color
  • Botón SELECT: cambiar el tamaño de paso de 1 a 5 a 10 a 20 a 50, luego de nuevo a 1...

El código utiliza las bibliotecas de Adafruit protector de pantalla LCD y Neopixel. El código de ejemplo está por debajo.

También podría agregar un conector y una cadena completa con este enfoque de la energía.

El código que usé:

 //*********************// RGB_LCD - use the Adafruit LCD shield to set the RGB values on a single WS2812b LED// Based on the Adafruit Neopixel and LCD Shield Libraries and examples// December, 2013 Carl Sutter//*********************// LCD Shield Library#include <Wire.h>#include <Adafruit_MCP23017.h>#include <Adafruit_RGBLCDShield.h>// The shield uses the I2C SCL and SDA pins. On classic Arduinos// this is Analog 4 and 5 so you can't use those for analogRead() anymore// However, you can connect other I2C sensors to the I2C bus and share// the I2C bus. Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); // Neopixel Library#include <Adafruit_NeoPixel.h>#define PIN 6// Parameter 1 = number of pixels in strip// Parameter 2 = pin number (most are valid)// Parameter 3 = pixel type flags, add together as needed:// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800); // These #defines make it easy to set the backlight color - use if you have an RGB shield//#define RED 0x1//#define YELLOW 0x3//#define GREEN 0x2//#define TEAL 0x6//#define BLUE 0x4//#define VIOLET 0x5#define WHITE 0x7#define ARROW 0x7E#define LARROW 0x7F#define DELAY_QUICK 40 // the shortes delay between presses so you can scroll quickly, but still get to a specific button press / value#define DELAY_SLOW 100 // slower delay for buttons thatare changing modes etc.uint8_t curCols[] = {127, 127, 127}; // array of current RGB valuesuint8_t curCol =0; // index of the current color being worked on - 0=R, 1-G, 2=Buint8_t step_size =1; // the amount to move in each button pressvoidsetup() { lcd.begin(16, 2); strip.begin(); strip.show(); // Initialize all pixels to 'off' lcd.setBacklight(WHITE); // leave the "Step Size:" label on the display so it does not flicker lcd.setCursor(2,1); lcd.print("Step Size: "); // display the startup data display(); } // display - print the RGB values and set the LEDvoiddisplay() { uint8_t i; strip.setPixelColor(0, curCols[0], curCols[1], curCols[2]); strip.show(); lcd.setCursor(0,0); for (i=0; i<3; i++) { if (curCol == i) { lcd.print(char('*')); } else { lcd.print(' '); } if (i ==0) lcd.print('R'); if (i ==1) lcd.print('G'); if (i ==2) lcd.print('B'); if (curCols[i]<100) lcd.print(' '); if (curCols[i]<10) lcd.print(' '); lcd.print(curCols[i]); } //lcd.setCursor(2,1);//lcd.print("Step Size: "); lcd.setCursor(13,1); lcd.print(step_size); lcd.print(' '); // hack to have one digit #s print over old 2 digit #s } // print_valvoidloop() { uint8_t buttons = lcd.readButtons(); if (buttons) { if (buttons & BUTTON_UP) { curCols[curCol] += step_size; display(); delay(DELAY_QUICK); } if (buttons & BUTTON_DOWN) { curCols[curCol] -= step_size; display(); delay(DELAY_QUICK); } if (buttons & BUTTON_LEFT) { if (curCol ==0) { curCol =2; } else { curCol--; } display(); delay(DELAY_SLOW); } if (buttons & BUTTON_RIGHT) { if (curCol ==2) { curCol =0; } else { curCol++; } display(); delay(DELAY_SLOW); } if (buttons & BUTTON_SELECT) { switch (step_size) { case1: step_size =5; break; case5: step_size =10; break; case10: step_size =20; break; case20: step_size =50; break; default: step_size =1; } display(); delay(DELAY_SLOW); } } // buttons != 0 } // loop 

Artículos Relacionados

Color calibrar LEDs RGB con un Arduino

Color calibrar LEDs RGB con un Arduino

Más gente cree LED y al final de las relaciones de Arduino con un abrir y cerrar del bosquejo. Después de eso tienes que ir hacia motores, casas inteligentes y otras cosas 'serio'. Bueno, tal vez soy lento o tal vez es sólo que soy un artista gráfico
BRICOLAJE iluminación de color con LEDs RGB

BRICOLAJE iluminación de color con LEDs RGB

había sido buscando algunos iluminación única y ideas para decorar mi sala ya que pasé en mi nuevo lugar (cuatro paredes blanco llano consiguen bastante aburrido, bastante rápido). Yo había hecho sobre todo podría con las paredes, pero todavía estaba
Selector de color RGB

Selector de color RGB

Selector de color de led RGB es un mezclador de color visual fácil de usar creado el entorno de desarrollo de procesamiento. Es una manera fácil de entender la comunicación entre arduino y procesamiento y combinación de color divertido.Para este proy
Ciclo de un LED RGB por todo el espectro de color con un Raspberry Pi 2 y cero

Ciclo de un LED RGB por todo el espectro de color con un Raspberry Pi 2 y cero

Actualización de notas Jueves, 25 de febrero de 2016 : He mejorado el programa Scratch y rediseñado mi instructable.Hola chicos, con este proyecto que quise utilizar Scratch para un LED RGB por todo el espectro de color.Hay una carga de proyectos hac
Con un solo LED RGB o una tira de LED para mostrar información: reloj, termómetro y un comunicador raro

Con un solo LED RGB o una tira de LED para mostrar información: reloj, termómetro y un comunicador raro

Uno de los primeros proyectos que hice con un Arduino era una guirnalda de luces de Navidad. De hecho, fue hecho de una tira de LED RGB sencilla cortar en dos, como Arduino tiene sólo 6 salidas PWM de hardware. No quería triviales arcoiris y colores
Regulable LED RGB controlado con un Arduino

Regulable LED RGB controlado con un Arduino

este proyecto utiliza un Arduino Duo R3 y 3 botones para el control de un LED RGB.El 1er botón selecciona de color del RGB LED que desea ajustar. Los otros 2 botones le permiten ajustar el brillo de ese color, ya sea hacia arriba o hacia abajo.Hay 3
Usando un LED RGB para detectar colores

Usando un LED RGB para detectar colores

te voy a mostrar cómo se puede utilizar un LED RGB y una fotocélula Cds como un sensor de color para un microcontrolador. Ilustrará el método para recuperar un color usando Arduino, y le mostrará un cómo usted puede verificar el color se analizan con
Cómo utilizar el selector de Color de la tira de RGB

Cómo utilizar el selector de Color de la tira de RGB

En este Instructables te mostrará cómo utilizar la herramienta selector de Color de la tira de RGB.¿Qué es RGB tira Color Picker?RGB tira Color Picker es una herramienta que he creado para el control de los colores de sus LEDs conectados a un Arduino
Multi Color luz espada que brilla intensamente - LEDs RGB para pintar con luz.

Multi Color luz espada que brilla intensamente - LEDs RGB para pintar con luz.

acabo de láminas nuevas para mi limpiaparabrisas y el paquete al instante me hizo querer empezar a luchar de la espada. Espadas de luz Blinky para pintar con la luz ¡ SÍ!!!!!!Puede crear este proyecto para:Efectos especiales de fotografía llamado la
Mezclador de colores Led RGB

Mezclador de colores Led RGB

Este sencillomezclador de colores de led utiliza sin microcontroladores(Arduino - Pic etc.). Controla el brillo de cada canal de color variando el ciclo de trabajo (en el tiempo vs OFF time) mediante una técnica denominada PWM o modulación de anchura
LED RGB barato y fácil de color cambiante luz de la noche

LED RGB barato y fácil de color cambiante luz de la noche

este proyecto fue bastante fácil una vez que jugaba y lo calculado hacia fuera, que tomó un tiempo.La idea es poder cambiar el color con un interruptor y tiene un led dimmer opciones también.  Estos son los artículos que usted necesitará para complet
Proyector de LED RGB Navidad Hack

Proyector de LED RGB Navidad Hack

Tenía un feo muñeco de nieve de plástico hacia fuera en el patio con la bombilla fluorescente más brillante que he podido encontrar - el invierno pasado fue brillante pero aburrido. Después de hacer algunos cool efectos de este años Jack-o-linternas
4 x 4 x 4 cubo del LED RGB

4 x 4 x 4 cubo del LED RGB

un tiempo atrás, cuando empecé a usar Arduino, mi primer proyecto fue una 4 x 4 x 4 cubo del LED, construí de una guía que encontré aquí en Instructables, no sabía nada acerca de programación y poco de electrónica, sin embargo, he podido construirlo
Sparky Jr - controlador de LED RGB

Sparky Jr - controlador de LED RGB

¿Qué es lo?Sparky Jr es un programable RGB LED mod compañero luz regulador de activación para botones al azar fightsticks.¿Cómo funciona?Bueno, al final del día. El código base esencialmente le permite personalizar su luz patrón, definir botones y co