Brillante camaleón (smart) de falda ~ (1 / 7 paso)

Paso 1: El código

#include < Wire.h > #include < Adafruit_TCS34725.h > #include < Adafruit_LSM303.h > #include < Adafruit_NeoPixel.h > / / parámetro 1 = número de píxeles en tira / / parámetro 2 = número de pin (la mayoría son válidos) / / parámetro 3 = tipo de pixel banderas, sumar como sea necesario: / / NEO_RGB píxeles están cableados para flujo de bits RGB / / NEO_GRB píxeles están cableados para GRB bitstream / / bitstream NEO_KHZ400 400 KHz (por ejemplo píxeles de FLORA) / / NEO_KHZ800 800 KHz bitstream (p. ej. tira de LED de alta densidad) #define NUM_PIXELS 4 Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (NUM_PIXELS, 6, NEO_GRB + NEO_KHZ800); Adafruit_TCS34725 color_sensor = Adafruit_TCS34725 (TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X); Adafruit_LSM303 accel; #define STILL_LIGHT / / definir si la luz es estar en cuando no hay movimiento. De lo contrario oscuro / / nuestro RGB -> gamma reconocido ojo color byte gammatable [256]; int g_red, g_green, g_blue; colores globales leer color sensor int j; lío con este número para ajustar TWINklitude :) / inferior número = más sensibles #define MOVE_THRESHOLD 45 int de #define FADE_RATE 5 led = 7; doble newVector; anular el flash (int veces) {para (int i = 0; me < veces; i ++) {digitalWrite (led, alto); / / enciende el LED (alto es el nivel de voltaje) delay(150); / / espere un segundo digitalWrite (led, baja); / / apagar el LED haciendo el delay(150) de baja tensión;}} float r, g, b; doble storedVector; void setup() {pinMode (led, salida); / / tratar de inicializar y advertir si no pudimos detectar el chip si (! accel.begin()) {Serial.println ("Oops... no se puede inicializar el LSM303. Compruebe el cableado!"); mientras (1) {flash(4); delay(1000);}; } strip.begin(); Strip.Show(); Inicializar todos los píxeles en 'off' si (! color_sensor.begin()) {Serial.println ("TCS34725 No encontrado... cheque las conexiones"); mientras que (1) {flash(3); delay(1000);};} / PhilB agradece esta tabla gamma! ayuda a convertir colores RGB a lo que los seres humanos ven para (int i = 0; me < 256; i ++) {flotador x = i; x = 255; x = pow (x, 2.5); x * = 255; gammatable [i] = x;} //this secuencia parpadea el primer píxel tres veces / / como una cuenta atrás para la lectura de color. para (int i = 0; i < 3; i ++) {/ / blanco, pero dimmer--255 para todos los tres valores es cegador
! strip.setPixelColor (0, tira. Color (188, 188, 188)); Strip.Show(); Delay(1000); strip.setPixelColor (0, tira. Color (0, 0, 0)); Strip.Show(); Delay(500); } uint16_t claro, rojo, verde, azul; color_sensor.setInterrupt(false); encender LED delay(60); tarda 50ms a leer color_sensor.getRawData (& rojo y verde y azul y claro); color_sensor.setInterrupt(true); Apagar LED / / averiguar código hexagonal básica por suma de visualización uint32_t = rojo; suma += verde; suma += azul; suma = claro; r = rojo; r = suma; g = verde; g = suma; b = azul; b = suma; r * = 256; g * = 256; b * = 256; g_red = gammatable [(int) r]; g_green = gammatable [(int) g]; g_blue = gammatable [(int) b]; Obtener la magnitud (longitud) del vector 3 ejes / / http://en.wikipedia.org/wiki/Euclidean_vector#Length accel.read(); storedVector = accel.accelData.x*accel.accelData.x; storedVector += accel.accelData.y*accel.accelData.y; storedVector += accel.accelData.z*accel.accelData.z; storedVector = sqrt(storedVector); } void loop() {/ / obtener nuevos datos accel.read(); doble newVector = accel.accelData.x*accel.accelData.x; newVector += accel.accelData.y*accel.accelData.y; newVector += accel.accelData.z*accel.accelData.z; newVector = sqrt(newVector); / / nos movemos si (abs (newVector - storedVector) > MOVE_THRESHOLD) {colorWipe (de la tira. Color(0, 0, 0), 0); flashRandom (10, 25); primer número es el retraso de 'esperar', / / menor num == menor twinkle / segundo número es cuántas neopixels a / / encienden simultáneamente} #ifdef STILL_LIGHT else {colorWipe (de la tira. Color (gammatable [(int) r], gammatable [(int) g], gammatable[(int)b]), 0); storedVector = newVector; } #endif} void flashRandom (int espera, cuantos uint8_t) {para (uint16_t i = 0; i < cuantos; i ++) {para (int simul_pixels = 0; simul_pixels < 8; simul_pixels ++) {/ / obtener un pixel aleatorio de la j de la lista = random(strip.numPixels()); strip.setPixelColor (j, tira. Color (g_red, g_green, g_blue)); } strip.show(); Delay(Wait); colorWipe (de la tira. Color(0, 0, 0), 0); Ahora que 'desteñirá' FADE_RATE pasos para (int x = 0; x < FADE_RATE; x ++) {int i = g_red * (x + 1); r = FADE_RATE; int g = g_green * (x + 1); g = FADE_RATE; int b = g_blue * (x + 1); b = FADE_RATE; strip.setPixelColor (j, tira. Color (r, g, b)); Strip.Show(); Delay(Wait); } / / y se descoloran hacia fuera para (int x = FADE_RATE; x > = 0; x--) {int r = g_red * x; r = FADE_RATE; int g = g_green * x; g = FADE_RATE; int b = g_blue * x; b = FADE_RATE; strip.setPixelColor (j, tira. Color (r, g, b)); Strip.Show(); Delay(Wait); colorWipe}} #ifdef STILL_LIGHT (de la tira. Color (gammatable [(int) r], gammatable [(int) g], gammatable[(int)b]), 0); #endif} / / rellenar los puntos uno tras otro con un colorWipe vacío de color (uint32_t c, uint8_t espera) {para (uint16_t i = 0; i < strip.numPixels(); i ++) {strip.setPixelColor (i, c); strip.show(); delay(wait);}}

Artículos Relacionados

Día a falda nocturna

Día a falda nocturna

Una de las cosas más asombrosas acerca de LEDs es que darán un sinfín de opciones cuando se trata de color y efectos de iluminación. Añadir luces a un pedazo ordinario de ropa presta eso energías de transformador, camaleón de ropa. Creo que ropa ilum
Bajo luces falda

Bajo luces falda

Se irá este tutorial sobre cómo hacer su propio patrón de falda plisada de la caja con color a juego de LED dentro de los pliegues. Asume que el lector ya sabe cómo crear una falda con pliegues.Es tecnológico y elegante! Es techlegant!Empezar por rec
Cadena y hula hoop falda

Cadena y hula hoop falda

esta es mi entrada para el instructables cadena de competición. Es un aro y cadena falda de hula, inspirada en esta hermosa primavera galés caliente.También es el primer conjunto de fotos con mi fabuloso nuevo modelo Sam.Se necesita:Varios aros del h
Falda de círculo de AutoCAD

Falda de círculo de AutoCAD

faldas de círculo son cosidas de un patrón muy simple, son bastante fácil de hacer y son ideales para ir a bailar. El patrón es más fácil de hacer si tienes acceso a AutoCAD (u otro software de diseño) y una impresora de gran formato.Me ha pasado a t
Android Motion Sensor Smart Mirror

Android Motion Sensor Smart Mirror

Decidimos que necesitábamos un espejo en nuestra cocina, y también era consciente de que mi familia utiliza sus teléfonos inteligentes para comprobar el tiempo, calendario de citas etc. antes de llegar a los niños listos y dirigirse hacia fuera para
Reloj Led RGB con Bluetooth Smart

Reloj Led RGB con Bluetooth Smart

Este instructable muestra cómo utilizar un ciprés-BLE-Devkit para construir un reloj LED RGB.Necesita muy pocas cosas:Tira de RGB LED con 30 o 60 LEDs WS2812b.un tablero de PC del estilo de cuadrículaalgunos pins del jefe del perno y un poco de alamb
Falda de cola de sirena

Falda de cola de sirena

Puede hacer esta sirena nadar y caminar gran parte de su mundo de la falda siguiendo este sencillo tutorial.Paso 1: materialesPara este proyecto necesitarás:Pernos deMaterial brillante, elástico (se llama a "tela nadador/bailarín)Coordinación de tul
Tutorial falda

Tutorial falda

enaguas son un deber-tener para dar su falda más cuerpo y volumen. Este tutorial puede personalizarse fácilmente a prácticamente cualquier falda y podría incluso ser usado solo como una falda de campesina.Paso 1: Lo que se necesitaUsted necesitará lo
Sonido ecualizador reactiva falda

Sonido ecualizador reactiva falda

Por un tiempo, he querido añadir un micrófono a uno de mis proyectos usables. Recientemente, tuve la idea de hacer una falda reactiva sonida y arreglo de los LEDs como barras de ecualizador. Integrando la electrónica correcta sin hacerlas visible no
Hacer cualquier tonto TV Smart TV

Hacer cualquier tonto TV Smart TV

¿Desea que su televisión estándar se pudo conectar a internet? Tienen la capacidad de corriente Netflix, Hulu, o ver cualquier cosa en Google cuando su celular está fuera de alcance. Todos tus archivos de música y películas podrían vincularse automát
Ir verde con Mate Smart

Ir verde con Mate Smart

Búscate más cerca a la naturaleza con este compañero inteligente. Esta bicicleta es ideal para la diversión de la noche paseos o acampar con tus amigos. Este ciclo puede satisfacer las necesidades básicas mientras que monta en él. Aquí están las cara
Escalas y la falda de pavo real

Escalas y la falda de pavo real

Tan cerca! Este es el segundo al último tutorial sobre la fabricación de la vespa Jazzy de pavo real. Si desea ver lo que parecía el pavo real en la exposición, tome un recorrido virtual por Movilidad opulento. Estoy trabajando en un sitio de catálog
Fibra óptica medusas falda

Fibra óptica medusas falda

Porque el efecto de la fibra óptica es tan fascinante estaba pensando en hacer un traje para hombre ardiente con fibra óptica y LEDs RGB. Me tomó algún tiempo hasta que subió con un diseño y averiguado cómo colocar las fibras en la tira de LED. Al fi
LED luces caramelo gomoso.  Comestibles + caramelo que brilla intensamente!

LED luces caramelo gomoso. Comestibles + caramelo que brilla intensamente!

Este es nuestro Instructable haciendo techie comestibles + caramelo gomoso del luz de LED que brilla intensamente en el SMART de SoHa. Hacemos esto para la gente a comer en las clases y encuentros. Si se les ponen bajo una luz negra brillan! Esto es