Ultimativ guide til tilslutning af LED -lysstrimler til Arduino

Ultimativ guide til tilslutning af LED -lysstrimler til Arduino

Fremkomsten af ​​LED -belysning har været stratosfærisk, og det er let at se hvorfor. De er billige at producere, forbruger betydeligt mindre strøm end andre belysningsmuligheder, og bliver i de fleste tilfælde ikke varme, hvilket gør dem sikre til forskellige anvendelser.





Et af de mest almindelige LED -produkter er LED -båndet. I denne artikel vil vi dække, hvordan du konfigurerer de to mest almindelige typer med en Arduino. Disse projekter er meget enkle, og selvom du er en nybegynder med Arduino eller DIY -elektronik, vil du være i stand til at gøre dette.





Vi vil også bruge Arduino IDE til at kontrollere dem. Dette projekt bruger en Arduino Uno, selvom du kan bruge næsten ethvert kompatibelt kort (f.eks. NodeMCU).





Vælg din strip

Når du køber LED -strips, er der et par ting, du skal overveje. Først er funktionalitet. Hvis du planlægger at bruge strimlerne mest til omgivelsesbelysning, så er det enkelt 12v RGB LED strimmel ( SMD5050 ) ville være det rigtige valg.

Mange af disse strimler leveres med en infrarød fjernbetjening til at styre dem, selvom vi i dette projekt vil bruge en Arduino til i stedet. Brug lidt tid på at shoppe rundt, i skrivende stund var det muligt at få disse strimler for så lidt som $ 1 pr. Meter .



Billedkredit: phanu suwannarat via Shutterstock

hvordan man bruger bærbar som skærm

Hvis du vil have noget lidt højere tech, skal du overveje WS2811 / 12 / 12B . Disse strimler (undertiden omtalt som Neopixels ) har integrerede chipsæt, som gør det muligt at adressere dem individuelt. Det betyder, at de er i stand til mere end bare omgivelsesbelysning.





Du kan bruge dem til at bygge en billig LED -pixeldisplay fra bunden. Du kan endda bruge dem til at lave din egen personlige indendørs stormskylampe.

Disse strimler kræver kun 5v for at forsyne dem. Selvom det er muligt at drive små mængder af dem direkte fra et Arduino -bord, er det generelt en god idé at bruge en separat 5V strømforsyning for at redde dig selv fra duften af ​​stegt Arduino. Hvis du leder efter individuelt programmerbare lysdioder, er disse noget for dig. I skrivende stund er de tilgængelige til omkring $ 4 per meter .





En anden ting at overveje er, hvor disse strimler sandsynligvis vil blive brugt. Begge disse stribetyper findes i forskellige længder, LED -tætheder (antallet af lysdioder pr. Meter) og forskellige grader af vejrbestandighed.

Når du ser på LED -strimler, skal du være opmærksom på tallene på listen. Normalt vil det første tal være antallet af lysdioder pr. Meter og bogstaverne IP efterfulgt af tal vil være dens vejrbestandighed. For eksempel hvis noteringen siger 30 IP67 , det betyder, at der vil være 30 Lysdioder pr. Meter. Det 6 betegner det er fuldstændigt forseglet for støv, og 7 betyder, at den er beskyttet mod midlertidig nedsænkning i vand. (Lær mere om vejrbestandighed og IP -klassificeringer .) Når du har din valgte LED -strip, er det tid til at forbinde den med en Arduino. Lad os starte med SMD5050.

Få forbindelse

For at tilslutte en 12v LED -strip til en Arduino skal du bruge et par komponenter:

  • 12v RGB LED -strip ( SMD5050 )
  • 1 x Arduino Uno (ethvert kompatibelt bord gør)
  • 3 x 10k Ohm modstande
  • 3 x Logisk niveau N-kanal MOSFET'er
  • 1 x brødbræt
  • Tilslutningskabler
  • 12v strømforsyning

Før vi opretter kredsløbet, lad os tale om MOSFET'er .

Når du styrer noget, der er højere spænding end din mikrokontroller, har du brug for noget imellem for at stoppe dit bræt med at blive stegt. En af de enklere måder at gøre dette på er at bruge en MOSFET. Ved at sende pulsbreddemodulation ( PWM ) signaler til Port ben, er det muligt at kontrollere, hvor meget strøm der passerer mellem dræne og kilde ben. Ved at føre hver af LED -strimmelens farver gennem MOSFET'en kan du styre lysstyrken for hver enkelt farve på LED -strimlen.

Når du bruger mikrokontrollere, er det vigtigt at bruge komponenter på logisk niveau for at sikre, at tingene fungerer, som du vil have dem til. Sørg for, at dine MOSFET'er er det logisk niveau og ikke standard .

Opsæt dit kredsløb sådan:

  1. Tilslut Arduino pins 9 , 6 , og 5 til Port ben på de tre MOSFET'er, og tilslut en 10k modstand på linje med hver til jordskinnen.
  2. Tilslut Kilde ben til jordskinnen.
  3. Tilslut Dræne ben til Grøn , Net , og Blå stik på LED -båndet.
  4. Tilslut strømskinnen til +12v stik på LED -båndet (bemærk, at i dette billede er strømkablet sort for at matche farverne på stikene på min LED -strip).
  5. Tilslut Arduino -jorden til jordskinnen.
  6. Tilslut din 12v strømforsyning til strømskinnerne.

De fleste LED -strips har Dupont [Broken URL Removed] -stik, som er lette at oprette forbindelse til. Hvis din ikke gør det, skal du muligvis lodde ledninger til LED -strimlen. Gå ikke i panik, hvis du er temmelig ny inden for lodning, det er et let job, og vi har en guide til at komme i gang med lodning, hvis du skulle få brug for det.

Vi vil drive vores Arduino -bord via USB til dette projekt. Du kan vælge at tænde dit board ved hjælp af VIN -stiften, men sørg for at kende strømbegrænsningerne for dit board, før du gør dette.

Når dit kredsløb er færdigt, skal det se sådan ud:

Nu hvor du har tilsluttet alt, er det tid til at lave en simpel Arduino -skitse til at styre det.

Fade It Up

Tilslut dit Arduino -kort til din computer via USB, og åbn Arduino IDE. Sørg for, at du har valgt det korrekte board og portnummer til dit board i Værktøjer> Board og Værktøjer> Port menuer. Åbn en ny skitse og gem den med et passende navn.

Denne skitse vil fade lysene i en farve ad gangen, holde dem tændt i et par sekunder og derefter falme dem, indtil de er slukket igen. Du kan følge med her og lave skitsen selv, eller blot downloade komplet kode fra GitHub.

Begynd med at definere hvilken stifter vil blive brugt til at styre MOSFET'erne.

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

Dernæst har du brug for nogle variabler. Lav en overall lysstyrke variabel sammen med en variabel for hver enkelt farves lysstyrke. Vi bruger kun hovedvariablen for lysstyrke til at slukke for LED'erne, så indstil den til den maksimale lysstyrkeværdi på 255 her.

du bliver også nødt til at oprette en variabel for at kontrollere, hvor hurtigt fading vil ske.

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

I din Opsætning funktion sætter vi vores Arduino pins til output. Vi vil også kalde et par funktioner med en forsinkelse på 5 sekunder imellem. Disse funktioner findes ikke endnu, men bare rolig, vi kommer til dem.

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

Opret nu Tænde for () metode:

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);
}
}

Disse tre til sløjfer tager hver farve op til sin fulde lysstyrke over en tid, der er angivet af fadeSpeed værdi.

Endelig skal du oprette Sluk() metode:

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() {
}

Denne metode anvender vores lysstyrke variabel til alle tre farvepinde og reducerer dem til nul over en periode. Vi har også brug for en tom loop -metode her for at undgå kompilationsfejl.

Når du har gennemført denne skitse, skal du gemme den. Bekræft skitsen, og upload den til dit Arduino -bord. Hvis du får fejl, skal du kontrollere koden igen for eventuelle irriterende stavefejl eller manglende semikolon.

Nu skal du se din LED -strip stige op for hver farve individuelt, holde den hvide farve i 5 sekunder og derefter falme ensartet til ingenting:

Hvis du har problemer, skal du dobbelttjekke dine ledninger og kode igen.

Dette projekt er en enkel måde at komme i gang på, men de ideer, der er dækket i det, kan udvides til virkelig effektiv belysning. Med blot nogle få flere komponenter kan du oprette din egen solopgangsalarm. Hvis du har et startsæt med din Arduino, kan du bruge en vilkårlig knap eller sensor til at udløse dine lysdioder, når du kommer ind i rummet, for eksempel:

hvordan man sletter andet lager på iphone

Nu hvor vi har dækket SMD5050'ere , lad os gå videre til WS2812B strimler.

Lyse ideer

Disse strimler kræver færre komponenter for at få dem til at køre, og der er en vis spillerum for præcis, hvilke værdier af komponenter du kan bruge. Kondensatoren i dette kredsløb sørger for, at 5v lysdioderne får en stabil strømforsyning. Modstanden sikrer, at datasignalet modtaget fra Arduino er fri for interferens.

Du får brug for:

  • WS2811 / 12 / 12B 5v LED -strip (alle tre modeller har integrerede chips og fungerer omtrent på samme måde)
  • 1 x Arduino Uno (eller lignende kompatibelt bord)
  • 1 x 220-440 Ohm Modstand (alt mellem disse to værdier er fint)
  • 1 x 100-1000 microFarad Kondensator (alt mellem disse to værdier er fint)
  • Brødbræt og tilslut ledninger
  • 5V strømforsyning

Opsæt dit kredsløb som vist i diagrammet:

Bemærk, at kondensatoren skal være den korrekte retning. Du kan se, hvilken side der er knyttet til jordskinnen, ved at kigge efter minustegnet (-) på kondensatorens krop.

Denne gang driver vi strøm til Arduino ved hjælp af 5v strømforsyningen. Dette får projektet til at stå alene, når vi er færdige, selvom der er vigtige ting at bemærke her.

For det første skal du sørge for, at dit kort kan tage 5v strøm, før du slutter det til strømkilden. Næsten alle udviklingsplader kører ved 5v via USB -porten, men strømindgangsstifterne på nogle kan nogle gange springe spændingsregulatorerne over og gøre dem til toast.

Det er også god praksis at sikre, at flere separate strømkilder ikke er sluttet til Arduino - frakobl USB -kablet, når du bruger en ekstern strømforsyning.

Når du er tilsluttet, skal det se sådan ud:

Nu hvor vores LED -strip er tilsluttet, lad os gå videre til koden.

tilslut bluetooth headset til xbox one

Dansende lys

For sikkert at programmere vores board, skal du afbryde VIN ledning fra kraftledningen. Du sætter den på igen senere.

Slut din Arduino til computeren, og åbn Arduino IDE. Kontroller, at du har valgt det korrekte kort og portnummer i Værktøjer> Board og Værktøjer> Port menuer.

Vi vil bruge FastLED bibliotek for at teste vores setup. Du kan tilføje biblioteket ved at klikke på Skitse> Inkluder bibliotek> Administrer biblioteker og søger efter FastLED. Klik på installer, og biblioteket tilføjes til IDE.

Under Fil> Eksempler> FastLED vælg DemoReel100 skitse. Denne skitse cykler forskellige ting, der kan gøres med WS2812 LED strips, og er utrolig let at opsætte.

Alt du skal ændre er DATA_PIN variabel, så den matcher pin 13 , og NUM_LEDS variabel for at definere, hvor mange lysdioder der er i den strimmel, du bruger. I dette tilfælde bruger jeg kun en lille linje på 10 lysdioder, der er skåret fra en længere strimmel. Brug mere til et større lysshow!

Det er det! Upload skitsen til dit bord, afbryd USB -kablet og tænd for din 5v strømforsyning. Tilslut igen Arduino's VIN til elnettet og se showet!

Hvis der ikke sker noget, skal du kontrollere dine ledninger og at du har angivet den korrekte Arduino -pin i demoskissen.

Uendelige muligheder

Demoskitsen viser nogle af de mange mulige kombinationer af effekter, der kan opnås med WS2812 -strimlerne. Udover at være et trin op fra almindelige LED -strips, kan de også bruges praktisk. Et godt næste projekt ville være bygge din egen ambilight til dit mediecenter.

Selvom disse strimler bestemt er mere funktionelle end SMD5050'erne, skal du ikke rabat på standard 12v LED -strimler helt endnu. De er uovervindelige prismæssigt, og der er et enormt antal applikationer til LED -lysstrimler .

At lære at arbejde med LED -strips er en god måde at blive fortrolig med grundlæggende programmering på Arduino, men den bedste måde at lære på er ved at pille. Rediger ovenstående kode og se, hvad du kan gøre! Hvis alt dette var lidt for meget for dig, kan du overveje at starte med disse Arduino -projekter for begyndere .

Billedkreditter: mkarco/Shutterstock

Del Del Tweet E -mail Canon vs Nikon: Hvilket kameramærke er bedre?

Canon og Nikon er de to største navne i kameraindustrien. Men hvilket mærke tilbyder den bedre serie af kameraer og objektiver?

Læs Næste
Relaterede emner
  • gør det selv
  • Arduino
  • LED Strip
  • LED lys
Om forfatteren Ian Buckley(216 artikler udgivet)

Ian Buckley er freelance journalist, musiker, performer og videoproducent bosat i Berlin, Tyskland. Når han ikke skriver eller på scenen, piller han med DIY -elektronik eller kode i håb om at blive en gal videnskabsmand.

Mere fra Ian Buckley

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere