Indicateur de giration de vélos du couvercle de sac à dos (3 / 5 étapes)

Étape 3: codage

Après que j’ai branché des LEDs à la flore pour la première fois j’ai voulu tester ce strip intégral aussi s’assurer que j’ai eu une gamme complète de couleurs et de toutes les LEDs fonctionnaient correctement. Pour ce faire, j’ai exécuté le code suivant, qui figurait dans une esquisse de l’exemple lorsque vous avez téléchargé la bibliothèque de 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); } } 

Maintenant que nous savons de la bande de LED est travail nous pouvons Télécharger le croquis réel que nous voulons utiliser.
Le croquis, nous avons créé au cours de la confiture de conception pour démontrer le concept de travail.

 /* ================================================================= 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(); } } 

Articles Liés

Indicateur du Nord de vélos

Indicateur du Nord de vélos

Magnetoception est la capacité de certains animaux pour détecter les champs magnétiques comme un moyen de s'orientant.  Bien que les humains ne semblent pas posséder les mêmes mécanismes biologiques qui permettent aux autres animaux aux champs magnét
Indicateurs de tourner de vélos

Indicateurs de tourner de vélos

être un cycliste dans la baie East est une tâche difficile parfois avec les pilotes qui ne savent pas comment faire pour signaler et être crié à "sortir de la rue et sur le trottoir" (même si c'est illégal),Whats cherche encore plus fort avertir
Couvercle du sac de chariot

Couvercle du sac de chariot

Ma maison est très poussiéreux et je n'aime pas poussière sur mes choses. J'avais mis linge ancien / utilisé sur le sac de chariot afin qu'il peut être protégé de la poussière. Il semble bon sur elle et se sent pas comme certains tissu est mis là-des
Comment faire une basse-cour de DJ!!!

Comment faire une basse-cour de DJ!!!

Cette instructable a été créée dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com).Bonjour à tous et Bienvenue sur mon tutoriel sur comment créer une basse-cour de DJ. Jamais trouver q
Sac à dos : Quoi apporter

Sac à dos : Quoi apporter

Randonnée dans différentes régions du monde est de plus en plus populaire. Si c'est pour quelques semaines ou quelques mois, préparer pour un tel voyage peut être source de confusion et stressante. Voici quelques conseils et astuces qui vous aideront
Twitter Watcher, the #twatch

Twitter Watcher, the #twatch

Le #twatch fait défiler les derniers sujets tendances de Twitter sur un écran LCD. C'est un appareil réseau autonome qui reste à jour sans PC. C'était génial à regarder #iranelection, Michael Jacksonet autre événements historiques de défilement par a
GSI Glacier bouteille coupe Mod, bricolage porte couvercles & couvercle

GSI Glacier bouteille coupe Mod, bricolage porte couvercles & couvercle

bouteille tasses sont l'un des articles plus courants dans un sac à dos tous les jours. Ils sont plus populaires, notamment parce qu'une bouteille d'eau Nalgene 32 oz se situe parfaitement dans la coupe, économisant ainsi l'espace lors de la randonné
Dames de couvercles de bouteille

Dames de couvercles de bouteille

ce Instructable vous montrera comment faire le jeu de dames à l'aide de simples éléments qui se trouvent autour de la maison. C'est aussi un bon moyen de re-but des éléments qui pourraient autrement être jetés. Rien de fantaisie, juste pour le plaisi
Porte-vélos facile

Porte-vélos facile

comme un étudiant fauché, j'essaie d'utiliser mon vélo autant que possible pour le transport et autres, mais l'épicerie peut être un défi quand tu dois utiliser folle Tetris compétences à s'intégrer tout dans un sac à dos ou à subir des sacs suspendu
50 astuces pratique

50 astuces pratique

Voici une collection de cinquante figures How-to qui peuvent être comprises à partir d'une photo ou deux.Pour voir encore plus d'eux, consultezAstuces pratiques 8: Île pratique astuceset 40 autres astuces utilesEncore plus pratique et astuceset astuc
Astuces pratiques : World Traveler Edition

Astuces pratiques : World Traveler Edition

si vous voulez aller sur la terre étrangère exotique mystérieuse X. Quelle est la meilleure façon de voyager ? Ce qu'ont appris les autres personnes ? Comment avez-vous le plus de plaisir ? Il s'agit d'une grande collection d'astuces pratiques et d'i
Arduibag : un sac à dos branché pour cyclistes

Arduibag : un sac à dos branché pour cyclistes

Arduibag est un sac à dos branché pour les cyclistes. C'est aussi un projet open source créé par deux mecs français passionnés : Michaël d'auria et Stéphane DE GRAEVE.Si vous désirez en savoir plus sur Arduibag s'il vous plaît allez à: http://www.ard
40 plus pratiques astuces

40 plus pratiques astuces

poursuit la saga commencée à cinquante trucs pratique.Voir même plusieurs d'entre eux Découvrez pratique astuces 8: île pratique astucesEncore plus pratique et astuceset astuces pratiques australienneset astuces pratiques Guatemalaet astuces pratique
Accueil fait porter fût

Accueil fait porter fût

j'ai décidé de construire un ours boîte métallique plutôt que d'acheter un. Les fûts de porter sur la plage de marché de 50 à 80 dollars pour une bonne taille un. Ces conteneurs sont conçus pour supporter le coup écrasant d'un ours. Ils sont générale