Ghid final pentru conectarea benzilor de lumină LED la Arduino

Ghid final pentru conectarea benzilor de lumină LED la Arduino

Creșterea iluminării cu LED-uri a fost stratosferică și este ușor de văzut de ce. Sunt ieftine de produs, consumă mult mai puțină energie decât alte opțiuni de iluminat și, în majoritatea cazurilor, nu se încălzesc, ceea ce le face sigure pentru o varietate de utilizări.





Unul dintre cele mai comune produse LED este banda LED. În acest articol, vom prezenta cum să configurați cele mai comune tipuri cu un Arduino. Aceste proiecte sunt foarte simple și chiar dacă sunteți un începător cu Arduino sau electronice DIY, veți putea face acest lucru.





De asemenea, vom folosi IDE-ul Arduino pentru a le controla. Acest proiect folosește un Arduino Uno, deși puteți utiliza aproape orice placă compatibilă (cum ar fi NodeMCU).





Alegeți banda dvs.

Când cumpărați benzi cu LED-uri, trebuie să luați în considerare câteva lucruri. În primul rând este funcționalitatea. Dacă intenționați să utilizați benzile mai ales pentru iluminarea ambientală, atunci un simplu 12V LED RGB fâșie ( SMD5050 ) ar fi alegerea corectă.

Multe dintre aceste benzi vin cu o telecomandă cu infraroșu pentru a le controla, deși în acest proiect vom folosi în schimb un Arduino. Petreceți puțin timp la cumpărături, în momentul scrierii era posibil să obțineți aceste benzi la fel de puțin 1 dolar pe metru .



Credit de imagine: phanu suwannarat prin Shutterstock

cum se face o captură de ecran fără ecran de imprimare

Dacă doriți ceva tehnologie puțin mai înaltă, luați în considerare WS2811 / 12 / 12B . Aceste benzi (uneori denumite Neopixeli ) au chipset-uri integrate care le permit să fie adresate individual. Aceasta înseamnă că sunt capabili de mai mult decât simpla iluminare ambientală.





Le puteți folosi pentru a construi de la zero un afișaj de pixeli LED ieftin. Puteți chiar să le folosiți pentru a vă crea propria lampă personală pentru nori de furtună.

Aceste benzi necesită doar 5v pentru a le alimenta. Deși este posibil să alimentați cantități mici din ele direct de pe o placă Arduino, este în general o idee bună să utilizați o sursă de alimentare separată de 5V pentru a vă salva de mirosul de Arduino prăjit. Dacă căutați LED-uri programabile individual, acestea sunt pentru dvs. În momentul scrierii, acestea sunt disponibile în jur 4 dolari pe metru .





Un alt lucru de luat în considerare este locul în care este posibil ca aceste benzi să fie utilizate. Ambele tipuri de benzi au lungimi variabile, densități ale LED-urilor (numărul de LED-uri pe metru) și diferite grade de rezistență la intemperii.

Când vă uitați la benzi LED, acordați atenție numerelor de pe listă. De obicei, primul număr va fi numărul de LED-uri pe metru și literele IP urmat de numere va fi rezistenta la intemperii. De exemplu, dacă pe listă scrie 30 IP67 , asta înseamnă că vor exista 30 LED-uri pe metru. The 6 denotă că este complet sigilat de praf și că 7 înseamnă că este protejat împotriva scufundării temporare în apă. (Află mai multe despre rezistență la intemperii și evaluări IP .) Odată ce ați ales banda LED, este timpul să o conectați cu un Arduino. Să începem cu SMD5050.

Conectarea

Pentru a conecta o bandă LED de 12v la un Arduino, veți avea nevoie de câteva componente:

  • Benzi LED 12V RGB ( SMD5050 )
  • 1 x Arduino Uno (orice placă compatibilă va funcționa)
  • 3 x 10k Rezistențe Ohm
  • 3 x Nivelul logicii MOSFET-uri cu canal N
  • 1 x panou de pâine
  • Sârme de conectare
  • Alimentare 12v

Înainte de a configura circuitul, să vorbim despre MOSFET-uri .

Ori de câte ori controlați ceva cu o tensiune mai mare decât microcontrolerul dvs., aveți nevoie de ceva între ele pentru a vă opri prăjirea plăcii. Una dintre modalitățile mai simple de a face acest lucru este utilizarea unui MOSFET. Prin trimiterea modulației lățimii impulsurilor ( PWM ) semnale către Poartă picior, este posibil să controlați câtă putere trece între scurgere și sursă picioare. Trecând fiecare dintre culorile benzii LED prin MOSFET, puteți controla luminozitatea fiecărei culori individuale pe banda LED.

Atunci când utilizați microcontrolere, este important să utilizați componente de nivel logic pentru a vă asigura că lucrurile funcționează așa cum doriți. Asigurați-vă că MOSFET-urile dvs. sunt nivel logic si nu standard .

Configurați-vă circuitul astfel:

  1. Conectați pinii Arduino 9 , 6 , și 5 la Poartă picioarele celor trei MOSFET-uri și conectați a 10k rezistor în linie cu fiecare până la șina de sol.
  2. Conectați Sursă picioarele către șina de sol.
  3. Conectați Scurgere picioare la Verde , Net , și Albastru conectori pe banda LED.
  4. Conectați șina de alimentare la + 12v conectorul benzii LED (rețineți că în această imagine firul de alimentare este negru pentru a se potrivi culorilor conectorilor de pe banda mea LED).
  5. Conectați masa Arduino la șina de la sol.
  6. Conectați-vă 12v sursa de alimentare a șinelor de alimentare.

Majoritatea benzilor LED au conectori Dupont [Broken URL Removed], care sunt ușor de conectat. Dacă nu aveți, poate fi necesar să lipiți firele pe banda LED. Nu vă panicați dacă sunteți destul de nou în domeniul lipitului, este o treabă ușoară și avem un ghid pentru a începe să lipiți dacă aveți nevoie de el.

Vom alimenta placa Arduino prin USB pentru acest proiect. Puteți alege să vă alimentați placa folosind pinul VIN, dar asigurați-vă că cunoașteți limitările de putere pentru placa dvs. înainte de a face acest lucru.

Când circuitul dvs. este complet, ar trebui să arate cam așa:

Acum că ați conectat totul, este timpul să faceți o schiță simplă Arduino pentru a o controla.

Fade It Up

Conectați placa Arduino la computer prin USB și deschideți ID-ul Arduino. Asigurați-vă că aveți numărul corect de port și numărul de port selectat pentru placa dvs. în Instrumente> Tablă și Instrumente> Port meniuri. Deschideți o schiță nouă și salvați-o cu un nume adecvat.

Această schiță va estompa luminile într-o singură culoare, le va menține aprinse câteva secunde, apoi le va estompa până când vor fi stinse din nou. Puteți urmări aici și face schița dvs. sau pur și simplu descărcați cod complet de la GitHub.

Începeți prin a defini care pini va fi folosit pentru a controla MOSFET-urile.

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

Apoi aveți nevoie de câteva variabile. Creați un ansamblu strălucire variabilă, împreună cu o variabilă pentru luminozitatea fiecărei culori. Vom folosi doar variabila principală de luminozitate pentru oprirea LED-urilor, așa că setați-o la valoarea maximă a luminozității de 255 aici.

va trebui, de asemenea, să creați o variabilă pentru a controla cât de repede va avea loc decolorarea.

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

În dumneavoastră înființat funcția vom seta pinii Arduino la ieșire. De asemenea, vom apela câteva funcții cu o întârziere de 5 secunde între ele. Aceste funcții nu există încă, dar nu vă faceți griji, vom ajunge la ele.

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

Acum creați fișierul Aprinde () metodă:

void TurnOn() {
for (int i = 0; i <256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}

for (int i = 0; i <256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}

Acestea trei pentru buclele iau fiecare culoare până la luminozitatea maximă într-un timp specificat de fadeSpeed valoare.

În cele din urmă trebuie să creați fișierul Opriți() metodă:

void TurnOff() {
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);

brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}

Această metodă ne aplică strălucire variabilă la toate cele trei pini de culoare și le reduce la zero într-o perioadă de timp. Avem nevoie și de o metodă de buclă goală și aici, pentru a evita erorile de compilare.

După ce ați finalizat această schiță, salvați-o. Verificați schița și încărcați-o pe placa dvs. Arduino. Dacă primiți erori, verificați din nou codul pentru orice greșeli greșite sau puncte și virgule lipsă.

Acum ar trebui să vedeți banda LED crescând fiecare culoare individual, ținând culoarea albă timp de 5 secunde și apoi să se estompeze uniform în nimic:

Dacă întâmpinați dificultăți, verificați din nou cablajul și codul.

Acest proiect este o modalitate simplă de a începe, dar ideile acoperite în acesta pot fi extinse pentru a face iluminarea cu adevărat eficientă. Cu doar câteva alte componente puteți crea propria alarmă de răsărit. Dacă ai un kit de pornire cu Arduino, ai putea folosi orice buton sau senzor pentru a-ți declanșa LED-urile atunci când intri în cameră, de exemplu:

Android 6.0 1 mutați aplicațiile pe cardul SD

Acum, că am acoperit SMD5050s , să trecem la WS2812B benzi.

Idei strălucitoare

Aceste benzi necesită mai puține componente pentru a le pune în funcțiune și există o anumită marjă de manevră cu privire exact la valorile componentelor pe care le puteți utiliza. Condensatorul din acest circuit se asigură că LED-urile de 5v primesc o sursă de alimentare constantă. Rezistorul asigură că semnalul de date primit de la Arduino este lipsit de orice interferență.

Vei avea nevoie:

  • WS2811 / 12 / 12B Benzi LED de 5V (toate cele trei modele au cipuri integrate și funcționează în același mod)
  • 1 x Arduino Uno (sau o placa compatibila similara)
  • 1 x 220-440 Ohm Rezistor (orice dintre aceste două valori este în regulă)
  • 1 x 100-1000 microFarad Condensator (orice între aceste două valori este în regulă)
  • Plăci de pâine și conectați firele
  • Alimentare 5V

Configurați-vă circuitul așa cum se arată în diagramă:

Rețineți că condensatorul trebuie să fie orientarea corectă. Puteți afla care parte se atașează la șina de sol, căutând semnul minus (-) de pe corpul condensatorului.

De această dată, alimentăm Arduino utilizând sursa de alimentare de 5v. Acest lucru face ca proiectul să rămână singur odată ce am terminat, deși există lucruri importante de remarcat aici.

În primul rând, asigurați-vă că placa dvs. poate lua 5V putere înainte de a o atașa la sursa de alimentare. Aproape toate plăcile de dezvoltare rulează la 5v prin portul USB, dar pinii de intrare de alimentare de pe unii pot uneori sări peste regulatoarele de tensiune și să le transforme în pâine prăjită.

De asemenea, este o bună practică să vă asigurați că mai multe surse de alimentare separate nu sunt conectate la Arduino - deconectați cablul USB ori de câte ori utilizați o sursă de alimentare externă.

Odată conectat, ar trebui să arate astfel:

Acum, când banda noastră LED este conectată, să trecem la cod.

telefonul Android cu cărămizi nu va porni

Lumini dansatoare

Pentru a ne programa în siguranță placa, deconectați VIN linie de la linia electrică. O veți reatașa mai târziu.

Atașați Arduino la computer și deschideți ID-ul Arduino. Verificați dacă aveți numărul corect de placă și port selectat în Instrumente> Tablă și Instrumente> Port meniuri.

Vom folosi FastLED bibliotecă pentru a testa configurația noastră. Puteți adăuga biblioteca făcând clic pe Schiță> Includeți bibliotecă> Gestionați bibliotecile și căutarea FastLED. Faceți clic pe instalare, iar biblioteca va fi adăugată la IDE.

Sub Fișier> Exemple> FastLED selectează DemoReel100 schiță. Această schiță ciclează diferite lucruri care pot fi realizate cu WS2812 Benzi LED și este incredibil de ușor de configurat.

Tot ce trebuie să schimbi este DATA_PIN variabilă astfel încât să se potrivească pinul 13 , si NUM_LEDS variabilă pentru a defini câte LED-uri sunt în banda pe care o utilizați. În acest caz, folosesc doar o linie mică de 10 LED-uri tăiate dintr-o bandă mai lungă. Folosiți mai mult pentru un spectacol de lumină mai mare!

Asta e! Încărcați schița pe placa dvs., deconectați cablul USB și porniți sursa de alimentare de 5V. În cele din urmă, reatașați VIN-ul Arduino la linia de alimentare și urmăriți spectacolul!

Dacă nu se întâmplă nimic, verificați cablajul și ați specificat pinul Arduino corect în schița demo.

Posibilitati nelimitate

Schița demo arată câteva dintre numeroasele combinații posibile de efecte care pot fi realizate cu benzile WS2812. Pe lângă faptul că sunt un pas în sus față de benzile cu LED-uri obișnuite, ele pot fi puse și în practică. Un viitor proiect bun ar fi construindu-ți propria ambilumină pentru centrul dvs. media.

În timp ce aceste benzi sunt cu siguranță mai funcționale decât SMD5050, nu ignorați încă benzile LED standard de 12v. Sunt imbatabile în ceea ce privește prețul și există un număr mare de aplicații pentru benzi de lumină LED .

Învățarea de a lucra cu benzi cu LED-uri este o modalitate bună de a vă familiariza cu programarea de bază pe Arduino, dar cel mai bun mod de a învăța este prin bricolaj. Modificați codul de mai sus și vedeți ce puteți face! Dacă toate acestea au fost cam prea mult pentru dvs., luați în considerare să începeți cu aceste proiecte Arduino pentru începători .

Credite imagine: mkarco / Shutterstock

Acțiune Acțiune Tweet E-mail Canon vs. Nikon: Ce marcă de camere este mai bună?

Canon și Nikon sunt cele mai mari două nume din industria camerelor. Dar ce marcă oferă o gamă mai bună de camere și obiective?

Citiți în continuare
Subiecte asemănătoare
  • DIY
  • Arduino
  • Benzi LED
  • Lumini cu leduri
Despre autor Ian Buckley(216 articole publicate)

Ian Buckley este un jurnalist independent, muzician, interpret și producător video care locuiește în Berlin, Germania. Când nu scrie sau pe scenă, se ocupă de electronice sau coduri DIY în speranța de a deveni un om de știință nebun.

Mai multe de la Ian Buckley

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona
Categorie Diy