Indicador de vuelta de la bicicleta de la cubierta de la mochila (3 / 5 paso)

Paso 3: codificación

Después conecté LEDs a la FLORA por primera vez he querido probar esta tira también Asegúrese de que tenía una amplia gama de color y todos los LEDs estaban trabajando correctamente. No funcionó el siguiente código que se incluyó como un bosquejo de ejemplo al descargar la biblioteca LED de Adafruit.

 #include "SPI.h"<br>#include "Adafruit_WS2801.h" /***************************************************************************** Example sketch for driving Adafruit WS2801 pixels! Designed specifically to work with the Adafruit RGB Pixels! 12mm Bullet shape ----> <a href="https://www.adafruit.com/products/322"> <a href="https://www.adafruit.com/products/322"> <a href="https://www.adafruit.com/products/322"> https://www.adafruit.com/products/322 </a> </a> </a> 12mm Flat shape ----> <a href="https://www.adafruit.com/products/738"> <a href="https://www.adafruit.com/products/322"> <a href="https://www.adafruit.com/products/322"> https://www.adafruit.com/products/322 </a> </a> </a> 36mm Square shape ----> <a href="https://www.adafruit.com/products/683"> <a href="https://www.adafruit.com/products/322"> <a href="https://www.adafruit.com/products/322"> https://www.adafruit.com/products/322 </a> </a> </a> These pixels use SPI to transmit the color data, and have built in high speed PWM drivers for 24 bit color per pixel 2 pins are required to interface Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! Written by Limor Fried/Ladyada for Adafruit Industries. BSD license, all text above must be included in any redistribution *****************************************************************************/ // Choose which 2 pins you will use for output. // Can be any valid output pins. // The colors of the wires may be totally different so // BE SURE TO CHECK YOUR PIXELS TO SEE WHICH WIRES TO USE! uint8_t dataPin = 2; // Yellow wire on Adafruit Pixels uint8_t clockPin = 3; // Green wire on Adafruit Pixels // Don't forget to connect the ground wire to Arduino ground, // and the +5V wire to a +5V supply // Set the first variable to the NUMBER of pixels. 25 = 25 pixels in a row Adafruit_WS2801 strip = Adafruit_WS2801(25, dataPin, clockPin); // Optional: leave off pin numbers to use hardware SPI // (pinout is then specific to each board and can't be changed) //Adafruit_WS2801 strip = Adafruit_WS2801(25); // For 36mm LED pixels: these pixels internally represent color in a // different format. Either of the above constructors can accept an // optional extra parameter: WS2801_RGB is 'conventional' RGB order // WS2801_GRB is the GRB order required by the 36mm pixels. Other // than this parameter, your code does not need to do anything different; // the library will handle the format change. Examples: //Adafruit_WS2801 strip = Adafruit_WS2801(25, dataPin, clockPin, WS2801_GRB); //Adafruit_WS2801 strip = Adafruit_WS2801(25, WS2801_GRB); void setup() { strip.begin(); // Update LED contents, to start they are all 'off' strip.show(); } void loop() { // Some example procedures showing how to display to the pixels colorWipe(Color(255, 0, 0), 50); colorWipe(Color(0, 255, 0), 50); colorWipe(Color(0, 0, 255), 50); rainbow(20); rainbowCycle(20); } void rainbow(uint8_t wait) { int i, j; for (j=0; j < 256; j++) { // 3 cycles of all 256 colors in the wheel for (i=0; i < strip.numPixels(); i++) { strip.setPixelColor(i, Wheel( (i + j) % 255)); } strip.show(); // write all the pixels out delay(wait); } } // Slightly different, this one makes the rainbow wheel equally distributed // along the chain void rainbowCycle(uint8_t wait) { int i, j; for (j=0; j < 256 * 5; j++) { // 5 cycles of all 25 colors in the wheel for (i=0; i < strip.numPixels(); i++) { // tricky math! we use each pixel as a fraction of the full 96-color wheel // (thats the i / strip.numPixels() part) // Then add in j which makes the colors go around per pixel // the % 96 is to make the wheel cycle around strip.setPixelColor(i, Wheel( ((i * 256 / strip.numPixels()) + j) % 256) ); } strip.show(); // write all the pixels out delay(wait); } } // fill the dots one after the other with said color // good for testing purposes void colorWipe(uint32_t c, uint8_t wait) { int i; for (i=0; i < strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); } } /* Helper functions */ // Create a 24 bit color value from R,G,B uint32_t Color(byte r, byte g, byte b) { uint32_t c; c = r; c <<= 8; c |= g; c <<= 8; c |= b; return c; } //Input a value 0 to 255 to get a color value. //The colours are a transition r - g -b - back to r uint32_t Wheel(byte WheelPos) { if (WheelPos < 85) { return Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if (WheelPos < 170) { WheelPos -= 85; return Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { WheelPos -= 170; return Color(0, WheelPos * 3, 255 - WheelPos * 3); } } 

Ahora que sabemos que la tira del LED es trabajo podemos subir el boceto real que queremos utilizar.
El bosquejo se creó durante el atasco del diseño para demostrar el concepto de trabajo.

 /* ================================================================= Coded for Wheel Well Design Jam at California College of the Arts By William Felker [www.williamfelker.com] & Analicia Barros [analiciab.tumblr.com] Project inspired by: FLORA Backpack <a href="http://learn.adafruit.com/flora-brakelight-backpack">http://learn.adafruit.com/flora-brakelight-backpac...</a> ================================================================= */ #include "SPI.h" // #include "Adafruit_WS2801.h" // imports LED Library uint8_t dataPin = 10; //Green cable on WS2801 uint8_t clockPin = 9; //Yellow cable on WS2801 const int rightTurn = 12; // the number of the right pushbutton pin const int leftTurn = 6; // the number of the left pushbutton pin int buttonRight = 0; int buttonLeft = 0; Adafruit_WS2801 strip = Adafruit_WS2801((uint16_t)7, (uint16_t)7, dataPin, clockPin); void setup() { strip.begin(); // Makes sure all LEDs start "off" strip.show(); } void loop() { buttonRight = digitalRead(rightTurn); if (buttonRight == LOW ) { // this could easily be made into a for loop //Right center(0,0,0,0); right(16,0,0,255); delay(100); center(0,0,0,0); } else { // turn LED off: center(0,0,0,0); delay(5000); } buttonLeft = digitalRead(leftTurn); if (buttonLeft == LOW) { // this could easily be made into a for loop //LEFT left(1,0,0,255); delay(100); center(0,0,0,0); left(1,0,0,255); delay(100); center(0,0,0,0); } else { // turn LED off: center(0,0,0,0); delay(5000); } /* buttonLeft = digitalRead(leftTurn);<br>if (__ == __) { //Center center(0,0,0,0); center(0,255,255,0); delay(100); center(0,255,225,0); delay(100); center(0,0,0,0); */ } void left(uint16_t n, uint8_t r, uint8_t g, uint8_t b){ for (n=0; n<10; n++) { // Specifies LEDs Range 0-10 strip.setPixelColor(n, r, g, b); strip.show(); } } void right(uint16_t n, uint8_t r, uint8_t g, uint8_t b){ for (n=16; n<25; n++) { // Specifies LEDs Range 16-25 strip.setPixelColor(n, r, g, b); strip.show(); } } void center(uint16_t n, uint8_t r, uint8_t g, uint8_t b){ for (n=0; n<25; n++) { // Specifies LEDs Range 0-25 strip.setPixelColor(n, r, g, b); strip.show(); } } 

Artículos Relacionados

Indicadores de vuelta la bicicleta

Indicadores de vuelta la bicicleta

ser un ciclista en el este de la bahía es una difícil tarea a veces con conductores que no saben cómo la señal y se gritó de "salir la calle y en la acera" (aunque es ilegal),Cuál es aún más difícil intenta advertir a conductores cuando vas a gi
Señales de la vuelta de bicicleta bricolaje

Señales de la vuelta de bicicleta bricolaje

Vivir en una ciudad, uso mi moto como medio de tránsito, conducción de casa al trabajo, trabajo estudio, recados, etc.. Cuando paseo por la noche, me preocupa a menudo si otros vehículos/personas en el camino puede ver mis señales de mano cuando esto
La señal de vuelta bicicleta bricolaje

La señal de vuelta bicicleta bricolaje

Muchos de nosotros usamos bicicletas para ir al trabajo y el ocio, y muchos de nosotros sufren largos y oscuros inviernos así! Si es el caso, probablemente tienes un par de brillante frente y luces traseras, que te manchas mucho más fácil para los co
IoT Hackathon - bicicleta de seguridad

IoT Hackathon - bicicleta de seguridad

un dispositivo conectado a la muñeca indica vueltas a través del parpadeo indicadores de vuelta. Un acelerómetro detecta la desaceleración y enciende una luz de freno. El acelerómetro detecta caídas y envía una notificación a los administradores a tr
Construir una bicicleta de carga.

Construir una bicicleta de carga.

i´m lo siento, me don´t saber para escribir en inglés. Voy a intentar traducir con un traductor. Quiero agradecer a Sr. carkat. Thanks.he me.the ayudó a cajón es más pequeño por una cuestión del sitioPaso 1: marco de bicicletas partes y pipa recta de
GlowHacker bicicleta luces taller

GlowHacker bicicleta luces taller

Hay muchas personas inteligentes, talentosas, montar a caballo alrededor sin ninguna luz, como idiotas total (también conocido como "darkwads"). Para ayudar a cambiar esto, he estado dirigiendo un taller llamado GlowHacker, que pone tiras TRON-d
Proyecto bike: bicicleta suspensiones y abridores de viejo marco de la bicicleta de la botella

Proyecto bike: bicicleta suspensiones y abridores de viejo marco de la bicicleta de la botella

Hace algún tiempo decidí firmemente que es hora de regresar a bicicletas del montar a caballo la forma que me gusta más - rápidamente y en los bosques. El único problema menor es que no tengo uno adaptado para este tipo de montar a caballo ni tengo q
De compras locales en bicicleta con media una gato portador de cesta

De compras locales en bicicleta con media una gato portador de cesta

esto es una 'Cómo fijar una cesta de la bicicleta alternativa en la parte trasera de una bicicleta' instructable. Es para cuando no ataduras de cremallera.Hay otras opciones. Velcro... Si quieres aprovechar la oportunidad no llegan lejos.Imanes... Si
Rack para bicicleta de niño de la bicicleta

Rack para bicicleta de niño de la bicicleta

Introducción: un simple bastidor trasero para bicicleta de un niño, pero se podía utilizar en cualquier bicicleta de tamaño. Se hace con algunos antiguos cortineros, cierta izquierda sobre pernos y un tablero viejo. No es tan sólida como quisiera; le
Remolque para moto Vespa

Remolque para moto Vespa

disfruto mi Vespa (GTS250ie) mucho, lo uso tanto para el transporte profesional, así como para uso personal.Centro de la ciudad, a menudo se congestiona el tráfico, parking siempre es costoso o problemático y la Vespa es una solución muy eficaz para
Mejorando la experiencia de la moto a día de trabajo

Mejorando la experiencia de la moto a día de trabajo

es fácil ser una moto para trabajar héroe del día y para mejorar el paseo para muchos viajeros en bicicleta.En bici al día de trabajo, agarro mi bomba de bicicleta, lubricante de cadena y algunas herramientas de ajuste sencilloy hasta mi estación loc
Control de velocidad para taladro de mano

Control de velocidad para taladro de mano

Búsqueda para el "Taladro" en instructables y usted encontrará cientos para hacer un stand DIY convertir un taladro de mano en una prensa del taladro. Lo que carecen todos es una forma de controlar la velocidad del taladro. Si usas uno con un ta
Motorized Bicycle DIY: The hard way

Motorized Bicycle DIY: The hard way

Exprimir un GXH50 Honda en una Huffy 24" muchacho 's bicicleta del crucero de Cranbrook.¿MPG 170 - realmente?Respuesta corta: NO - no para mí, conducir acelerador a fondo casi todo el tiempo (30 mph), y me estoy poniendo mpg 110-130 (dependiendo del
Revivir un dinamotor de 2 ª Guerra Mundial, como radios de tubo fueron móvil durante la guerra

Revivir un dinamotor de 2 ª Guerra Mundial, como radios de tubo fueron móvil durante la guerra

este instructable requiere que tienes encima de la destreza mecánica promedio y han trabajado con altos voltajes. Si han hecho cosas como con éxito vuelva cojinetes en un eje de bicicleta por ejemplo, tiene la parte mecánica hacia abajo. Si con éxito