Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
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
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
Î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
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
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.