INHOUDSOPGAWE:

Beste RGB -LED's vir enige projek (WS2812, Aka NeoPixels): 6 stappe (met foto's)
Beste RGB -LED's vir enige projek (WS2812, Aka NeoPixels): 6 stappe (met foto's)

Video: Beste RGB -LED's vir enige projek (WS2812, Aka NeoPixels): 6 stappe (met foto's)

Video: Beste RGB -LED's vir enige projek (WS2812, Aka NeoPixels): 6 stappe (met foto's)
Video: HUMANOID ROBOT 17 DOF #experiment #science #physics #education #robot #robotics #technology #diy 2024, November
Anonim
Beste RGB -LED's vir enige projek (WS2812, aka NeoPixels)
Beste RGB -LED's vir enige projek (WS2812, aka NeoPixels)
Beste RGB -LED's vir enige projek (WS2812, aka NeoPixels)
Beste RGB -LED's vir enige projek (WS2812, aka NeoPixels)
Beste RGB -LED's vir enige projek (WS2812, aka NeoPixels)
Beste RGB -LED's vir enige projek (WS2812, aka NeoPixels)

As ons met LED's werk, hou ons dikwels daarvan om hul toestand (aan/af), helderheid en kleur te beheer. Daar is baie verskillende maniere om dit te doen, maar geen oplossing is so kompak soos die WS2812 RGB LED nie. In sy klein pakket van 5 mm x 5 mm bevat die WS2812 3 super helder LED's (rooi, groen en blou) en 'n kompakte bestuurdersbaan (WS2811) wat slegs een data -invoer benodig om die toestand, helderheid en kleur van die 3 LED's te beheer. Ten koste van die behoefte aan slegs een data -lyn om 3 LED's te beheer, is daar 'n vraag na 'n baie presiese tydsberekening in die kommunikasie met die WS2811. Om hierdie rede is 'n intydse mikrobeheerder (bv. AVR, Arduino, PIC) nodig. Ongelukkig bied 'n Linux-gebaseerde mikrorekenaar of 'n geïnterpreteerde mikrobeheerder soos die Netduino of Basic Stamp nie die nodige tydsberekening nie. En so, in hierdie Instructable loop ek deur die proses om een van hierdie LED's op te stel en te beheer met 'n Arduino Uno. Dan wys ek hoe maklik dit is om verskeie van hulle saam te koppel vir 'n wonderlike beligtingskerm! Moeilikheidsgraad: Beginner Tyd tot voltooiing: 10-15 minute

Stap 1: Lys van materiaal

Lys van materiaal
Lys van materiaal

Hierdie wonderlike RGB LED kom in 'n 5050 (5mm x 5mm) pakket met 6 pads wat redelik maklik is om op 'n uitbreekbord te soldeer. Aangesien die enigste bykomende komponent 'n ontkoppelingskondensator is, bied die WS2812 eerlik die beste oplossing vir die beheer van kleur en helderheid van 'n RGB LED. Die ingeboude LED -bestuurder met konstante stroom (WS2811) is opmerklik nuttig om twee redes: - 'n Konstante stroom van ~ 18mA sal elke LED dryf, selfs al wissel die spanning. - Dit is nie nodig om stroombeperkende weerstande (ook 'n verstikkingsweerstand) tussen die kragtoevoer en die LED's by te voeg nie. Al wat ons nodig het, is 'n baie eenvoudige ontwerp om krag, grond en 1 bedieningsingang te verskaf om 'n wonderlike beligtingskerm te skep wat bestaan uit nie een nie, maar 'n hele reeks RGB -LED's. Dit is reg! Deur die Data Out -pen van een van hierdie LED's aan die Data In -pin van 'n ander te koppel, kan ons albei onafhanklik ry met dieselfde Control Input! As dit nie duidelik is hoe u dit moet doen nie, moenie bekommerd wees nie; teen die einde van hierdie instruksies is u goed op weg om WS2812 by te voeg tot enige projek wat u wil! Hier is 'n instruksie wat ons sal gebruik: Materiaal: 3 x WS2812 RGB-LED's (vooraf gesoldeer op 'n klein uitbreekbord) Breekbare penaansluiting, 0,1 "steek, 8-pen mannetjie (reghoek) 1 x penaansluiting, 0,1" steek, 8-pins wyfie (reghoek) 1 x breekpenaansluiting, 0,1 "steek, 8-pen MaleTools: PC USB A/B kabeldraadstropper soldeerbout Opmerkings: Afhangende van u projek, is die WS2812 RGB LED's ook beskikbaar sonder 'n uitbreekbord vir ongeveer $ 0,40 elk, maar die gemak van die vooraf gesoldeerde opsie is aantreklik vir eenvoudige toepassings.

Stap 2: Verbind die penkoppe

Verbind die penkoppe
Verbind die penkoppe
Verbind die penkoppe
Verbind die penkoppe
Verbind die penkoppe
Verbind die penkoppe

Met al die materiaal wat in die vorige stap gelys is, is dit redelik eenvoudig om 'n WS2812 RGB LED aan te steek. Eerstens wil ons die WS2812 Breakout Boards voorberei om dit op die soldeerlose broodbord te plaas. Om dit te doen, gebruik ons 'n draadsnyer (die meeste algemene snywerktuie werk net so goed) om elke 8-pen strook in 2 x 3-pen stukke te skei. Hou in gedagte dat die snit 'n bietjie lastig is; Ek het gereeld probeer om die groef tussen twee manlike kopstukke as 'n riglyn vir die snit te gebruik, en ek het te veel plastiek van 'n kopstuk afgesny wat ek wou behou. Deur die pen op te offer waar ons die snit wil maak, vermy ons die probleem heeltemal. Met 'n tang trek ons die pen af waar ons wil sny (in hierdie geval die 4de en 8ste pen). Nadat die penne verwyder is, kan ons die middel van die nou leë kopstukke maklik afsny. Hierdie tegniek werk ewe goed met die vroulike kop. Nadat ons gesny en gesny het, moet ons 6 x 3-pins koppe hê, dit wil sê 2 x standaard en 4 x reghoek (2 x mannetjie, 2 x wyfie). Met behulp van 'n soldeerbout kan ons nou die penne op elk van die drie uitbreekborde op die volgende manier verbind. Een bord moet die 2 x standaard kopstukke hê, terwyl die ander twee planke elk 1 x reghoekige kop moet hê. Op die bord met die standaard penkoppe, plaas ons die penne op die onderkant van die bord (die kant teenoor waar die LED is). Op die ander twee kan die reghoekige opskrifte (een van elke geslag) op die boonste of onderste oppervlak geplaas word. Let op dat dit belangrik is om konsekwent te wees van die een bord na die ander oor die plasing van die manlike en vroulike kop. Dit is handig om die oppervlakmonterende kondensator te gebruik vir die oriëntasie van die borde; As dit as verwysing gebruik word, moet die manlike kopstuk aan die einde naaste aan die kapasitor gesoldeer word. Sodra die penne gesoldeer is, is ons gereed om een daarvan aan die Arduino te koppel!

Stap 3: Koppel die WS2812 Breakout Board aan 'n Arduino

Koppel die WS2812 Breakout Board aan 'n Arduino
Koppel die WS2812 Breakout Board aan 'n Arduino
Koppel die WS2812 Breakout Board aan 'n Arduino
Koppel die WS2812 Breakout Board aan 'n Arduino
Koppel die WS2812 Breakout Board aan 'n Arduino
Koppel die WS2812 Breakout Board aan 'n Arduino

In hierdie stap maak ons die nodige verbindings tussen 'n Arduino en een van ons WS2812 Breakout Boards. Vir hierdie doel gebruik ons die soldeerlose broodbord en 3 x draaddrade. As u 'n draaddraad gebruik, is dit nou die tyd om 3 stukke te sny, elk ongeveer 4 lank. Ons kan nou die WS2812 Breakout Board (die met die standaard koppe) oor die verdeler van ons broodbord plaas. dat die Arduino van beide 'n kragbron en USB ontkoppel is, gaan ons verder met die aansluitings. Aan die onderkant van die WS2812 Breakout Board kan ons die naam van elke pen vind: VCC, DI (DO), GND. Gebruik as 'n riglyn, gaan ons voort om die 5V- en GND -penne van die Arduino onderskeidelik aan die VCC- en GND -penne van die WS2812 -bord te koppel. Dan verbind ons pen 8 aan die digitale kant van die Arduino met die DI -pen van die WS2812 -bord, wat die middelste pen van die kant naaste aan die kapasitor is. Nou is ons gereed om ons program na die Arduino te laai en die WS2812 te laat knip!

Stap 4: Laat dit flikker met die Arduino IDE

Laat dit flikker met die Arduino IDE
Laat dit flikker met die Arduino IDE
Laat dit flikker met die Arduino IDE
Laat dit flikker met die Arduino IDE

Ek neem aan dat u reeds die Arduino IDE op u rekenaar geïnstalleer het-baie handleidings op die internet verduidelik die proses baie goed. Die program wat ons na ons Arduino moet laai, kan hier afgelaai word. Nadat ons eenvoudig op die primer.ino-lêer in die firmware> voorbeelde> primer-lêer kan dubbelkliek om dit op die Arduino IDE te laai (vir weergawe 1.0.5). Die pakket bevat die nodige biblioteke vir die opstel van die kode, sodat daar geen foute mag wees nie. Plaas 'n opmerking as u probleme ondervind met die opstel. Nadat u die tipe Arduino -bord en die USB -poort met behulp van die menu -gereedskapopsie gekies het, laai die kode op, en die WS2812 moet begin afwisselend rooi, groen en blou. Die netjiesste kenmerk van hierdie WS2812 RGB-LED's is dat hulle redelik maklik 'daisy-chain' kan wees om lang stroke en skikkings te skep wat baie van hierdie LED's bevat. In die volgende stap doen ons dit presies met die 3 borde wat ons voorberei het.

Stap 5: Maak 'n strook RGB -LED's

Maak 'n strook RGB -LED's
Maak 'n strook RGB -LED's
Maak 'n strook RGB -LED's
Maak 'n strook RGB -LED's

Die ingeboude LED-bestuurderbane (WS2811) maak voorsiening vir 'daisy-chaining' van een LED na die volgende met slegs 1 datalyn (!). Deur die data -uitvoer van een WS2812 aan die data -invoer van 'n ander te koppel, kan ons die helderheid en kleur van 'n hele reeks LED's tot 500 daarvan op 'n Arduino beheer! Om baie LED's aan te dryf, is daar 'n paar oorwegings: - Elke pixel trek tot 60mA (wit met volle helderheid vereis dat alle LED's aan is, elke tekening ~ 20mA). - 'n Arduino sal sy RAM -maksimum van 500 LED's maksimeer teen 'n verversingssnelheid van 30 Hz. - Om twee borde aan mekaar te koppel, is die aanbevole maksimum skeiding 6 "om kragonderbrekings en datakorrupsie te voorkom. Met hierdie oorwegings in gedagte, kan ons al die LED's dryf met 24-bisse kleurresolusie, op 'n konsekwente helderheidsvlak, en taamlik bestand teen veranderinge in (klein) batterykragveranderinge. Om die planke wat ons vir hierdie voorbereiding voorberei het, te 'ketting', begin ons deur die vroulike kant van die een na die manlike kant van die ander van die twee borde met die regterkant te verbind. Hoekopskrifte. Dan, met ons Arduino-bord losgekoppel van krag en USB, plaas ons die mannetjie-einde van die tweebordsketting op die soldeerlose broodbord. Ons verseker dat die penne in lyn is met die op die WS2812 Breakout Board wat aan die broodbord gekoppel was alreeds. Sodanige belyning sal die VCC- en GND-penne van beide die reguitkopbord en die ketting op dieselfde ry van die broodbord hê. Ons plaas die tweebordketting naby die einde van die derde breekbord wat teenoor die kondensator is A Nadat alles gekoppel is, kan ons die Arduino IDE aanskakel en die teksredigeerder gebruik om die definisie "#define NUM_LEDS 1" na "#define NUM_LEDS 3" te verander. Nadat ons die kaart weer aan Power en/of USB gekoppel het, kan ons die nuwe program oplaai … en … BAM! Al drie LED's behoort net so te knip!

Stap 6: Laat daar lig wees in die duisternis

Laat daar lig wees in die duisternis!
Laat daar lig wees in die duisternis!
Laat daar lig wees in die duisternis!
Laat daar lig wees in die duisternis!

Hierdie instruksies het u vinnig gewys hoe u die WS2812 RGB LED vooraf soldeer op klein uitbreek borde. Ons het 'n Arduino gebruik om die helderheid en kleur van die LED's te beheer. Een ding wat effens teleurstellend was, is dat die kode wat ons gebruik het, die LED's gelyktydig laat knip het, met dieselfde intensiteit en kleur. Hierdie werkswyse toon nie die volle potensiaal van die 'slim' LED -bestuurder (WS2811) wat in hierdie pakket ingebed is nie. Laat ons dus die volgende wysigings aan die oorspronklike kode probeer. Soos voorheen, laai u die lêer af en pak dit uit, en open dan die firmware wat op die Arduino gelaai moet word (firmware> effekte> effects.ino). Al die lêers wat vir hierdie demo benodig word, is ingesluit, dus hoef u geen derdeparty-biblioteke by te voeg nie; die kode moet opgestel word sonder enige verandering --- dit is reeds ingestel om die 3 LED's te hanteer. Nou is dit aan u verbeelding om die volgende projek te ontwerp waar hierdie baie nuttige, kompakte, RGB -LED's hul ligte kan skyn. Plaas gerus 'n paar van u eie skeppings met die WS2812 in die kommentaarafdeling!

Aanbeveel: