Innholdsfortegnelse:

Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED -stripe med FastLED og en Arduino -opplæring: 6 trinn
Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED -stripe med FastLED og en Arduino -opplæring: 6 trinn

Video: Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED -stripe med FastLED og en Arduino -opplæring: 6 trinn

Video: Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED -stripe med FastLED og en Arduino -opplæring: 6 trinn
Video: Christmas light star with arduino 2024, Juli
Anonim
Image
Image

Jeg designet og programmerte dette ferie lysshowet for å vise hvor som helst. Jeg brukte en WS2812B led stripe med en piksel tetthet på 30 piksler/ meter. Siden jeg brukte 5 meter, hadde jeg totalt 150 lysdioder. Jeg holdt koden enkel, slik at alle som var nye i å bruke WS2812B LED -strips, enkelt kunne følge koden. Dette betyr også at hvis du bruker forskjellige mengder piksler, vil timingen være av, så du bør holde deg til 150 lysdioder. Også, for å holde det enkelt, styres ikke musikksystemet av Arduino i det hele tatt. I begynnelsen av programmet er det 3 blink med grønt og 1 blink med rødt, deretter starter det faktiske lysshowet. Siden du må starte musikken manuelt, skal disse første blinkene gi deg en indikasjon på når du skal begynne å spille musikken. Jeg har inkludert koden nedenfor. Du kan gjerne legge til eller endre denne koden for ikke-kommersielle formål.

Rekvisita

- WS2812B LED -stripe

- Arduino

- Ledninger

- 5V 10A strømforsyning | Hvis du bruker mer enn én stripe, må du bruke en større strømforsyning. Hver piksel bruker 60mA, så 150 piksler * 60mA = 9A. Strømforsyningen må klare dette hvis du har tenkt å bruke full lysstyrke i hvitt. Du må bruke en 5V strømforsyning hvis du bruker 5V LED strips, og hvis du bruker 12V LED strips, må du bruke en 12V strømforsyning, men også bruke en 12-5V converter for å drive 5V Arduino.

Trinn 1: Last ned FastLED -biblioteket

Definer noen få variabler
Definer noen få variabler

Hvis du ikke allerede har lastet ned FastLED -biblioteket, kan du laste ned den siste versjonen fra github.com/FastLED/FastLED/releases

Last ned FastLED -biblioteket, og flytt det til mappen Arduino biblioteker. Ikke endre navnet på denne mappen. I Arduino IDE, gå til Sketch, Include Library og deretter Add. ZIP Library. Velg FastLED -mappen.

Når biblioteket er konfigurert, inkluderer du linjen #include Denne linjen forteller programmet at du bruker det biblioteket.

Trinn 2: Definer noen få variabler

Som jeg nevnte tidligere, for å holde koden enkel, vil endring av antall piksler endre timingen eller lysshowet.

Linjen #define NUM_LEDS 150 er hvor du setter antall piksler som brukes. I dette tilfellet vil det være 150.

Linjen #define DATA_PIN 5 er der du setter den digitale pinnen du koblet datakabelen til.

Linjen #define BRIGHTNESS 255 er hvor du setter lysstyrken fra en skala fra 0-255, med 255 som den lyseste.

Trinn 3: Oppsettsseksjonen av koden

Oppsettsseksjonen av koden
Oppsettsseksjonen av koden

I oppsettdelen er det en forsinkelse på 2 sekunder og linjen

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

WS2812B angav hvilken type LED -stripe vi brukte, og DATA_PIN er variabelen som vi definerte i et tidligere trinn. GRB er fargerekkefølgen. Dette kan variere avhengig av hvilken LED -stripe som brukes. Prøv koden som den er, og hvis fargene ikke er de samme som i videoen, kan du prøve å endre dette til RGB eller BRG for eksempel. Du kan la resten av denne linjen være den samme. Linjene

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

begrense strømforbruket til LED -stripen. Dette er en fantastisk funksjon fra FastLED -biblioteket. Tallet 5 er spenningen vi brukte, og tallet 8000 er maksimal strøm som LED -stripen kan bruke i mA. Det anbefales å bare bruke 80% av strømforsyningens evne til å forlenge levetiden. Siden jeg har en 10A strømforsyning, er 0,8*10 = 8A eller 8000mA.

Trinn 4: Loop -seksjonen | Aka, den kule delen av koden

Loop -seksjonen | Aka, den kule delen av koden
Loop -seksjonen | Aka, den kule delen av koden
Loop -seksjonen | Aka, den kule delen av koden
Loop -seksjonen | Aka, den kule delen av koden

Nå som vi er ferdige med å sette opp programmet for vår spesielle LED -stripe, kan vi komme til å dele det som faktisk får stripene til å lyse. For å holde denne delen ren, brukte jeg skrevfunksjoner for å kontrollere stripene og gjøre forskjellige effekter. Bildet ovenfor til venstre er en del av sløyfeseksjonen, som kjører funksjonene. Bildet til høyre er under det og er der jeg skrev hva hver funksjon gjør.

Trinn 5: Kabling

Kabling
Kabling

WS2812B LED -stripene har 3 terminaler i hver ende. 2 for strøm, og 1 for datasignalet som kommer fra vår Arduino. Bare koble 2 ledninger til Arduino -strømterminalene, og koble 2 strømledninger til LED -stripen. Du bør også legge til 2 strømledninger som kalles strøminnsprøytningskabler til enden av stripen fordi spenningstap kan føre til svake lysdioder på enden av stripen hvis du ikke gjør dette. Sjekk etikettene på stripen for å se hvilken terminal som er til hva. Blanding av polariteten kan føre til en stekt stripe. Koble også Arduino -jordledningen til jordledningen på LED -stripen for å etablere et felles grunnlag for bedre dataoverføring. Jeg nevnte at du bør legge til strøminjeksjonsledninger, men du kan IKKE gjøre dette for datakabelen. Dette er fordi hver LED sender datasignalet på nytt til det neste, så sørg for å koble 1 datakabel til den angitte Arduino -pinnen og LED -stripen. Stripen skal ha en liten pil som angir retningen for dataflyt. Sørg for at du setter datasignaltråden i begynnelsen og ikke slutten. Hvis du blander dette kan det føre til en stekt stripe.

Trinn 6: Montering av LED -stripen

Jeg monterte min LED -stripe på innsiden av et vindu ved ganske enkelt å trykke på den. Det er imidlertid mange andre måter du kan montere LED -stripen på. Du kan bruke en aluminiumskanal som https://tinyurl.com/s2km4v3 for å sette strimlene ute på taklinjen din. Hvis du setter LED-stripene dine utenfor, anbefaler jeg å bruke ip65-stripene hvis du bruker en aluminiumskanal fordi de er halvt vanntette og er tynnere enn 1p67, som kanskje ikke passer i noen kanaler. Hvis du har tenkt å montere dette uten en kanal, kan du bruke ip67 -stripene, som er praktisk talt vanntette. For å gå rundt et hjørne, for eksempel de på toppene på taklinjen din, bør du ideelt kutte stripen og bruke ledninger for å gå rundt hjørnet. Du kan kanskje slippe å bare bøye stripen, men vær forsiktig med hvor mye du bøyer dem fordi det er lett å slå av en LED.

Anbefalt: