Color cambia Larson Scanner (3 / 6 paso)

Paso 3: código

De bildr artículo: http://bildr.org/2012/08/rotary-encoder-arduino/
y a partir Larson Scanner https://learn.adafruit.com/larson-scanner-shades de Adafruit

Usted también necesitará NeoPixel biblioteca instalada https://github.com/adafruit/Adafruit_NeoPixel de Adafruit

#include

#define N_LEDS 60

#define PIN 6

Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (N_LEDS, PIN, NEO_GRB + NEO_KHZ800);

estos pernos no pueden ser cambiados 2/3 son pernos especiales

int encoderPin1 = 2;

int encoderPin2 = 3;

volátiles int lastEncoded = 0;

encoderValue volátiles int = 0;

lastencoderValue largo = 0;

int lastMSB = 0;

int lastLSB = 0;

void setup() {}

Strip.Begin();

int pos = 1, dir = 1; Posición, dirección de "ojo"

Serial.Begin (9600); para probar el codificador

pinMode (encoderPin1, entrada);

pinMode (encoderPin2, entrada);

digitalWrite (encoderPin1, HIGH); encender la resistencia de pullup

digitalWrite (encoderPin2, HIGH); encender la resistencia de pullup

llamar al updateEncoder() cuando cualquier alto-bajo cambia visto

interrupción 0 (pin 2), o interrumpir 1 (pin 3)

attachInterrupt (0, updateEncoder, cambio);

attachInterrupt (1, updateEncoder, cambio);

}

int pos = 1, dir = 1; Posición, dirección de "ojo"

void loop() {}

int cuenta = 0;

count = (encoderValue / 4);

Serial.println(encoderValue); prueba / depuración de codificador

Serial.println(Count); prueba / depuración de codificador

int j;

colorb largo = 0;

colorg largo = 0;

colorr largo = 0;

int cuenta;

colorb colorb = abs(encoderValue); azul

colorg colorb = 2*abs(encoderValue); verde

colorr colorb = 4*abs(encoderValue); rojo

tabla de búsqueda para los valores de color 13 conjuntos de 3 colores

int rojo [13] = {255,255,255,255,128,0,0,0,0,0,127,255,255};

red1 int [13] = {128,128,204,204,102,0,0,0,0,0,102,204,204};

red2 int [13] = {32,16,153,153,76,0,0,0,0,0,76,153,153};

int verde [13] = {255,0,0,0,0,0,127,255,255,255,255,255,127};

verde1 int [13] = {128,0,0,0,0,0,102,64,204,128,204,204,102};

green2 de int [13] = {32,0,0,0,0,0,76,32,153,16,153,153,76};

int azul [13] = {255,0,127,255,255,255,255,255,0,0,0,0,0};

int blue1 [13] = {128,0,102,204,204,128,204,32,102,0,0,0,0};

azul2 int [13] = {32,0,76,153,153,16,153,32,76,0,0,0,0};

Si colorg (colorb > 255) = colorg ++;

Si (colorg > 255) colorr = colorr ++;

Sorteo 5 píxeles centrados en pos setPixelColor() recortará cualquier

pixeles de los extremos de la tira, no necesitamos ver para eso.

strip.setPixelColor(0,(red[count]),(green[count]),(blue[count])); codificador de LED (viruta de WS2811 independiente)

strip.setPixelColor (pos - 2,(red2[count]),(green2[count]),(blue2[count])); red2 green2 azul2 de tabla de búsqueda

strip.setPixelColor (pos - 1, (red1[count]),(green1[count]),(blue1[count])); red1 verde1 blue1

strip.setPixelColor (pos, (red[count]),(green[count]),(blue[count])); Centro pixel es más brillante

strip.setPixelColor (pos + 1, (red1[count]),(green1[count]),(blue1[count])); red1 verde1 blue1

strip.setPixelColor (pos + 2,(red2[count]),(green2[count]),(blue2[count])); red2 green2 azul2

Strip.Show();

Delay(30);

En lugar de ser astuto y borrar sólo los píxeles de cola,

es más fácil borrar todo y dibujar una nueva una próxima vez.

para (j =-2; j < = 2; j ++) strip.setPixelColor (pos + j, 0);

Rebotan en los extremos de la tira

pos += dir;

Si (pos < 2) {}

pos = 3;

DIR = - dir;

} else if (pos > = {strip.numPixels())}

pos = strip.numPixels() - 2;

DIR = - dir;

}

}

void updateEncoder() {}

int MSB = digitalRead(encoderPin1); MSB = bit más significativo

int LSB = digitalRead(encoderPin2); LSB = bit menos significativo

int codificado = (MSB << 1) | LSB; convertir el valor del 2 pin al número

int suma = (lastEncoded << 2) | codificadas, agregar al anterior valor codificado

Si (suma == 0b1101 || suma == 0b0100 || suma == 0b0010 || suma == 0b1011) encoderValue ++;

Si (suma == 0b1110 || suma == 0b0111 || suma == 0b0001 || suma == 0b1000) encoderValue--;

Si (encoderValue > 55) encoderValue = 0; Modificado el 26/10/14

Si (encoderValue < 0) encoderValue = 55;

lastEncoded = codificado; almacenar este valor para la próxima vez

}

Artículos Relacionados

Charlieplexing Larson Scanner

Charlieplexing Larson Scanner

El escáner de Larson es un antiguo pilar que fue popular gracias a programas como Battlestar Galactica y Knight Rider. En este ejemplo usaremos charlieplexing para el cableado para que podamos puede usar 4 pines para controlar todos los 12 LEDs. Esta
Instalación de 12V Color cambiante RGB iluminación

Instalación de 12V Color cambiante RGB iluminación

después de leer este tutorial de LED, usted podrá fácilmente instalar precableado de Oznium 12V Color cambiante RGB LED.Estos pequeños 12V 5 m m LED suponen un aporte increíble de luz, sin esfuerzo del ciclo y se desvanecen a través de múltiples colo
Ping Pong Larson Scanner

Ping Pong Larson Scanner

por lo que he visto la nueva herramienta para construir circuitos en http://123d.circuits.io, me decidí a probarlo. Y para mi sorpresa, encontré que podía participar en un concurso aquí en instructables.El circuito que hice inspirado en un juego de p
Ola JT - Larson Scanner con Joule Thief

Ola JT - Larson Scanner con Joule Thief

Me encanta cazadores de LED. Un montón de LEDs perfectamente encendiendo y apagando en un momento preciso - luces funcionando de una manera, entonces la otra forma... Es relajante, relajante e hipnótico.Hay muchos circuitos de explorador/cazador/secu
El Color cambia a Rosa

El Color cambia a Rosa

En este Instructable, veremos una manera de hacer un cambio de color de rosa.¿Por qué quieres un cambio de color rosa?Para sorprender a tu novia/esposa.Pregúntale qué rosas de color como ella lo mejor.Hacer el cambio de color de rosa y asegúrese de q
USB color cambiante del árbol del LED

USB color cambiante del árbol del LED

Este árbol es alimentado por un cargador de pared USB y dispone de lento cambio luces de color RGB. Es un buen proyecto para aprender a soldar, así como de aprendizaje de circuito simple conceptos como resistencias de limitación actuales para LEDs y
Color cambiante RGB tira con BLEduino

Color cambiante RGB tira con BLEduino

Tira de LED RGB inteligente se basa en el desarrollo de nuestra BLEduino, usando el Bluetooth 4.0 y el ejemplo de código escrito por los hombres EF, por teléfono móvil de la aplicación, para controlar el interruptor de la tira de LED RGB y el color d
Coche Radio frecuencia LED de Color cambiante luz

Coche Radio frecuencia LED de Color cambiante luz

DIY por: Michael GoodmanMateriales utilizados de Elemental conducido. (www.elementalled.com)1 x - controlador de RF de alta potencia1 x - 1 ft. luz de tira RGB de alta densidad de1 x - conector de luz de domo(Si quieres hacer este proyecto dejó un as
KITT-duino, DIY Larson Scanner con un Arduino

KITT-duino, DIY Larson Scanner con un Arduino

importante: ya está actualizado el código. SOLUCIONES incluyen agregar un valor de entero para manipular el tiempo y la fijación de un doble parpadeo LED.Gracias.Es mi entendimiento que muchos escáneres de Larson puede sólo pulso de un lado a otro. S
Larson scanner LED (kitt) con arduino

Larson scanner LED (kitt) con arduino

El analizador larson es bien conocido por Caballero jinete en los años 80. En este tutorial le dirá cómo crear une. Así que trato de crear mi versión del proyecto. Consta de una matriz de leds que se enciende mover de lado a lado. Sólo añadir un pote
Mínimo larson scanner/cyclon

Mínimo larson scanner/cyclon

sin duda usted ha visto muchos un instructivo sobre cómo hacer un escáner de larson.  También hay un montón de kits disponibles hacia fuera allí también.  Acabo de hacer uno de piezas de chatarra, y creo que usa las partes menor de alguno que he vist
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
8-LED Larson Scanner con Arduino

8-LED Larson Scanner con Arduino

esto es una manera simple de hacer un escáner de Larson utilizando un Arduino, con la mayor capacidad de ajuste de la tarifa de exploración con un potenciómetro.Lista de partes mínimas:(1) Arduino Duemilanove (o equivalente o compatible)(8) LED de su
Construir el último escáner de Larson!

Construir el último escáner de Larson!

He visto la disponibilidad de alta potencia (> 10W) salto del LED a lo largo del último año y... caída en el precio.  Me encontré con algunas muy barato 10W LED blanca de la de Deal Extreme que estaban en la gama de $3 dólares y hacia fuera de 900lum