Innholdsfortegnelse:

Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels): 6 trinn (med bilder)
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels): 6 trinn (med bilder)

Video: Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels): 6 trinn (med bilder)

Video: Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels): 6 trinn (med bilder)
Video: LoRa Transmitter Power Measurement with AD8318 and Arduino DIY Tool (EP10) 2024, November
Anonim
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels)
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels)
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels)
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels)
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels)
Beste RGB -lysdioder for ethvert prosjekt (WS2812, Aka NeoPixels)

Når vi jobber med lysdioder, liker vi ofte å kontrollere tilstanden (på/av), lysstyrke og farge. Det er mange, mange forskjellige måter å gjøre dette på, men ingen er en så kompakt løsning som WS2812 RGB LED. I den lille pakken på 5 mm x 5 mm inneholder WS2812 3 super lyse lysdioder (rød, grønn og blå) og en kompakt driverkrets (WS2811) som bare krever én datainngang for å kontrollere tilstand, lysstyrke og farge på de 3 lysdiodene. På bekostning av at det bare trengs en datalinje for å kontrollere 3 lysdioder, kommer det et krav om svært presis timing i kommunikasjonen med WS2811. Av denne grunn er det nødvendig med en sanntids mikrokontroller (f.eks. AVR, Arduino, PIC). Dessverre kan en Linux-basert mikrodatamaskin eller en tolket mikrokontroller som Netduino eller Basic Stamp ikke gi tilstrekkelig timing-nøyaktighet som er nødvendig. Og i denne instruksjonsboken går jeg gjennom prosessen med å sette opp og kontrollere en av disse lysdiodene med en Arduino Uno. Deretter viser jeg hvor enkelt det er å koble flere av dem sammen for et fantastisk lysdisplay! Vanskelighetsgrad: Begynner Tid til ferdigstillelse: 10-15 minutter

Trinn 1: Liste over materialer

Liste over materialer
Liste over materialer

Denne fantastiske RGB LED -en kommer i en 5050 (5mm x 5mm) pakke med 6 pads som er ganske enkle å lodde på et utbruddstavle. Siden den eneste ekstra komponenten som trengs er en avkoblingskondensator, tilbyr WS2812 ærlig den beste løsningen for å kontrollere farge og lysstyrke på en RGB LED. Den innebygde LED -driveren med konstant strøm (WS2811) er bemerkelsesverdig nyttig av to grunner: - En konstant strøm på ~ 18mA driver hver LED selv om spenningen varierer. - Det er ikke nødvendig å legge til strømbegrensende motstander (a.k.a choke-motstander) mellom strømforsyningen og lysdiodene. Alt vi trenger er en veldig enkel design for å levere strøm, bakke og 1 kontrollinngang for å lage en fantastisk belysningsdisplay som består av ikke bare én, men en hel rekke RGB -lysdioder. Det er riktig! Ved å koble Data Out -pinnen til en av disse lysdiodene, til Data In -pinnen til en annen, kan vi kjøre dem begge uavhengig med samme kontrollinngang! Hvis det ikke er åpenbart hvordan du gjør dette, ikke bekymre deg. På slutten av denne instruksjonsboken er du godt i gang med å legge WS2812 til ethvert prosjekt du ønsker! For denne instruksen, her er hva vi skal bruke: Materialer: 3 x WS2812 RGB-lysdioder (forhånds loddet på et lite breakout-brett) 1 x loddfritt brødbrett Solid Core Wire (assorterte farger; 28 AWG) 1 x Arduino Uno R3 1 x Break-away Pin Connector, 0.1 "Pitch, 8-Pin Male (Right-Angle) 1 x Pin Connector, 0.1" Pitch, 8-Pin Female (Right-Angle) 1 x Breakaway Pin Connector, 0.1 "Pitch, 8-Pin MaleTools: PC USB A/B Cable Wire Stripper Loddejern Merknader: Avhengig av prosjektet ditt er WS2812 RGB-lysdioder også tilgjengelig uten utbruddskort for omtrent $ 0,40 hver, men bekvemmeligheten med det forhåndslodde alternativet er attraktiv for enkle applikasjoner.

Trinn 2: Koble til pinnehodene

Koble til pinhodene
Koble til pinhodene
Koble til pinhodene
Koble til pinhodene
Koble til pinhodene
Koble til pinhodene

Med alle materialene som er oppført i forrige trinn, er det ganske rett frem å lyse opp en WS2812 RGB LED. Først vil vi forberede WS2812 Breakout Boards for å plassere dem på det loddefrie brødbrettet. For å gjøre dette bruker vi en trådkutter (de fleste vanlige skjæreverktøyene fungerer like bra) for å skille hver 8-pinners stripe i 2 x 3-pinners biter. Husk at det er litt vanskelig å lage kuttet; ofte har jeg prøvd å bruke sporet mellom to mannlige overskrifter som en veiledning for kuttet, og jeg har endt opp med å skjære for mye plast av et topptekst jeg mente å beholde. Ved å 'ofre' pinnen der vi vil gjøre kuttet, unngår vi problemet helt. Ved å bruke en tang, trekker vi av tappen der vi vil kutte (i dette tilfellet den fjerde og åttende pinnen). Etter at pinnene er fjernet, kan vi enkelt kutte ned midten av de nå tomme hodene. Denne teknikken fungerer like godt med den kvinnelige overskriften. Etter lirking og kutting bør vi ha 6 x 3-pins hoder, det vil si 2 x standard og 4 x rettvinklet (2 x hann, 2 x hunn). Ved hjelp av et loddejern kan vi nå koble pinnene til hvert av de tre utbruddstavlene på følgende måte. Ett brett skal ha 2 x standardoverskrifter, mens de to andre brettene skal ha 1 x rettvinklet overskrift. På brettet som har standard pinnehoder, plasserer vi pinnene på bunnen av brettet (siden motsatt til der LED -en er). På de to andre kan rettvinklede overskrifter (ett av hvert kjønn) plasseres enten på toppen eller bunnen. Vær oppmerksom på at det er viktig å være konsekvent, fra det ene brettet til det andre, om plasseringen av mannlige og kvinnelige overskrifter. Det er nyttig å bruke overflatemonterte kondensatorer for å orientere platene; ved å bruke dette som referanse, bør den mannlige overskriften loddes til enden nærmest kondensatoren. Når pinnene er loddet, er vi klare til å koble en av dem til Arduino!

Trinn 3: Koble WS2812 Breakout Board til en Arduino

Koble WS2812 Breakout Board til en Arduino
Koble WS2812 Breakout Board til en Arduino
Koble WS2812 Breakout Board til en Arduino
Koble WS2812 Breakout Board til en Arduino
Koble WS2812 Breakout Board til en Arduino
Koble WS2812 Breakout Board til en Arduino

I dette trinnet gjør vi de nødvendige forbindelsene mellom en Arduino og en av våre WS2812 Breakout Boards. Til dette formålet bruker vi det loddefrie brødbrettet og 3 x hoppetråder. Hvis du bruker en trådrulle, er det nå på tide å kutte 3 stykker, hver ca 4 lange. Vi kan nå plassere WS2812 Breakout Board (den med standard overskrifter) over skillelinjen på brødbrettet. Sørg for at at Arduino er koblet fra både en strømkilde og USB, fortsetter vi med å koble til tilkoblingene. På undersiden av WS2812 Breakout Board finner vi navnet på hver pin: VCC, DI (DO), GND. Bruk Dette som en veiledning fortsetter vi med å koble 5V- og GND -pinnene fra Arduino til henholdsvis VCC- og GND -pinnene på WS2812 -kortet. Deretter kobler vi pin 8 på den digitale siden av Arduino til DI -pinnen på WS2812 -kortet., som er midtstiftet på siden nærmest kondensatoren. Nå er vi klare til å laste programmet vårt til Arduino, og få WS2812 til å blinke!

Trinn 4: Få det til å blinke med Arduino IDE

Få det til å blinke med Arduino IDE
Få det til å blinke med Arduino IDE
Få det til å blinke med Arduino IDE
Få det til å blinke med Arduino IDE

Jeg antar at du allerede har installert Arduino IDE på datamaskinen din --- mange guider på nettet forklarer prosessen ganske bra. Programmet vi må laste ned til vår Arduino kan lastes ned her. Etter at vi ganske enkelt kan dobbeltklikke primer.ino-filen inne i fastvaren> eksempler> primer-mappen for å laste den inn på Arduino IDE (wirtten for versjon 1.0.5). Pakken inneholder de nødvendige bibliotekene for at koden skal kompileres, så det bør ikke være noen feil. Send en kommentar hvis du får problemer med å kompilere. Etter at du har valgt Arduino -korttypen og USB -porten ved hjelp av Verktøy -menyalternativet, laster du opp koden, og WS2812 skal begynne å blinke vekslende mellom rødt, grønt og blått. Den fineste egenskapen med disse WS2812 RGB-lysdiodene er at de ganske enkelt kan 'daisy-lenkes' for å lage lange strimler og matriser som inneholder mange av disse lysdiodene. I neste trinn gjør vi nettopp dette med de 3 brettene vi har forberedt.

Trinn 5: Lag en stripe med RGB -lysdioder

Lag en stripe med RGB -lysdioder
Lag en stripe med RGB -lysdioder
Lag en stripe med RGB -lysdioder
Lag en stripe med RGB -lysdioder

Den innebygde LED-driverkretsen (WS2811) gir mulighet for å "kjede" en LED til den neste med bare 1 datalinje (!). Ved å koble datautgangen til en WS2812 til datainngangen til en annen, kan vi kontrollere lysstyrken og fargen på en hel rekke LED -er opptil 500 av dem på en Arduino! Selvfølgelig, for å drive mange lysdioder, er noen hensyn i orden: - Hver piksel trekker opptil 60mA (hvitt ved full lysstyrke krever at alle lysdioder er på, hver tegning ~ 20mA). - En Arduino vil maksimere RAM -minnet som driver 500 lysdioder med en oppdateringshastighet på 30 Hz. - For å koble to kort sammen, er den anbefalte maksimale separasjonen 6 "for å unngå strømbrudd og datakorrupsjon. Med disse hensynene i tankene kan vi kjøre alle lysdiodene ved hjelp av 24-biters fargeoppløsning, ved lysstyrkenivåer som er konsistente, og ganske motstandsdyktig mot endringer på (små) batteristrømforandringer. Til 'daisy-chain' brettene vi forberedte på denne Instructable starter vi med å koble hunnenden fra den ene til den mannlige enden av den andre av de to brettene med høyre- Så, med vårt Arduino-kort frakoblet strøm og USB, plasserer vi hanenden fra to-brettskjeden på det loddefrie brødbrettet. Vi sørger for at pinnene stemmer overens med de på WS2812 Breakout Board som var koblet til brødbrettet En slik justering vil ha VCC- og GND-pinnene fra både det rettstående brettet og kjeden på samme rad på brødbrettet. Vi plasserer to-brettet kjeden nær enden av det tredje breakout-kortet som er motsatt kondensatoren. A. Etter at alt er koblet til, kan vi starte Arduino IDE og bruke tekstredigereren til å endre definisjonen "#define NUM_LEDS 1" til "#define NUM_LEDS 3". Etter å ha koblet kortet tilbake til strøm og/eller USB, kan vi laste opp det nye programmet … og … BAM! Alle tre lysdiodene burde blinke akkurat sånn!

Trinn 6: Into the Darkness, Let There Be Light

Inn i mørket, la det være lys!
Inn i mørket, la det være lys!
Inn i mørket, la det være lys!
Inn i mørket, la det være lys!

Denne instruksjonsboken viste deg raskt hvordan du bruker WS2812 RGB LED forhånds loddet på små utbruddstavler. Vi brukte en Arduino for å kontrollere lysstyrken og fargen på lysdiodene. En ting som var litt skuffende er at koden vi brukte fikk alle LEDene til å blinke samtidig, med samme intensitet og farge. Denne driftsmåten viser ikke det fulle potensialet til den "smarte" LED -driveren (WS2811) som er innebygd i denne pakken. La oss prøve følgende modifikasjoner av den opprinnelige koden. Som før vil du laste ned og pakke ut filen, og deretter åpne fastvaren som skal lastes inn på Arduino (fastvare> effekter> effekter.ino). Alle filene som trengs for denne demoen er inkludert, så det er ikke nødvendig å legge til tredjeparts libaries; koden skal kompilere uten noen endringer --- den er allerede satt til å håndtere de 3 lysdiodene. Nå er det opp til fantasien din å tenke ut det neste prosjektet der disse svært nyttige, kompakte, RGB -lysdiodene kan lyse. Legg gjerne ut noen av dine egne kreasjoner ved hjelp av WS2812 i kommentarfeltet!

Anbefalt: