Indholdsfortegnelse:

Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels): 6 trin (med billeder)
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels): 6 trin (med billeder)

Video: Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels): 6 trin (med billeder)

Video: Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels): 6 trin (med billeder)
Video: Den bedste lyskæde! 2024, Juli
Anonim
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels)
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels)
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels)
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels)
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels)
Bedste RGB -lysdioder til ethvert projekt (WS2812, Aka NeoPixels)

Når vi arbejder med lysdioder, kan vi ofte lide at kontrollere deres tilstand (til/fra), lysstyrke og farve. Der er mange, mange forskellige måder at gøre dette på, men ingen er en så kompakt løsning som WS2812 RGB LED. I sin lille pakke på 5 mm x 5 mm indeholder WS2812 3 super lyse lysdioder (rød, grøn og blå) og et kompakt driver kredsløb (WS2811), der kun kræver én dataindgang for at styre tilstand, lysstyrke og farve på de 3 lysdioder.. På bekostning af kun at have brug for en datalinje til at styre 3 lysdioder, kommer der et krav om meget præcis timing i kommunikationen med WS2811. Af denne grund kræves en real-time mikrokontroller (f.eks. AVR, Arduino, PIC). Desværre kan en Linux-baseret mikrocomputer eller en fortolket mikrokontroller som Netduino eller Basic Stamp ikke levere den tilstrækkelige timing-nøjagtighed, der er nødvendig. Og så går jeg i denne Instructable gennem processen med at oprette og styre en af disse lysdioder med en Arduino Uno. Derefter viser jeg, hvor let det er at forbinde flere af dem til et fantastisk lysdisplay! Sværhedsgrad: Begynder Tid til afslutning: 10-15 minutter

Trin 1: Liste over materialer

Liste over materialer
Liste over materialer

Denne vidunderlige RGB LED kommer i en 5050 (5 mm x 5 mm) pakke med 6 puder, der er ret lette at lodde på et breakout board. Da den eneste nødvendige ekstra komponent er en afkoblingskondensator, tilbyder WS2812 ærligt den bedste løsning til styring af farve og lysstyrke på en RGB LED. Den indlejrede LED -driver med konstant strøm (WS2811) er bemærkelsesværdig nyttig af to grunde: - En konstant strøm på ~ 18mA driver hver LED, selvom spændingen varierer. - Det er ikke nødvendigt at tilføje strømbegrænsende modstande (alias chokemodstande) mellem strømforsyningen og lysdioderne. Alt, hvad vi har brug for, er et meget simpelt design til at levere strøm, jord og 1 kontrolindgang for at skabe et fantastisk belysningsdisplay, der består af ikke én, men en hel række RGB -lysdioder. Det er rigtigt! Ved at forbinde Data Out -stiften på en af disse lysdioder til en Data In -pin på en anden, kan vi køre dem begge uafhængigt med den samme kontrolindgang! Hvis det ikke er indlysende, hvordan du gør dette, skal du ikke være bekymret. I slutningen af denne instruktionsbog er du godt i gang med at tilføje WS2812 til ethvert projekt, du ønsker! Til denne instruerbare her er en, hvad vi vil bruge: Materialer: 3 x WS2812 RGB-lysdioder (forud loddet på et lille breakout-bord) 1 x Loddefri brødbræt Solid Core Wire (forskellige farver; 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 Bemærkninger: Afhængigt af dit projekt er WS2812 RGB-lysdioder også tilgængelige uden et breakout-kort til ca.

Trin 2: Tilslutning af pinhovederne

Tilslutning af pinhovederne
Tilslutning af pinhovederne
Tilslutning af pinhovederne
Tilslutning af pinhovederne
Tilslutning af pinhovederne
Tilslutning af pinhovederne

Med alle de materialer, der er anført i det foregående trin, er det ret lige til at tænde en WS2812 RGB LED. Først vil vi forberede WS2812 Breakout Boards til at placere dem på det loddefrie brødbræt. For at gøre dette bruger vi en trådskærer (de fleste almindelige skæreværktøjer fungerer lige så godt) til at adskille hver 8-bens strimmel i 2 x 3-bens stykker. Husk på, at det er lidt svært at lave snittet; ofte har jeg prøvet at bruge rillen mellem to hanhoveder som en vejledning til snittet, og jeg er endt med at skære for meget plastik af et hoved, jeg ville beholde. Ved at 'ofre' stiften, hvor vi vil lave snittet, undgår vi helt problemet. Ved hjælp af en tang trækker vi stiften af, hvor vi vil skære (i dette tilfælde den 4. og 8. pin). Når stifterne er fjernet, kan vi let skære midten af de nu tomme overskrifter ned. Denne teknik fungerer lige godt med den kvindelige header. Efter at have lirket og skåret, skal vi have 6 x 3-pins overskrifter, det vil sige 2 x standard og 4 x retvinklet (2 x han, 2 x hun). Ved hjælp af et loddejern kan vi nu forbinde stifterne til hvert af de tre breakout boards på følgende måde. Et bræt skal have de 2 x standardoverskrifter, hvorimod de to andre brædder hver skal have 1 x retvinklet overskrift. På brættet, der har standardstifthovederne, placerer vi stifterne på bundens overflade (siden modsat hvor LED'en er). På de to andre kan retvinklede overskrifter (et af hvert køn) placeres enten på den øverste eller nederste overflade. Bemærk, at det er vigtigt at være konsekvent, fra det ene bord til det andet, om placeringen af mandlige og kvindelige overskrifter. Det er nyttigt at bruge overflademonteringskondensatoren til at orientere brædderne; ved at bruge dette som reference, skal hanhovedet loddes til enden tættest på kondensatoren. Når stifterne er loddet, er vi klar til at forbinde en af dem til Arduino!

Trin 3: Tilslutning af WS2812 Breakout Board til en Arduino

Tilslutning af WS2812 Breakout Board til en Arduino
Tilslutning af WS2812 Breakout Board til en Arduino
Tilslutning af WS2812 Breakout Board til en Arduino
Tilslutning af WS2812 Breakout Board til en Arduino
Tilslutning af WS2812 Breakout Board til en Arduino
Tilslutning af WS2812 Breakout Board til en Arduino

I dette trin opretter vi de nødvendige forbindelser mellem en Arduino og et af vores WS2812 Breakout Boards. Til dette formål bruger vi det loddefri brødbræt og 3 x jumperwires. Hvis du bruger en trådrulle, er det nu tid til at skære 3 stykker, hver cirka 4 lange. Vi kan nu placere WS2812 Breakout Board (den med standardhovederne) hen over skillevæggen på vores brødbræt. Sørg for at Arduino er afbrudt fra både en strømkilde og USB, fortsætter vi med at tilslutte forbindelserne. På undersiden af WS2812 Breakout Board kan vi finde navnet på hver pin: VCC, DI (DO), GND. Brug dette som en vejledning fortsætter med at forbinde 5V- og GND -benene fra Arduino til henholdsvis VCC- og GND -benene på WS2812 -kortet. Derefter forbinder vi pin 8 på den digitale side af Arduino til DI -stiften på WS2812 -kortet, som er centerstiftet på siden tættest på kondensatoren. Nu er vi klar til at indlæse vores program til Arduino, og få WS2812 til at blinke!

Trin 4: Få det til at blinke med Arduino IDE

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

Jeg går ud fra, at du allerede har installeret Arduino IDE på din computer --- masser af guider på nettet forklarer processen ganske godt. Det program, vi skal indlæse til vores Arduino, kan downloades her. Efter at vi simpelthen kan dobbeltklikke på primer.ino-filen inde i firmwaren> eksempler> primermappe for at indlæse den på Arduino IDE (wirtten til version 1.0.5). Pakken indeholder de nødvendige biblioteker til at koden kan kompileres, så der ikke bør være fejl. Send en kommentar, hvis du støder på problemer med at kompilere. Når du har valgt Arduino -korttypen og USB -porten ved hjælp af menuen Funktioner, skal du uploade koden, og WS2812 skal begynde at blinke skiftevis mellem rød, grøn og blå. Den pæneste funktion ved disse WS2812 RGB LED'er er, at de ret let kan 'daisy-chaines' for at oprette lange strimler og arrays, der indeholder mange af disse LED'er. I det næste trin gør vi netop dette med de 3 tavler, vi har forberedt.

Trin 5: Lav en stribe RGB -lysdioder

Lav en stribe RGB -lysdioder
Lav en stribe RGB -lysdioder
Lav en stribe RGB -lysdioder
Lav en stribe RGB -lysdioder

Det integrerede LED-driver kredsløb (WS2811) giver mulighed for 'daisy-chaining' en LED til den næste ved hjælp af kun 1 datalinje (!). Ved at forbinde dataudgangen fra en WS2812 til en anden dataindgang, kan vi styre lysstyrken og farven på en hel række LED'er op til 500 af dem på en Arduino! Selvfølgelig er nogle overvejelser i orden for at drive mange lysdioder: - Hver pixel tegner op til 60mA (hvid ved fuld lysstyrke kræver, at alle lysdioder er tændt, hver tegning ~ 20mA). - En Arduino vil maksimere sin RAM med 500 LED'er med en opdateringshastighed på 30 Hz. - For at forbinde to tavler sammen er den anbefalede maksimale adskillelse 6 "for at undgå strømafbrydelser og datakorruption. Med disse overvejelser i tankerne kan vi køre alle lysdioderne ved hjælp af 24-bit farveopløsning ved lysstyrkeniveauer, der er konsekvente, og ret modstandsdygtig over for ændringer på (små) batteristrømændringer. Til 'daisy-chain' de tavler, vi forberedte til denne Instructable, starter vi med at forbinde hunenden fra den ene til den mandlige ende af den anden af de to tavler med den højre- Derefter placerer vi med vores Arduino-kort frakoblet strøm og USB hanenden fra to-board kæden på det loddefrie brødbræt. Vi sikrer, at stifterne flugter med dem på WS2812 Breakout Board, der var forbundet til brødbrættet allerede. En sådan justering vil have VCC- og GND-benene fra både det lige hovedbræt og kæden på den samme række af brødbrættet. Vi placerer to-plades kæden nær enden af det tredje Breakout Board, der er modsat kondensatoren A Efter alt er forbundet, kan vi starte Arduino IDE og bruge teksteditoren til at ændre definitionen "#define NUM_LEDS 1" til "#define NUM_LEDS 3". Efter at have tilsluttet kortet tilbage til strøm og/eller USB, kan vi uploade det nye program … og … BAM! Alle tre lysdioder skulle blinke på den måde!

Trin 6: Ind i mørket, lad der være lys

Ind i mørket, lad der være lys!
Ind i mørket, lad der være lys!
Ind i mørket, lad der være lys!
Ind i mørket, lad der være lys!

Denne instruktionsbog viste dig hurtigt, hvordan du bruger WS2812 RGB LED på forhånd loddet på små breakout boards. Vi brugte en Arduino til at styre lysdiodernes lysstyrke og farve. En ting, der var lidt skuffende, er, at koden, vi brugte, fik alle LED'erne til at blinke på én gang med samme intensitet og farve. Denne funktionsmåde udviser ikke det fulde potentiale for den 'smarte' LED -driver (WS2811), der er integreret i denne pakke. Og lad os prøve følgende ændringer af den originale kode. Som før vil du downloade og pakke filen ud og derefter åbne firmwaren, der skal indlæses på Arduino (firmware> effekter> effekter.ino). Alle de filer, der er nødvendige til denne demo, er inkluderet, så der er ikke behov for at tilføje tredjeparts libaries; koden skal kompilere uden ændringer --- den er allerede indstillet til at håndtere de 3 lysdioder. Nu er det op til din fantasi at udtænke det næste projekt, hvor disse meget nyttige, kompakte, RGB -lysdioder kan skinne deres lys. Send gerne nogle af dine egne kreationer ved hjælp af WS2812 i kommentarfeltet!

Anbefalede: