Ultimate Guide for tilkobling av LED -lysstrimler til Arduino

Ultimate Guide for tilkobling av LED -lysstrimler til Arduino

Fremveksten av LED -belysning har vært stratosfærisk, og det er lett å se hvorfor. De er billige å produsere, bruker betydelig mindre strøm enn andre belysningsalternativer, og blir i de fleste tilfeller ikke varme, noe som gjør dem trygge for en rekke bruksområder.





Et av de vanligste LED -produktene er LED -stripen. I denne artikkelen vil vi dekke hvordan du konfigurerer de to vanligste typene med en Arduino. Disse prosjektene er veldig enkle, og selv om du er en nybegynner med Arduino eller DIY -elektronikk, vil du kunne gjøre dette.





Vi vil også bruke Arduino IDE til å kontrollere dem. Dette prosjektet bruker en Arduino Uno, selv om du kan bruke nesten hvilket som helst kompatibelt kort (for eksempel NodeMCU).





Velg din stripe

Når du skal kjøpe LED -strimler, er det noen ting du bør vurdere. Først er funksjonalitet. Hvis du planlegger å bruke stripene mest for omgivelsesbelysning, er det enkelt 12v RGB LED stripe ( SMD5050 ) ville være det riktige valget.

Mange av disse stripene kommer med en infrarød fjernkontroll for å kontrollere dem, men i dette prosjektet vil vi bruke en Arduino til i stedet. Bruk litt tid på å shoppe rundt, i skrivende stund var det mulig å få disse stripene for så lite som per meter .



Bildekreditt: phanu suwannarat via Shutterstock

hvordan spille fortnite uten xbox live

Hvis du vil ha noe litt høyere teknologi, bør du vurdere WS2811 / 12 / 12B . Disse stripene (noen ganger referert til som Neopixels ) har integrerte brikkesett som gjør at de kan adresseres individuelt. Dette betyr at de er i stand til mer enn bare omgivelsesbelysning.





Du kan bruke dem til å bygge en billig LED -pikselskjerm fra bunnen av. Du kan til og med bruke dem til å lage din egen personlige innendørs stormskylampe.

Disse stripene krever bare 5v for å drive dem. Selv om det er mulig å drive små mengder av dem direkte fra et Arduino -bord, er det generelt en god idé å bruke en separat 5V strømforsyning for å redde deg selv fra lukten av stekt Arduino. Hvis du leter etter individuelt programmerbare lysdioder, er disse noe for deg. I skrivende stund er de tilgjengelige for rundt per meter .





En annen ting å vurdere er hvor disse stripene sannsynligvis vil bli brukt. Begge disse båndtypene kommer i forskjellige lengder, LED -tettheter (antall lysdioder per meter) og forskjellige grader av værbestandighet.

Når du ser på LED -strips, vær oppmerksom på tallene på listen. Vanligvis vil det første tallet være antall lysdioder per meter og bokstavene IP etterfulgt av tall vil være dens værbestandighet. For eksempel hvis oppføringen sier 30 IP67 , dette betyr at det blir det 30 LED per meter. De 6 angir at den er fullstendig forseglet for støv, og 7 betyr at den er beskyttet mot midlertidig nedsenking i vann. (Lære mer om værbestandighet og IP -klassifiseringer .) Når du har valgt din LED -stripe, er det på tide å koble den til en Arduino. La oss starte med SMD5050.

Bli tilkoblet

For å koble en 12v LED -stripe til en Arduino, trenger du noen få komponenter:

  • 12v RGB LED -stripe ( SMD5050 )
  • 1 x Arduino Uno (ethvert kompatibelt brett vil gjøre)
  • 3 x 10k Ohm motstander
  • 3 x Logisk nivå N-kanal MOSFET
  • 1 x brødbrett
  • Tilkoblingskabler
  • 12v strømforsyning

La oss snakke om før du setter opp kretsen MOSFETs .

Når du kontrollerer noe som er høyere spenning enn mikrokontrolleren din, trenger du noe i mellom for å stoppe brettet ditt med å bli stekt. En av de enklere måtene å gjøre dette på er å bruke en MOSFET. Ved å sende pulsbreddemodulasjon ( PWM ) signaler til Port etappe, er det mulig å kontrollere hvor mye strøm som passerer mellom avløp og kilde ben. Ved å føre hver av LED -stripens farger gjennom MOSFET, kan du kontrollere lysstyrken til hver enkelt farge på LED -stripen.

Når du bruker mikrokontrollere, er det viktig å bruke komponenter på logisk nivå for å sikre at ting fungerer som du vil. Sørg for at MOSFET -er logisk nivå og ikke standard .

Sett opp kretsen din slik:

  1. Koble til Arduino -pinner 9 , 6 , og 5 til Port ben på de tre MOSFET -ene, og koble til en 10k motstand på linje med hver til bakkeskinnen.
  2. Koble til Kilde ben til bakkeskinnen.
  3. Koble til Avløp ben til Grønn , Nett , og Blå kontakter på LED -stripen.
  4. Koble strømskinnen til +12v kontakt på LED -stripen (vær oppmerksom på at på dette bildet er strømledningen svart for å matche fargene på kontaktene på LED -stripen min).
  5. Koble Arduino -bakken til bakken.
  6. Koble din 12v strømforsyning til strømskinnene.

De fleste LED -strips har Dupont [Broken URL Removed] -kontakter, som er enkle å koble til. Hvis din ikke gjør det, må du kanskje lodde ledninger til LED -stripen. Ikke få panikk hvis du er ganske ny i lodding, det er en enkel jobb, og vi har en guide for å komme i gang med lodding hvis du trenger det.

Vi vil drive vårt Arduino -bord med USB for dette prosjektet. Du kan velge å slå kortet på med VIN -pinnen, men sørg for at du kjenner strømbegrensningene for kortet ditt før du gjør dette.

Når kretsen din er fullført, skal den se slik ut:

Nå som du har koblet til alt, er det på tide å lage en enkel Arduino -skisse for å kontrollere den.

Fade It Up

Koble Arduino -kortet til datamaskinen din via USB og åpne Arduino IDE. Sørg for at du har riktig brett og portnummer valgt for brettet i Verktøy> Brett og Verktøy> Port menyer. Åpne en ny skisse og lagre den med et passende navn.

Denne skissen vil fade lysene i en farge om gangen, holde dem på i noen sekunder, og deretter falme dem til de er slukket igjen. Du kan følge med her og lage skissen selv, eller bare laste ned komplett kode fra GitHub.

Begynn med å definere hvilken pinner vil bli brukt til å kontrollere MOSFET -ene.

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

Deretter trenger du noen variabler. Lag en overall lysstyrke variabel, sammen med en variabel for hver enkelt farges lysstyrke. Vi bruker bare den viktigste lysstyrkevariabelen for å slå av lysdiodene, så sett den til maksimal lysstyrkeverdi på 255 her.

du må også opprette en variabel for å kontrollere hvor raskt fading vil skje.

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

I din oppsett funksjonen vil vi sette våre Arduino -pinner til utgang. Vi vil også ringe til et par funksjoner med 5 sekunders forsinkelse i mellom. Disse funksjonene eksisterer ikke ennå, men ikke bekymre deg, vi kommer til dem.

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

Lag nå Slå på () 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øyfer tar hver farge opp til full lysstyrke over en tid spesifisert av fadeSpeed verdi.

Til slutt må du lage Skru av() 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 metoden gjelder vår lysstyrke variabel til alle tre fargepinnene og reduserer dem til null over en periode. Vi trenger en tom loop -metode her også for å unngå kompileringsfeil.

Når du har fullført denne skissen, lagre den. Bekreft skissen og last den opp til Arduino -brettet. Hvis du får feil, sjekk gjennom koden igjen for irriterende skrivefeil eller manglende semikolon.

Nå bør du se din LED -stripe øke hver farge individuelt, holde den hvite fargen i 5 sekunder, og deretter jevne til ingenting:

Hvis du har problemer, må du sjekke ledningene og koden igjen.

Dette prosjektet er en enkel måte å komme i gang, men ideene som dekkes i det kan utvides for å gi virkelig effektiv belysning. Med bare noen få flere komponenter kan du lage din egen soloppgangsalarm. Hvis du har et startsett med din Arduino, kan du bruke hvilken som helst knapp eller sensor for å utløse LED -lampene når du kommer inn i rommet, for eksempel:

hvordan finne gamle tekstmeldinger på iphone

Nå som vi har dekket SMD5050 -tallet , la oss gå videre til WS2812B strimler.

Lyse ideer

Disse stripene krever færre komponenter for å få dem til å fungere, og det er litt spillerom for nøyaktig hvilke verdier av komponenter du kan bruke. Kondensatoren i denne kretsen sørger for at 5v lysdioder får en jevn strømforsyning. Motstanden sikrer at datasignalet som mottas fra Arduino er fri for forstyrrelser.

Du vil trenge:

  • WS2811 / 12 / 12B 5v LED -stripe (alle tre modellene har integrerte sjetonger og fungerer omtrent på samme måte)
  • 1 x Arduino Uno (eller lignende kompatibelt brett)
  • 1 x 220-440 Ohm Motstand (alt mellom disse to verdiene er greit)
  • 1 x 100-1000 microFarad Kondensator (alt mellom disse to verdiene er greit)
  • Brødbrett og koble til ledninger
  • 5V strømforsyning

Sett opp kretsen din som vist i diagrammet:

Vær oppmerksom på at kondensatoren må ha riktig retning. Du kan se hvilken side som festes til bakkeskinnen ved å lete etter minustegnet (-) på kondensatorens kropp.

Denne gangen driver vi strøm til Arduino ved hjelp av 5v strømforsyning. Dette gjør at prosjektet står alene når vi er ferdige, selv om det er viktige ting å merke seg her.

Først må du kontrollere at kortet ditt kan ta 5V strøm før du kobler det til strømkilden. Nesten alle utviklingstavler går på 5v gjennom USB -porten, men strøminngangene på noen kan noen ganger hoppe over spenningsregulatorene og gjøre dem til toast.

Det er også god praksis å sørge for at flere separate strømkilder ikke er koblet til Arduino - koble fra USB -kabelen når du bruker en ekstern strømforsyning.

Når du er plugget inn, skal det se slik ut:

Nå som LED -stripen er koblet til, la oss gå videre til koden.

vankyo matrixpad z4 10 tommers nettbrett

Dansende lys

For å trygt programmere vårt brett, koble fra VIN linje fra kraftledningen. Du kobler den til igjen senere.

Fest din Arduino til datamaskinen og åpne Arduino IDE. Kontroller at du har riktig brett og portnummer valgt i Verktøy> Brett og Verktøy> Port menyer.

Vi kommer til å bruke FastLED bibliotek for å teste oppsettet vårt. Du kan legge til biblioteket ved å klikke på Skisse> Inkluder bibliotek> Administrer biblioteker og søker etter FastLED. Klikk på installer, og biblioteket blir lagt til IDE.

Under File > Examples > FastLED velg DemoReel100 skisse. Denne skissen sykluser forskjellige ting som kan gjøres med WS2812 LED -strips, og er utrolig lett å sette opp.

Alt du trenger å endre er DATA_PIN variabel slik at den stemmer overens pinne 13 , og NUM_LEDS variabel for å definere hvor mange lysdioder det er i stripen du bruker. I dette tilfellet bruker jeg bare en liten linje med 10 lysdioder kuttet fra en lengre stripe. Bruk mer for et større lysshow!

Det er det! Last opp skissen til brettet ditt, koble fra USB -kabelen og slå på 5v strømforsyningen. Fest til slutt Arduino's VIN til kraftledningen og se showet!

Hvis ingenting skjer, sjekk ledningene dine og at du angav riktig Arduino -pinne i demoskissen.

Uendelige muligheter

Demoskissen viser noen av de mange mulige kombinasjonene av effekter som kan oppnås med WS2812 -stripene. I tillegg til å være et steg opp fra vanlige LED -strips, kan de også brukes praktisk. Et godt neste prosjekt ville vært bygge din egen ambilight for mediesenteret ditt.

Selv om disse stripene definitivt er mer funksjonelle enn SMD5050 -ene, må du ikke rabattere de vanlige 12v LED -stripene helt ennå. De er uslåelige når det gjelder pris, og det er et stort antall applikasjoner for LED lysstrimler .

Å lære å jobbe med LED -strips er en god måte å bli kjent med grunnleggende programmering på Arduino, men den beste måten å lære på er å tinker. Endre koden ovenfor og se hva du kan gjøre! Hvis alt dette var litt for mye for deg, kan du vurdere å begynne med disse Arduino -prosjektene for nybegynnere .

Bildekreditter: mkarco/Shutterstock

Dele Dele kvitring E -post Canon vs Nikon: Hvilket kameramerk er bedre?

Canon og Nikon er de to største navnene i kameraindustrien. Men hvilket merke tilbyr den bedre serien med kameraer og objektiver?

Les neste
Relaterte temaer
  • DIY
  • Arduino
  • LED -stripe
  • LED lys
Om forfatteren Ian Buckley(216 artikler publisert)

Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller står på scenen, pusler han med DIY -elektronikk eller kode i håp om å bli en gal forsker.

Mer fra Ian Buckley

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere