Ultimate Guide til Tilkobling LED Lys Strips til Arduino

Ultimate Guide til Tilkobling LED Lys Strips til Arduino / DIY

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

En 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 svært enkle, og selv om du er nybegynner med Arduino Komme i gang med Arduino: En nybegynnersveiledning Komme i gang med Arduino: En nybegynnersguide Arduino er en åpen kilde-elektronikk prototypeplan basert på fleksibel, brukervennlig maskinvare og programvare. Det er ment for kunstnere, designere, hobbyister, og alle som er interessert i å lage interaktive objekter eller miljøer. Les mer eller DIY elektronikk Nybegynnerens elektronikk: 10 ferdigheter du trenger å vite Nybegynnerens elektronikk: 10 ferdigheter du trenger å vite Mange av oss har aldri engang rørt et loddejern - men å gjøre ting kan være utrolig givende. Her er ti av de mest grunnleggende DIY elektronikk ferdighetene for å hjelpe deg med å komme i gang. Les mer, du vil 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 alle kompatible kort (for eksempel NodeMCU Møt Arduino Killer: ESP8266 Møt Arduino Killer: ESP8266 Hva om jeg fortalte deg at det er et Arduino-kompatibelt dev-kort med innebygd Wi -Fi for mindre enn $ 10? Vel, det er. Les mer).

Velg din stripe

Når du handler for LED-striper, er det noen ting du bør vurdere. Først er funksjonalitet. Hvis du planlegger å bruke stripene for det meste for omgivende belysning, så en enkel 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 skal vi bruke en Arduino til i stedet. Tilbring litt tid på å shoppe, på tidspunktet for skrivingen var det mulig å få disse stripene til så lite som $ 1 per meter.

Image Credit: phanu suwannarat via Shutterstock

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

Du kan bruke dem til å bygge en billig LED-pikselhelgeprojekt: Bygg et gigantisk LED-pikselskjerm-weekendprosjekt: Bygg en gigantisk LED-pikselskjerm Jeg elsker LED-piksler: lys, enkel å kontrollere, billig og så allsidig. I dag vil vi gjøre dem til en stor pikselskjerm som kan henges på veggen. Les mer skjerm fra grunnen av. Du kan til og med bruke dem til å lage din egen personlige innendørs storm skyvlampe.

Disse stripene krever bare 5v for å drive dem. Mens det er mulig å drive små mengder direkte fra et Arduino bord, er det generelt en god ide å bruke en separat 5V strømforsyning for å spare deg for lukten av stekt Arduino. Hvis du leter etter individuelt programmerbare lysdioder, er disse for deg. På tidspunktet for skriving er de tilgjengelige for rundt $ 4 per meter.

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

Når du ser på LED-striper, vær oppmerksom på tallene på noteringen. Vanligvis vil det første nummeret være antall lysdioder per meter, og bokstavene IP etterfulgt av tall vil være dens værbestandig. For eksempel, hvis oppføringen oppgir 30 IP67, Dette betyr at det vil være 30 Lysdioder per meter. De 6 Betegner det er helt forseglet fra støv, og 7 betyr at den er beskyttet mot midlertidig nedsenking i vann. (Lær mer om værbestandighet og IP-klassifisering Hva gjør en enhet vanntett eller vanntett? Hva gjør en enhet vanntett eller vannavstøtende? Mange enheter markedsføres som vanntette, men det kan være svært misvisende. De fleste er faktisk vannavstøtende Hva er forskjellen? Her er alt du trenger å vite om det. Les mer.) Når du har valgt LED-stripen, er det på tide å koble den sammen med en Arduino. La oss starte med SMD5050.

Koble til

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

  • 12v RGB LED-stripe (SMD5050)
  • 1 x Arduino Uno (noe kompatibelt bord vil gjøre)
  • 3 x 10k Ohm-motstandere
  • 3 x Logisk nivå N-kanal MOSFET
  • 1 x brødbrett
  • Hookup ledninger
  • 12V strømforsyning

Før vi setter opp kretsen, la oss snakke om MOSFETs.

Når du kontrollerer noe som er høyere spenning enn din mikrokontroller, trenger du noe mellom å hindre at styret blir stekt. En av de enkleste måtene å gjøre dette på er å bruke en MOSFET. Ved å sende pulsbreddemodulasjon (PWM) signaler til Port ben, det er mulig å kontrollere hvor mye strøm som passerer mellom avløp og kilde ben. Ved å passere hver av LED-stripens farger gjennom MOSFET, kan du styre lysstyrken til hver enkelt farge på LED-stripen.

Når du bruker mikrokontroller, er det viktig å bruke logikknivåkomponenter for å sikre at ting fungerer slik du vil. Pass på at MOSFETene dine er logikknivå og ikke standard.

Sett opp krets slik:

  1. Koble Arduino pins 9, 6, og 5 til Port ben av de tre MOSFETene, og koble a 10k motstand i tråd med hver til bakken.
  2. Koble til Kilde ben til bakken.
  3. Koble til Avløp bein til Grønn, rød, og Blå kontakter på LED-stripen.
  4. Koble strømskinnen til +12v kontakt på LED-stripen (merk at i dette bildet er strømkabelen svart for å matche kontaktens farger på min LED-stripe).
  5. Koble Arduino bakken til bakken.
  6. Koble din 12v strømforsyning til strømskinner.

De fleste LED-striper har Dupont-kontakter, som er lette å koble til. Hvis du ikke trenger det, må du kanskje lodde ledninger til LED-stripen. Ikke bli panikk hvis du er ganske ny til lodding, det er en enkel jobb, og vi har en veiledning for å komme i gang med lodding. Lær hvordan å lodde, med disse enkle tips og prosjekter Lær hvordan du lader, med disse enkle tips og prosjekter er Er du litt skremt av tanken på et varmt jern og smeltet metall? Hvis du vil begynne å jobbe med elektronikk, må du lære å lodde. La oss hjelpe. Les mer hvis du trenger det.

Vi vil drive vår Arduino-styret via USB for dette prosjektet. Du kan velge å drive styret ditt ved hjelp av VIN-pinnen, men sørg for at du vet kraftbegrensningene for brettet ditt før du gjør dette.

Når kretsen er fullført, bør det se slik ut:

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

Fade det opp

Koble Arduino-kortet til datamaskinen via USB og åpne Arduino IDE. Pass på at du har riktig bord og portnummer valgt for bordet ditt i Verktøy> Styret og Verktøy> Port menyer. Åpne en ny skisse og lagre den med et passende navn.

Denne skissen vil forsvinne lysene i en farge av gangen, holde dem på i noen sekunder, så fade dem ut til de er slått av igjen. Du kan følge gjennom her og lage skissen selv, eller bare laste ned hele koden fra GitHub.

Begynn med å definere hvilke pinner vil bli brukt til å kontrollere MOSFETene.

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

Deretter trenger du noen variabler. Lag en helhetlig lysstyrke variabel, sammen med en variabel for hver enkelt farges lysstyrke. Vi bruker bare lysstyrkevarianten 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 lysstyrke = 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 et par funksjoner med en 5 sekunders forsinkelse i mellom. Disse funksjonene eksisterer ikke ennå, men ikke bekymre deg, vi kommer til dem.

tomromoppsett () pinMode (GREEN_LED, OUTPUT); pinMode (RED_LED, OUTPUT); pinMode (BLUE_LED, OUTPUT); Slå på(); forsinkelse (5000); Skru av(); 

Opprett 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 som er spesifisert av fadeSpeed verdi.

Til slutt må du opprette 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 for alle tre fargestifter og reduserer dem til null over en tidsperiode. Vi trenger også en tom sløyfemetode her, for å unngå kompileringsfeil.

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

Nå bør du se din LED stripe rampe opp hver farge individuelt, holde den hvite farge i 5 sekunder, og deretter jevnt fade til ingenting:

Hvis du har problemer, må du kontrollere ledningen og koden på nytt.

Dette prosjektet er en enkel måte å komme i gang, men ideene som dekkes av det kan utvides til å skape virkelig effektiv belysning. Med bare noen få flere komponenter kan du lage din egen soloppgangslarm Arduino Night Light og Sunrise Alarm Project Arduino nattlys og soloppgang alarmprosjekt I dag skal vi lage en soloppgangsvekkerklokke som forsiktig og sakte vekker deg uten å ty til en støtende støynivåmaskin. Les mer . Hvis du har en startpakke med Arduino Hva er i din Arduino Starter Kit? [Arduino Beginners] Hva er i din Arduino Starter Kit? [Arduino Beginners] Faced med en boks full av elektroniske komponenter, er det enkelt å bli overveldet. Her er en guide til nøyaktig hva du finner i ditt sett. Les mer du kan bruke hvilken som helst knapp eller sensor for å utløse lysdiodene dine når du går inn i rommet, for eksempel:

Nå som vi har dekket SMD5050s, la oss gå videre til WS2812B strimler.

Lyse ideer

Disse strimlene krever færre komponenter for å få dem til å løpe, og det er noe å fortelle nøyaktig hvilke verdier av komponenter du kan bruke. Kondensatoren i denne kretsen sørger for at 5v-LEDene får en jevn strømforsyning. Motstanden sikrer at datasignalet mottatt fra Arduino er fri for eventuelle forstyrrelser.

Du vil trenge:

  • WS2811/12/12B 5v LED stripe (alle tre modellene har integrerte chips og fungerer mye på samme måte)
  • 1 x Arduino Uno (eller lignende kompatibelt kort)
  • 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 opp ledninger
  • 5V strømforsyning

Sett opp kretsen som vist i diagrammet:

Vær oppmerksom på at kondensatoren må være riktig orientering. Du kan fortelle hvilken side som festes til bakken ved å lete etter minus (-) skiltet på kondensatorens kropp.

Denne gangen driver vi Arduino med 5V strømforsyning. Dette gjør prosjektet stå alene når vi er ferdige, selv om det er viktige ting å merke seg her.

Først må du kontrollere at styret ditt kan ta 5v strøm inn før du kobler den til strømkilden. Nesten alle utviklingsbrett kjører ved 5v gjennom USB-porten, men strøminngangspinnene på noen kan noen ganger hoppe over spenningsregulatorene og gjøre dem til skål.

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 koblet til, bør den se slik ut:

Nå som vår LED-strip er koblet inn, la oss gå videre til koden.

Danselys

For å trygt programmere styret, koble fra VIN linje fra kraftledningen. Du reattach det senere.

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

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

Under Fil> Eksempler> FastLED velg DemoReel100 skisse. Denne skissen sykler forskjellige ting som kan gjøres med WS2812 LED-striper, og er utrolig enkelt å sette opp.

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

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

Hvis det ikke skjer noe, sjekk over ledningen og at du angav riktig Arduino-pinne i demoversikten.

Uendelige muligheter

Demo-skissen viser noen av de mange mulige kombinasjonene av effekter som kan oppnås med WS2812-stripene. Sammen med å være et steg opp fra vanlige LED-striper, kan de også settes til praktisk bruk. Et godt neste prosjekt vil bygge din egen ambilight De 8 beste TV-Ambilight-settene for behagelig bakgrunnsbelysning De 8 beste TV-Ambilight-settene for behagelig bakgrunnsbelysning Ambilight legger til gratis omgivende bakgrunnsbelysningseffekter på fjernsyn som forbedrer videoinnholdet på skjermen. Men det er mange Ambilight-kits der ute. Hvilken er den beste for deg? Les mer for mediasenteret ditt.

Selv om disse stripene er definitivt mer funksjonelle enn SMD5050-tallene, må du ikke rabatte standard 12v LED-stripene enda. De er uslåelige når det gjelder pris og det er et stort antall applikasjoner for LED-lysstrimler. 22 måter å lyse på livet ditt med RGB LED-striper. 22 måter å lyse opp på livet ditt med RGB LED-striper. Du kan kjøpe fem meter RGB-LEDer strip belysning for under $ 10 - så her er noen gode prosjekt ideer å bruke dem rundt hjemmet ditt. Les mer .

Å lære å jobbe med LED-striper er en god måte å bli kjent med grunnleggende programmering på Arduino, men den beste måten å lære er ved å tinkere. Endre koden ovenfor og se hva du kan gjøre! Hvis alt dette var litt for mye for deg, bør du vurdere å begynne med disse Arduino-prosjektene for nybegynnere 15 Great Arduino-prosjekter for nybegynnere 15 Great Arduino-prosjekter for nybegynnere Interessert i Arduino, men ikke sikker på hvor du skal begynne? Her er noen av våre beste Arduino-prosjekter for nybegynnere å komme i gang med! Les mer .

Bildekreditter: mkarco / Shutterstock

Utforsk mer om: Arduino, LED-lys, LED Strip.