Cykel tur indikator från ryggsäck täcka (3 / 5 steg)

Steg 3: kodning

När jag anslutit lysdioder till FLORAN för första gången jag ville testa säkerställa detta hela band för jag hade ett komplett utbud av färg och alla lampor fungerar korrekt. Så jag sprang följande kod som fanns med som ett exempel skiss när du hämtade LED biblioteket från Adafruit.

#include "SPI.h" < br > #include "Adafruit_WS2801.h"

/*****************************************************************************
Exemplet skiss för att köra Adafruit WS2801 pixlar!

Utformats speciellt för att arbeta med Adafruit RGB pixlar!
12mm kula form---> < en href = "https://www.adafruit.com/products/322" >< en href = "https://www.adafruit.com/products/322" >< en href = "https://www.adafruit.com/products/322" > https://www.adafruit.com/products/322
< /a >
< /a >
< /a >
12mm platt form---> < en href = "https://www.adafruit.com/products/738" >< en href = "https://www.adafruit.com/products/322" >< en href = "https://www.adafruit.com/products/322" > https://www.adafruit.com/products/322
< /a >
< /a >
< /a >
36mm kvadratisk form---> < en href = "https://www.adafruit.com/products/683" >< en href = "https://www.adafruit.com/products/322" >< en href = "https://www.adafruit.com/products/322" > https://www.adafruit.com/products/322
< /a >
< /a >
< /a >

Dessa pixlar för SPI att överföra färgdata, och har inbyggda
hög hastighet PWM drivrutiner för 24-bitars färg per pixel
2 stift är skyldiga att gränssnittet

Adafruit investerar tid och resurser att tillhandahålla detta öppen källkod,
Vänligen stödja Adafruit och öppen hårdvara genom att köpa
produkter från Adafruit!

Skrivet av Limor stekt/Ladyada för Adafruit industrier.
BSD-licensen, alla texten ovan måste inkluderas i en omfördelning

*****************************************************************************/

Välj vilket 2 stift du för utdata.
Kan vara någon giltig utgångsstift.
Färgerna på kablarna kan vara helt olika så
VAR SÄKER ATT KONTROLLERA DIN PIXLAR FÖR ATT SE VILKA KABLAR TILL ANVÄNDNING!
uint8_t dataPin = 2; Gul tråd på Adafruit pixlar
uint8_t clockPin = 3; Grön tråd på Adafruit pixlar

Glöm inte att ansluta en jordledning till Arduino marken,
och den + 5V tråd till en + 5V leverans

Den första variabeln inställd antalet pixlar. 25 = 25 pixlar i rad
Adafruit_WS2801 strip = Adafruit_WS2801 (25, dataPin, clockPin);

Tillval: lämna bort pin-koder att använda hårdvara SPI
(pinut sedan är specifik för varje bräda och kan inte ändras)
Adafruit_WS2801 strip = Adafruit_WS2801(25);

För 36mm LED pixlar: dessa pixlar internt representerar färgen i en
olika format. Någon av de ovanstående konstruktörerna kan acceptera en
valfri extra parameter: WS2801_RGB är "konventionella" RGB ordning
WS2801_GRB är den GRB ordning krävs av 36mm pixlar. Andra
än denna parameter behöver din kod inte göra något annorlunda.
biblioteket kommer att hantera formatändringen. Exempel:
Adafruit_WS2801 strip = Adafruit_WS2801 (25, dataPin, clockPin, WS2801_GRB);
Adafruit_WS2801 strip = Adafruit_WS2801 (25, WS2801_GRB);

void setup() {

Strip.BEGIN();

Uppdatera LED innehållet, för att starta de är alla "off"
Strip.show();
}

void loop() {
Några exempel procedurer visar hur du visar till pixlar

colorWipe (färg (255, 0, 0), 50);
colorWipe (färg (0, 255, 0), 50);
colorWipe (färg (0, 0, 255), 50);
Rainbow(20);
rainbowCycle(20);
}

{Ogiltig rainbow (uint8_t vänta)
int i, j.

för (j = 0; j < 256; j ++) {/ / 3 cykler av alla 256 färger i hjulet
för (jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, hjulet ((i + j) % 255));
}
Strip.show(); skriva alla pixlar
Delay(Wait);
}
}

Något annorlunda, gör en regnbåge hjulet jämnt fördelat
i kedjan
void rainbowCycle (uint8_t vänta) {
int i, j.

för (j = 0; j < 256 * 5; j ++) {/ / 5 cykler av alla 25 färger i hjulet
för (jag = 0; jag < strip.numPixels(); i ++) {
knepigt matematik! Vi använder varje pixel som en bråkdel av hela 96-färghjulet
(det är jag / strip.numPixels() del)
Tillsätt sedan i j som gör färgerna gå runt per pixel
96% är att göra hjulet cykla runt
strip.setPixelColor (i, hjulet (((i * 256/strip.numPixels()) + j) % 256));
}
Strip.show(); skriva alla pixlar
Delay(Wait);
}
}

Fyll prickar en efter den andra med nämnda färg
bra för teständamål
void colorWipe (uint32_t c, uint8_t vänta) {
int i;

för (jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, c);
Strip.show();
Delay(Wait);
}
}

/ * Hjälpare funktioner * /

Skapa ett 24-bitars färgvärde av R, G, B
uint32_t färg (byte r, byte g, byte b)
{
uint32_t c;
c = r;
c << = 8;
c | = g;
c << = 8;
c | = b;
returnera c;
}

Ange ett värde 0 till 255 att få ett färgvärde.
Färgerna är en övergång r - g -b - tillbaka till r
uint32_t hjul (WheelPos byte)
{
om (WheelPos < 85) {
returnera färg (WheelPos * 3, 255 - WheelPos * 3, 0);
} else om (WheelPos < 170) {
WheelPos-= 85.
returnera färg (255 - WheelPos * 3, 0, WheelPos * 3);
} annat {
WheelPos-= 170;
returnera färg (0, WheelPos * 3, 255 - WheelPos * 3);
}
}

Nu när vi vet LED strip är arbetar vi kan ladda upp den faktiska skiss som vi vill använda.
Skissen vi skapat under design sylt att demonstrera den arbetande begreppen.

/*
=================================================================
Kodade för hjul väl Design sylt på Kalifornien College of Arts
Genom
William Felker [www.williamfelker.com] &
Analicia Barros [analiciab.tumblr.com]

Projektet inspirerad av: FLORA Backpack
< en href = "http://learn.adafruit.com/flora-brakelight-backpack" > http://learn.adafruit.com/flora-brakelight-backpac...</a>
=================================================================
*/
#include "SPI.h" / /
#include "Adafruit_WS2801.h" / / import LED bibliotek

uint8_t dataPin = 10; Grön kabel på WS2801
uint8_t clockPin = 9; Gul kabel på WS2801

CONST int rightTurn = 12; antal rätt tryckknapp PIN-koden
CONST int leftTurn = 6; numret på den vänstra tryckknapp pin

int buttonRight = 0;
int buttonLeft = 0;

Adafruit_WS2801 strip = Adafruit_WS2801 ((uint16_t) 7, (uint16_t) 7, dataPin, clockPin);

void setup() {
Strip.BEGIN(); Ser till att alla lysdioder start "off"
Strip.show();
}
void loop() {
buttonRight = digitalRead(rightTurn);
om (buttonRight == låg) {/ / Detta kan enkelt göras om till en for-loop
Höger
Center(0,0,0,0);
Right(16,0,0,255);
Delay(100);
Center(0,0,0,0);
}
annat {
Inaktivera LED:
Center(0,0,0,0);
Delay(5000);
}
buttonLeft = digitalRead(leftTurn);
om (buttonLeft == låg) {/ / Detta kan enkelt göras om till en for-loop
VÄNSTER
Left(1,0,0,255);
Delay(100);
Center(0,0,0,0);
Left(1,0,0,255);
Delay(100);
Center(0,0,0,0);
}
annat {
Inaktivera LED:
Center(0,0,0,0);
Delay(5000);
}
/*
buttonLeft = digitalRead(leftTurn); < br > om (__ == __) {
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 vänster (uint16_t n, uint8_t r, uint8_t g, uint8_t b) {
för (n = 0; n < 10; n ++) {/ / anger lysdioder intervallet 0-10
strip.setPixelColor (n, r, g, b);
Strip.show();
}
}
ogiltigförklara rätten (uint16_t n, uint8_t r, uint8_t g, uint8_t b) {
för (n = 16; n < 25; n ++) {/ / anger lysdioder rad 16-25
strip.setPixelColor (n, r, g, b);
Strip.show();
}
}
void center (uint16_t n, uint8_t r, uint8_t g, uint8_t b) {
för (n = 0; n < 25; n ++) {/ / anger lysdioder rad 0-25
strip.setPixelColor (n, r, g, b);
Strip.show();
}
}

Se Steg
Relaterade Ämnen

LED bil / cykel tur indikator

LED bil/cykel blinker indikator med Ne555 enkel och unik. Jag har utformat denna krets för min bil fungerar det bra. Det mest ovanliga med denna krets är det börjar blinka från ena sidan och slutar i andra sidan. Alla delar jag använt är allmänt till...

Tabellen cykel (aka Rackatabla) – eller hur man cykel tur med din vandring ryggsäck

Någonsin velat cykeltur men du inte har pengar att köpa dyra rack packväskor? Eller bättre, någonsin ville använda din cykel att transportera dig till basen av ett berg och ta din ryggsäck från rack och vandra? Eller kanske ännu bättre, någonsin miss...

Billig hemmagjord vattentät ryggsäck täcka (som också sparar planeten)

du inte älskar backpacking? Vad du inte? Väl göra du nu! Det enda som kunde möjligen komma i vägen för du njuter av en trevlig backpacking resa är regn. Du hör det? Japp, är det regn. Titta utanför om du inte tror mig. Jag vet att du är hardcore nog...

DIY cykel tur signaler

Bor i en stad, använder jag min cykel som medel för transitering, ridning hemifrån att arbeta, arbeta till studio, ärenden, etc. När jag rider på natten, är jag ofta fråga om andra fordon/personer på vägen se min handsignaler när jag ska vända. För a...

Lysande cykel tur signaler

Först, jag publicerar det här för min vän K. Han är en mycket ung blyg man och inte bra på engelska. Jag tror han är typ av kreativa maker. Även om min engelska är bara lite bättre än honom, ska jag försöka att presentera hans underbara arbete till e...

Cykel norr indikator

Magnetoception är möjligheten för vissa djur att upptäcka magnetfält som ett sätt att orientera sig. Även om människor inte verkar besitter samma biologiska mekanismer som gör att andra djur att känsla magnetiska fält, finns det fortfarande många sät...

Järn-Tandem - cykel/Recycle Project

detta instructable förklarar hur du sparar två gamla cyklar från graven till skapa en odödlig tandem cykel.Jag hade alltid tyckte bygga något kul och faktiskt ägna lite tid till ett projekt snarare än bara udda quick fix här och där. Med en välgörenh...

Automatisk cykel Hand-signal-utlöst indikatorlampan

jag kommer att visa dig hur du skapar en tur indikator för cyklister som tänds automatiskt när du utöka din arm för att indikera en sväng.Den är baserad på en liten kommersiellt tillgängliga EL panel, som vi ska lägga till en enkel tilt switch och et...

Cykel LED blinkers

jag var åter publicerats på TreeHugger!!! http://www.Treehugger.com/slideshows/gadgets/how-make-LED-turn-signals-your-Bike/Visar sig killarna på CleanTechnica och WonderHowTo bloggat om detta utan att berätta mig först. Inte säker på om jag skulle bl...

Camping: på en cykel & låg budget!

Frustrerad av min sysselsättningssituationen (eller brist på), jag bestämde mig att kolla in den stora landområden och fantastiska människor i Texas. Med hjälp av några vänner, jag skrotade som lite utrustning som möjligt tillsammans, och jag gick ut...

Jar cykel sadel plastpåse

jag var en ryttare för 2011 rida för AIDS Chicago, 2 om dagen, 200 mil cykel tur att samla in pengar och öka medvetenheten om HIV/AIDS (jag ska rida igen i 2012!). Har aldrig gjort en uthållighet rida liknande förut, fanns det en massa klockor en vis...

En $10 enkel cykel korg konvertering för en budbärare (eller någon) väska

Store köpte cykel korg suck. De är löjligt dyra, obekväm att bära med sig, och är inte mycket bra för något annat. För ljus pendling, vill jag inte behöva punga ut massor av pengar för att genomföra saker på en cykel rack, även om min rygg börjar arg...

Lätt ryggsäck regnskydd

Jag har en mycket trasig ryggsäck (inte som på bilden) med många exponerade fickor, och eftersom det regnade mycket tungt beslöt jag att göra mig själv en snabb och enkel cover.Steg 1: material Ryggsäck du vill täckaSoppåse (allmänt liten men stor no...

Trailer för Vespa Scooter

jag njuter min Vespa (GTS250ie), jag använder det för professionell transport såväl för personligt bruk.Downtown, trafiken är ofta överbelastad, parkering är alltid dyrt eller problematiska och Vespa är en mycket effektiv lösning på båda.Semesterreso...

LEGO T-korsningen trafik lysdiod

Video inte leker? Se det på YouTube: http://www.youtube.com/watch?v=q0tiiWwC6ZoBakgrundVarje jul som vi satt upp en stor LEGO tåg layout i en del av vardagsrummet. I år hamnade jag vinna en eBay-auktion för ett antal äldre modell LEGO road plattor, v...

Hjärnan inuti (Intel IoT)

Hjärnan inuti är en smart hjälm byggd inom 24 timmar med Intel Edison vid Intel IOT Roadshow. Den är utformad för motorcyklist säkerhet.Den har funktioner som• Auto tur indikator• Varning på olycka• Ljus sensing lampor• Auto broms indikator• Auto Nav...

Teleskopering klammer

Här visar jag hur man gör teleskopering tube clamp lederna som tillåter extremt starka, lätta och justerbar längd och rotation anslutning mellan två rör.Rören kan göras teleskopering när en passar över den andra med bara små clearance. Om du kan kläm...

Hur man rengör en dirtbike/4 hjuling carb och lägre utsläpp

försiktighet kommer du att arbeta runt brandfarligt material såsom bensin hålla borta från öppna lågor eller gas värmeelement.Varför skicka youre dirtbike eller quad till butiken underhållas och spenderar kanske hunderds dollar. När du kan göra det d...

Storm avlopp utforskning del II

detta är en serie av korta videor av min vän och jag gå igenom ännu en serie av dagvatten. Här var mycket kortare, men 25 foten klättra till toppen på avdelningen, där vi kunde se utanför, var fantastiskt, och sresented alla nya utmaningar för oss. V...