Cuprins:

Spectacol ușor de lumină de vacanță cu LED: vrăjitori în timpul iernii - Benzi LED WS2812B cu FastLED și un tutorial Arduino: 6 pași
Spectacol ușor de lumină de vacanță cu LED: vrăjitori în timpul iernii - Benzi LED WS2812B cu FastLED și un tutorial Arduino: 6 pași

Video: Spectacol ușor de lumină de vacanță cu LED: vrăjitori în timpul iernii - Benzi LED WS2812B cu FastLED și un tutorial Arduino: 6 pași

Video: Spectacol ușor de lumină de vacanță cu LED: vrăjitori în timpul iernii - Benzi LED WS2812B cu FastLED și un tutorial Arduino: 6 pași
Video: FEMEIA De 399 De ANI ! #shorts 2024, Iulie
Anonim
Image
Image

Am proiectat și programat acest spectacol de lumini de sărbători pentru a fi afișat oriunde. Am folosit o bandă LED WS2812B cu o densitate de pixeli de 30 pixeli / metru. De când am folosit 5 metri, am avut în total 150 de LED-uri. Am păstrat codul simplu, astfel încât oricine care începe să folosească benzile LED WS2812B să poată urma cu ușurință codul. Acest lucru înseamnă, de asemenea, că, dacă utilizați cantități diferite de pixeli, sincronizarea va fi oprită, deci ar trebui să rămâneți la 150 de LED-uri. De asemenea, simplificându-l, sistemul muzical nu este deloc gestionat de Arduino. La începutul programului, există 3 blițuri de verde și 1 bliț de roșu, apoi începe spectacolul de lumină real. Întrucât trebuie să porniți muzica manual, aceste blițuri inițiale vă oferă o indicație a momentului în care începeți să redați muzica. Am inclus codul de mai jos. Nu ezitați să adăugați sau să modificați acest cod în scopuri necomerciale.

Provizii

- Benzi LED WS2812B

- Arduino

- Fire

- Alimentare 5V 10A | Dacă utilizați mai multe benzi, va trebui să utilizați o sursă de alimentare mai mare. Fiecare pixel folosește 60mA, deci 150 pixeli * 60mA = 9A. Sursa dvs. de alimentare trebuie să poată gestiona acest lucru dacă intenționați să utilizați luminozitatea maximă la alb. Trebuie să utilizați o sursă de alimentare de 5V dacă utilizați benzi LED de 5V și dacă utilizați benzi LED de 12V, va trebui să utilizați o sursă de alimentare de 12V, dar folosiți și un convertor de 12-5V pentru a alimenta Arduino de 5V.

Pasul 1: Descărcați biblioteca FastLED

Definiți câteva variabile
Definiți câteva variabile

Dacă nu aveți deja descărcată biblioteca FastLED, descărcați cea mai recentă versiune de pe github.com/FastLED/FastLED/releases

Descărcați biblioteca FastLED și mutați-o în dosarul bibliotecilor Arduino. NU schimbați numele acestui folder. În IDE-ul Arduino, accesați Sketch, Include Library și apoi Add. ZIP Library. Selectați folderul FastLED.

Odată ce biblioteca dvs. este configurată, includeți linia #include Această linie spune programului că utilizați acea bibliotecă.

Pasul 2: definiți câteva variabile

După cum am menționat mai devreme, pentru a menține codul simplu, modificarea numărului de pixeli va schimba timpul sau spectacolul de lumină.

Linia #define NUM_LEDS 150 este locul în care puneți numărul de pixeli utilizați. În acest caz, va fi 150.

Linia #define DATA_PIN 5 este locul în care puneți pinul digital la care ați conectat firul de date.

Linia #define BRIGHTNESS 255 este locul în care puneți luminozitatea de la o scară de la 0-255, 255 fiind cea mai strălucitoare.

Pasul 3: Secțiunea de configurare a codului

Secțiunea de configurare a codului
Secțiunea de configurare a codului

În secțiunea de configurare, există o întârziere de 2 secunde și linia

FastLED.addLeds (led-uri, NUM_LEDS).setCorrection (TypicalLEDStrip);

WS2812B a indicat tipul de bandă LED pe care am folosit-o, iar DATA_PIN este variabila definită într-un pas anterior. GRB este ordinea culorilor. Acest lucru poate varia în funcție de banda LED utilizată. Încercați codul așa cum este și dacă culorile nu sunt identice cu cele din videoclip, încercați să schimbați acest lucru în RGB sau, de exemplu, în BRG. Puteți lăsa restul acestei linii la fel. Liniile

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

limitați consumul de energie al benzii LED. Aceasta este o caracteristică uimitoare din biblioteca FastLED. Numărul 5 este tensiunea pe care am folosit-o, iar numărul 8000 este curentul maxim pe care banda LED îl poate folosi în mA. Se recomandă utilizarea a 80% din capacitatea sursei de alimentare pentru a-și prelungi durata de viață. Deoarece am o sursă de alimentare de 10A, 0,8 * 10 = 8A sau 8000mA.

Pasul 4: Secțiunea Loop | Aka, partea interesantă a codului

Secțiunea Loop | Aka, partea interesantă a codului
Secțiunea Loop | Aka, partea interesantă a codului
Secțiunea Loop | Aka, partea interesantă a codului
Secțiunea Loop | Aka, partea interesantă a codului

Acum, după ce am terminat de configurat programul pentru banda LED specială, putem ajunge la o parte, de fapt face ca benzile să se aprindă. Pentru a menține această secțiune curată, am folosit funcții de scriere pentru a controla benzile și a efectua diferite efecte. Imaginea de mai sus din stânga face parte din secțiunea buclă, care rulează funcțiile. Imaginea din dreapta este sub aceasta și acolo am scris ce face fiecare funcție.

Pasul 5: Cablare

Cablare
Cablare

Benzile LED WS2812B au 3 terminale la fiecare capăt. 2 pentru putere și 1 pentru semnalul de date provenit de la Arduino. Pur și simplu conectați 2 fire la bornele de alimentare ale Arduino și conectați 2 fire la banda LED. De asemenea, ar trebui să adăugați 2 fire de alimentare numite fire de injecție la capătul benzii, deoarece pierderea de tensiune poate duce la LED-uri slabe la capătul benzii, dacă nu faceți acest lucru. Verificați etichetele de pe bandă pentru a vedea care este terminalul pentru ce. Amestecarea polarității ar putea duce la o bandă prăjită. De asemenea, conectați firul de masă al Arduino la firul de masă de pe banda LED pentru a stabili o masă comună pentru o mai bună transmitere a datelor. Am menționat că ar trebui să adăugați fire de injecție de energie, dar NU puteți face acest lucru pentru firul de date. Acest lucru se datorează faptului că fiecare LED retransmite semnalul de date la următorul, deci asigurați-vă că conectați un fir de date la pinul Arduino specificat și banda LED. Banda trebuie să aibă o mică săgeată care să indice direcția de deplasare a datelor. Asigurați-vă că puneți firul de semnal de date la început și nu la sfârșit. Amestecarea acestui lucru ar putea duce la o friptură prăjită.

Pasul 6: Montarea benzii LED

Mi-am montat banda LED în interiorul unei ferestre prin simpla înregistrare. Cu toate acestea, există multe alte modalități prin care ați putea monta banda LED. Puteți utiliza un canal de aluminiu, cum ar fi https://tinyurl.com/s2km4v3, pentru a pune benzile în exterior pe linia de acoperiș. Dacă puneți benzile cu LED-uri în exterior, vă recomand să folosiți benzile ip65 dacă utilizați un canal din aluminiu, deoarece sunt semi-impermeabile și sunt mai subțiri decât 1p67, care poate să nu se potrivească în unele canale. Dacă intenționați să montați acest lucru în exterior fără un canal, utilizați benzile ip67, care sunt practic impermeabile. Pentru a învârti un colț, cum ar fi cele de pe vârfurile liniei de acoperiș, ar trebui să tăiați în mod ideal banda și să folosiți fire pentru a merge după colț. S-ar putea să vă îndepărtați doar cu îndoirea benzii, dar fiți atenți la cât de mult le îndoiți, deoarece este ușor să scoateți un LED.

Recomandat: