Animerade LED semester scen (3 / 4 steg)
Steg 3: Ledningsdragning och montering lysdioderna
LED-moduler är ganska rakt fram tråd upp. De + 5 och marken kommer direkt från dessa pins på Arduino och uppgifterna kommer från digital stift 6 för min kod - som kan konfigureras i koden.
Skär 4" längder av 22 gauge tråd i alla tre färgerna - 4 ställer i alla. Band i ändarna mycket kort för LED anslutningar - ca 1/8". Ledningar och LED kuddar först att göra lödning dem. tillsammans tenn lättare. Om LED kuddar har genom hål, kan du hoppa över dem och bara löda kablarna på baksidan - jag tyckte att lättare än lödning trådarna genom hålen.
För det första LED, se till att använda data i pad - lysdioderna har en riktning som du måste använda. Input kommer från Arduino, och produktionen går till nästa LED. Så, för de första tre ledningarna, ena änden kommer att ansluta till Arduino - de kan demonteras lite längre - 1/4" och den andra änden går till första LED. Efter det, du kan bara löda i rad - se bilderna.
Om du vill, kan du planera ut platsen och ledningar närmare - jag bara gjort dem samma och böjda kablar som behövs.
Den första lysdioden efter Arduino är #0, då den andra är #1 etc - i ordning när du flyttar från Arduino. Ordningen är viktig för att se till att du lyser upp rätt de med rätt färger.
Det kan hjälpa mycket att ladda ett testprogram i Arduino och testa den med varje LED du löda.
Efter led är lödda, kan du tejpa eller limma dem till styrelsen för varje del av scenen. Solid core tråd gör offset som lätt att placera.
Det är det! Prov program bifogas, så du kan se hur du kör flera animeringar på samma gång. Om du gör andra mönster, skicka dem i kommentarerna!
Här är koden jag använde, det kan säkert förbättras!
/*****************************************************************************
*
* semester scen animering för WS2812b lysdioder ansluten till stift 6
* 4 lysdioder: 0 = träd stjärna, 1 = träd, 2 = snögubbe, 3 = santa näsa
* 11/15/2015 Carl F. Sutter
*
*******************************************************************************/
#include < Adafruit_NeoPixel.h > / / support Adafruit!
#define LED_PIN 6
#define NUMPIXELS 4
Parametern 1 = antal pixlar i remsa
Parameter 2 = Arduino pin-kod (de flesta är giltig)
Parameter 3 = pixel typ flaggor, Lägg ihop efter behov:
NEO_KHZ800 800 KHz bitstream (de flesta NeoPixel produkter w/WS2812 lysdioder)
NEO_KHZ400 400 KHz (classic "v1" (inte v2) FLORA pixlar, WS2811 drivrutiner)
NEO_GRB pixlar är kopplat för GRB bitstream (de flesta NeoPixel produkter)
NEO_RGB pixlar är kopplat för RGB bitstream (v1 FLORA pixlar, inte v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
int nose_red = 30. aktuella näsa röda färgen
int nose_red_min = 10; lägsta röd färg för näsa
int nose_red_max = 50; högsta röd färg för näsa
int nose_red_step = 1; stegstorlek för näsa färgen förändras
booleska nose_up = sant; riktning mot näsan färgförändring - sant = upp, false = ner - starta upp
void setup() {
Strip.BEGIN();
Strip.show(); Initiera alla pixlar till "off"
randomSeed(analogRead(0));
} / / setup
void loop() {
Tree star - random twinkles
om (random(4) == 0) {/ / endast ändra varje 4 slingor
strip.setPixelColor (0, strip. Färg (255, random(50,255), 0));
}
Tree kropp
strip.setPixelColor (1, strip. Färg (0, random(100,155), 0));
strip.setPixelColor (1, strip. Färg (0, 100, 0));
snögubbe
strip.setPixelColor (2, strip. Färg (30, 30, 255));
Santa näsa
om (nose_up) {
nose_red += nose_red_step;
om (nose_red > nose_red_max) {
nose_red = nose_red_max;
nose_up = false;
}
} annat {
nose_red-= nose_red_step;
om (nose_red < nose_red_min) {
nose_red = nose_red_min;
nose_up = sant;
}
}
strip.setPixelColor (3, band. Färg (nose_red, 0, 0));
Strip.show();
Delay(40);
} / / slinga