Indholdsfortegnelse:

Let LED Holiday Light Show: Troldmænd om vinteren - WS2812B LED Strip med FastLED og en Arduino Tutorial: 6 trin
Let LED Holiday Light Show: Troldmænd om vinteren - WS2812B LED Strip med FastLED og en Arduino Tutorial: 6 trin

Video: Let LED Holiday Light Show: Troldmænd om vinteren - WS2812B LED Strip med FastLED og en Arduino Tutorial: 6 trin

Video: Let LED Holiday Light Show: Troldmænd om vinteren - WS2812B LED Strip med FastLED og en Arduino Tutorial: 6 trin
Video: Winter wonderland with relaxing piano music (Smart TV background video) 2024, November
Anonim
Image
Image

Jeg har designet og programmeret dette ferie lysshow til at vise hvor som helst. Jeg brugte en WS2812B led strip med en pixeltæthed på 30 pixels/ meter. Da jeg brugte 5 meter, havde jeg i alt 150 lysdioder. Jeg holdt koden enkel, så alle, der var nye i at bruge WS2812B LED -strips, let kunne følge koden. Dette betyder også, at hvis du bruger forskellige mængder pixels, vil timingen være slukket, så du skal holde dig til 150 lysdioder. For at holde det simpelt styres musiksystemet slet ikke af Arduino. I starten af programmet er der 3 blink med grønt og 1 blink rødt, derefter starter det egentlige lysshow. Da du skal starte musikken manuelt, skal disse indledende blink give dig en indikation af, hvornår musikken skal startes. Jeg har inkluderet koden herunder. Du er velkommen til at tilføje eller ændre denne kode til ikke-kommercielle formål.

Forbrugsvarer

- WS2812B LED Strip

- Arduino

- Ledninger

- 5V 10A strømforsyning | Hvis du bruger mere end én strimmel, skal du bruge en større strømforsyning. Hver pixel bruger 60mA, så 150 pixels * 60mA = 9A. Din strømforsyning skal kunne klare dette, hvis du agter at bruge fuld lysstyrke i hvidt. Du skal bruge en 5V strømforsyning, hvis du bruger 5V LED strips, og hvis du bruger 12V LED strips, skal du bruge en 12V strømforsyning, men også bruge en 12-5V converter til at drive 5V Arduino.

Trin 1: Download FastLED -biblioteket

Definer et par variabler
Definer et par variabler

Hvis du ikke allerede har downloadet FastLED -biblioteket, skal du downloade den nyeste version fra github.com/FastLED/FastLED/releases

Download FastLED -biblioteket, og flyt det til din Arduino -biblioteksmappe. Ændre IKKE navnet på denne mappe. I Arduino IDE skal du gå til Skitse, Inkluder bibliotek og derefter Tilføj. ZIP -bibliotek. Vælg FastLED -mappen.

Når dit bibliotek er oprettet, skal du inkludere linjen #include Denne linje fortæller programmet, at du bruger det bibliotek.

Trin 2: Definer et par variabler

Som jeg nævnte tidligere, for at holde koden enkel, vil ændring af antallet af pixels ændre timingen eller lysshowet.

Linjen #define NUM_LEDS 150 er, hvor du sætter antallet af anvendte pixels. I dette tilfælde vil det være 150.

Linjen #define DATA_PIN 5 er, hvor du sætter den digitale pin, som du har tilsluttet datatråden til.

Linjen #define BRIGHTNESS 255 er, hvor du sætter lysstyrken fra en skala fra 0-255, hvor 255 er den lyseste.

Trin 3: Opsætningsdelen af koden

Opsætningsdelen af koden
Opsætningsdelen af koden

I opsætningsafsnittet er der en forsinkelse i 2 sekunder og linjen

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip);

WS2812B angav den type LED -strimmel, vi brugte, og DATA_PIN er variablen, som vi definerede i et tidligere trin. GRB er farveordren. Dette kan variere afhængigt af den anvendte LED -strimmel. Prøv koden som den er, og hvis farverne ikke er de samme som i videoen, kan du prøve at ændre dette til f.eks. RGB eller BRG. Du kan lade resten af denne linje være den samme. Linjerne

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

begrænse strømforbruget på LED -båndet. Dette er en fantastisk funktion fra FastLED -biblioteket. Tallet 5 er den spænding, vi brugte, og tallet 8000 er den maksimale strøm, LED -strimlen kan bruge i mA. Det anbefales kun at bruge 80% af strømforsyningens evne til at forlænge dens levetid. Da jeg har en 10A strømforsyning, er 0,8*10 = 8A eller 8000mA.

Trin 4: Loop -sektionen | Aka, den fede del af koden

Loop -sektionen | Aka, den fede del af koden
Loop -sektionen | Aka, den fede del af koden
Loop -sektionen | Aka, den fede del af koden
Loop -sektionen | Aka, den fede del af koden

Nu hvor vi er færdige med at konfigurere programmet til vores særlige LED -strimmel, kan vi komme til at dele den faktisk får strimlerne til at lyse. For at holde dette afsnit rent, brugte jeg skrevfunktioner til at styre strimlerne og lave forskellige effekter. Ovenstående billede til venstre er en del af loop -sektionen, som kører funktionerne. Billedet til højre er under det og er, hvor jeg skrev, hvad hver funktion gør.

Trin 5: Ledningsføring

Ledninger
Ledninger

WS2812B LED -strips har 3 terminaler i hver ende. 2 for strøm og 1 for datasignalet fra vores Arduino. Du skal blot slutte 2 ledninger til Arduino's strømterminaler, og tilslut 2 strømkabler til LED -stripen. Du bør også tilføje 2 strømledninger kaldet strømindsprøjtningskabler til enden af båndet, fordi spændingstab kan føre til svage lysdioder i slutningen af båndet, hvis du ikke gør dette. Kontroller etiketterne på strimlen for at se, hvilken terminal der er til hvad. Blanding af polariteten kan føre til en stegt strimmel. Tilslut også Arduino's jordledning til jordledningen på LED -strimlen for at etablere en fælles vej for bedre datatransmission. Jeg nævnte, at du skulle tilføje strømindsprøjtningskabler, men du kan IKKE gøre dette for datakablet. Det skyldes, at hver LED genudsender datasignalet til det næste, så sørg for at tilslutte 1 datakabel til den angivne Arduino -pin og LED -stripen. Strimlen skal have en lille pil angivet retningen for datakørsel. Sørg for at sætte datasignaltråden i begyndelsen og ikke slutningen. Blanding af dette kan føre til en stegt strimmel.

Trin 6: Montering af LED Strip

Jeg monterede min LED -strip på indersiden af et vindue ved simpelthen at tape den. Der er dog mange andre måder, du kan montere din LED -strip på. Du kan bruge en aluminiumskanal som https://tinyurl.com/s2km4v3 til at lægge strimlerne udenfor på din taglinje. Hvis du sætter dine LED-strimler udenfor, anbefaler jeg at bruge ip65-strimlerne, hvis du bruger en aluminiumskanal, fordi de er semi-vandtætte og er tyndere end 1p67, som muligvis ikke passer i nogle kanaler. Hvis du har tænkt dig at montere dette uden for en kanal, skal du bruge ip67 -strimlerne, som er praktisk talt vandtætte. For at gå rundt om et hjørne, som dem på toppen af din taglinje, skal du ideelt skære strimlen og bruge ledninger til at gå rundt om hjørnet. Du kan muligvis slippe af sted med bare at bøje strimlen, men vær forsigtig med, hvor meget du bøjer dem, fordi det er let at springe en LED ud.

Anbefalede: