Talaan ng mga Nilalaman:

Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels): 6 na Hakbang (na may Mga Larawan)
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels): 6 na Hakbang (na may Mga Larawan)

Video: Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels): 6 na Hakbang (na may Mga Larawan)

Video: Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels): 6 na Hakbang (na may Mga Larawan)
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Hulyo
Anonim
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels)
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels)
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels)
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels)
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels)
Pinakamahusay na RGB LEDs para sa Anumang Project (WS2812, Aka NeoPixels)

Kapag nagtatrabaho kami sa mga LED, madalas naming gustong makontrol ang kanilang estado (on / off), ningning, at kulay. Maraming, maraming iba't ibang mga paraan ng pagpunta tungkol dito, ngunit wala ay kasing compact ng isang solusyon tulad ng WS2812 RGB LED. Sa maliit na 5mm x 5mm na pakete, ang WS2812 ay may kasamang 3 sobrang maliwanag na LED (Pula, berde, at Blue) at isang compact driver circuit (WS2811) na nangangailangan lamang ng isang input ng data upang makontrol ang estado, ningning, at kulay ng 3 LEDs. Sa gastos ng nangangailangan ng isang linya lamang ng data upang makontrol ang 3 LEDs, darating ang isang pangangailangan para sa lubos na tumpak na tiyempo sa komunikasyon sa WS2811. Sa kadahilanang ito, kinakailangan ng isang real-time microcontroller (hal., AVR, Arduino, PIC). Nakalulungkot, ang isang microcomputer na nakabatay sa Linux o isang binigyang microcontroller tulad ng Netduino o Basic Stamp ay hindi maaaring magbigay ng sapat na kawastuhan ng tiyempo na kinakailangan. At sa gayon, sa Instructable na ito ay naglalakad ako sa proseso ng pagse-set up, at pagkontrol sa isa sa mga LED na ito gamit ang isang Arduino Uno. Pagkatapos, ipinapakita ko kung gaano kadali upang ikonekta ang marami sa kanila para sa isang kahanga-hangang display ng ilaw! Antas ng Pinagkakahirapan: BeginnerTime hanggang sa makumpleto: 10-15 Minuto

Hakbang 1: Listahan ng Mga Materyales

Listahan ng Mga Materyales
Listahan ng Mga Materyales

Ang kamangha-manghang RGB LED na ito ay nasa 5050 (5mm x 5mm) na pakete na may 6 pad na medyo madaling maghinang sa isang breakout board. Dahil ang tanging karagdagang sangkap na kinakailangan ay isang de-pagkabit ng kapasitor, matapat na inaalok ng WS2812 ang pinakamahusay na solusyon para sa pagkontrol sa kulay at ningning ng isang RGB LED. Ang naka-embed na pare-pareho na kasalukuyang driver ng LED (WS2811) ay lubhang kapaki-pakinabang para sa dalawang kadahilanan: - Ang isang pare-pareho na kasalukuyang ~ 18mA ay magdadala sa bawat LED kahit na ang boltahe ay magkakaiba. - Hindi na kailangang magdagdag ng kasalukuyang-nililimitahan ang mga resistors (a.k.a choke resistors) sa pagitan ng supply ng kuryente at ng mga LED. Ang kailangan lang namin ay isang napaka-simpleng disenyo upang magbigay ng Power, Ground, at 1 Control Input upang lumikha ng isang kahanga-hangang display ng ilaw na binubuo ng hindi isa, ngunit isang buong hanay ng mga RGB LED. Tama iyan! Sa pamamagitan ng pagkonekta ng Data Out pin ng isa sa mga LED na ito, sa Data In pin ng isa pa, maaari nating himukin silang pareho nang nakapag-iisa sa parehong Control Input! Kung hindi halata kung paano ito gawin, huwag mag-abala, sa pagtatapos ng Instructable na ito magiging maayos ka sa pagdaragdag ng WS2812 sa anumang nais mong proyekto! Para sa Instructable na ito, narito kung ano ang gagamitin namin: Mga Kagamitan: 3 x WS2812 RGB LEDs (paunang na-solder sa isang maliit na breakout board) 1 x Solderless Breadboard Solid Core Wire (magkakaibang kulay; 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 Babae (Right-Angle) 1 x Breakaway Pin Connector, 0.1 "Pitch, 8-Pin MaleTools: PC USB A / B Cable Wire Stripper Soldering IronNotes: Depende sa iyong proyekto, ang WS2812 RGB LEDs ay magagamit din nang walang breakout board para sa halos $ 0.40 bawat isa, ngunit ang kaginhawaan ng paunang pre-solder na pagpipilian ay kaakit-akit para sa mga simpleng aplikasyon.

Hakbang 2: Pagkonekta sa Mga Pin Header

Pagkonekta sa Mga Pin Header
Pagkonekta sa Mga Pin Header
Pagkonekta sa Mga Pin Header
Pagkonekta sa Mga Pin Header
Pagkonekta sa Mga Pin Header
Pagkonekta sa Mga Pin Header

Sa lahat ng mga materyal na nakalista sa nakaraang hakbang, ito ay tuwid na pasulong upang magaan ang isang WS2812 RGB LED. Una, nais naming ihanda ang WS2812 Breakout Boards para sa paglalagay ng mga ito sa solderless breadboard. Upang magawa ito, gumagamit kami ng isang wire cutter (ang pinaka-karaniwang mga tool sa paggupit ay gagana rin) upang paghiwalayin ang bawat 8-Pin strip sa 2 x 3-Pin na piraso. Tandaan na ang paggawa ng hiwa ay medyo nakakalito; madalas na sinubukan kong gamitin ang uka sa pagitan ng dalawang mga header ng lalaki bilang isang gabay para sa pag-cut, at natapos ko ang pag-aalot ng sobrang plastik sa isang header na ibig kong panatilihin. Sa pamamagitan ng 'pagsasakripisyo' ng pin kung saan nais naming gupitin, naiiwasan namin ang problema nang sama-sama. Gamit ang isang pares ng pliers, hinuhugot namin ang pin kung saan nais naming i-cut (sa kasong ito, ang ika-4 at ika-8 na pin). Matapos maalis ang mga pin ay madali nating mabawasan ang gitna ng mga wala nang laman na header. Ang pamamaraan na ito ay pantay na gumagana nang maayos sa babaeng header. Pagkatapos ng prying at cutting, dapat mayroon kaming 6 x 3-Pin header, iyon ay, 2 x standard at 4 x kanang-anggulo (2 x lalaki, 2 x babae). Sa tulong ng isang soldering iron, maaari na nating ikonekta ang mga pin sa bawat isa sa tatlong mga breakout board sa sumusunod na paraan. Ang isang board ay dapat magkaroon ng 2 x karaniwang mga header, samantalang ang iba pang dalawang board ay dapat bawat isa ay may 1 x kanang -ulo na header. Sa board na magkakaroon ng karaniwang mga header ng pin, inilalagay namin ang mga pin sa ilalim na ibabaw ng board (sa gilid sa tapat ng kung saan ang LED). Sa kabilang dalawa, ang mga header na may tamang anggulo (isa sa bawat kasarian) ay maaaring mailagay alinman sa tuktok o ilalim na ibabaw. Tandaan na mahalaga na maging pare-pareho, mula sa isang board hanggang sa isa pa, sa paglalagay ng mga header ng lalaki at babae. Kapaki-pakinabang na gamitin ang ibabaw na mount capacitor para sa orienting ng mga board; gamit ito bilang sanggunian, ang male header ay dapat na solder sa dulo na pinakamalapit sa capacitor. Kapag na-solder ang mga pin, handa na kaming ikonekta ang isa sa mga ito sa Arduino!

Hakbang 3: Pagkonekta sa WS2812 Breakout Board sa isang Arduino

Pagkonekta sa WS2812 Breakout Board sa isang Arduino
Pagkonekta sa WS2812 Breakout Board sa isang Arduino
Pagkonekta sa WS2812 Breakout Board sa isang Arduino
Pagkonekta sa WS2812 Breakout Board sa isang Arduino
Pagkonekta sa WS2812 Breakout Board sa isang Arduino
Pagkonekta sa WS2812 Breakout Board sa isang Arduino

Sa hakbang na ito gagawin namin ang mga kinakailangang koneksyon sa pagitan ng isang Arduino, at isa sa aming WS2812 Breakout Boards. Para sa hangaring ito gagamitin namin ang solderless breadboard, at 3 x jumper wires. Kung gumagamit ka ng isang spool ng kawad, ngayon ang oras upang gupitin ang 3 piraso, bawat isa ay tungkol sa 4 ang haba. Maaari na nating ilagay ang WS2812 Breakout Board (ang isang may karaniwang mga header) sa divider ng aming breadboard. na ang Arduino ay naka-disconnect mula sa parehong pinagmulan ng kuryente at USB, magpapatuloy kaming i-wire ang mga koneksyon. Sa ilalim ng WS2812 Breakout Board mahahanap natin ang pangalan ng bawat pin: VCC, DI (DO), GND. Gamit ito bilang isang gabay nagpapatuloy kaming ikonekta ang mga 5V at GND na pin mula sa Arduino sa VCC at GND na pin ng WS2812 board, ayon sa pagkakabanggit. Pagkatapos, ikonekta namin ang pin 8 sa Digital na bahagi ng Arduino sa DI pin ng WS2812 board, na kung saan ay ang gitnang pin ng gilid na pinakamalapit sa capacitor. Handa na kaming i-load ang aming programa sa Arduino, at gawin ang WS2812 blink!

Hakbang 4: Ginagawa itong Blink Sa Arduino IDE

Ginagawa itong Blink Sa Arduino IDE
Ginagawa itong Blink Sa Arduino IDE
Ginagawa itong Blink Sa Arduino IDE
Ginagawa itong Blink Sa Arduino IDE

Ipagpalagay ko na na-install mo na ang Arduino IDE sa iyong computer --- maraming mga gabay sa web ang nagpapaliwanag nang maayos sa proseso. Ang program na kakailanganin naming i-load sa aming Arduino ay maaaring ma-download dito. Pagkatapos ay maaari naming i-double click ang primer.ino file sa loob ng firmware> mga halimbawa> primer folder upang mai-load ito sa Arduino IDE (wirtten para sa bersyon 1.0.5). Kasama sa pakete ang mga kinakailangang aklatan para maisaayos ang code upang hindi dapat magkaroon ng anumang mga error, mangyaring mag-post ng isang puna kung nakatagpo ka ng anumang mga problema sa pag-iipon. Matapos mapili ang uri ng board ng Arduino, at USB port gamit ang opsyon na menu ng Mga Tool, i-upload ang code, at ang WS2812 ay dapat magsimulang kumurap sa pagitan ng Red, Green, at Blue. Ang pinakahusay na tampok tungkol sa mga WS2812 RGB LEDs na maaari silang maging 'daisy-chaced' na medyo madali upang lumikha ng mahabang mga piraso at array na naglalaman ng marami sa mga LED na ito. Sa susunod na hakbang ay tiyak na ginagawa namin ito sa 3 mga board na aming inihanda.

Hakbang 5: Paggawa ng isang Strip ng RGB LEDs

Paggawa ng isang Strip ng RGB LEDs
Paggawa ng isang Strip ng RGB LEDs
Paggawa ng isang Strip ng RGB LEDs
Paggawa ng isang Strip ng RGB LEDs

Ang naka-embed na LED driver circuitry (WS2811) ay nagbibigay-daan para sa 'daisy-chaining' isang LED sa susunod na gumagamit lamang ng 1 linya ng data (!). Sa pamamagitan ng pagkonekta ng Data Output ng isang WS2812 sa Data Input ng isa pa, makokontrol namin ang liwanag at kulay ng isang buong hanay ng mga LED hanggang sa 500 sa kanila sa isang Arduino! Siyempre, upang himukin ang maraming mga LEDs ilang pagsasaalang-alang ay nasa order: - Ang bawat pixel ay nakakakuha ng hanggang sa 60mA (puti sa buong ningning ay nangangailangan ng lahat ng mga LED na nasa, bawat pagguhit ~ 20mA). - Ipaparami ng isang Arduino ang RAM na nagmamaneho ng 500 LEDs sa isang rate ng pag-refresh na 30 Hz. - Upang ikonekta ang dalawang board nang magkasama, ang inirekumendang maximum na paghihiwalay ay 6 "upang maiwasan ang pagbagsak ng kuryente, at ang katiwalian ng data. Sa mga isinasaalang-alang na pagsasaalang-alang na ito, maaari nating himukin ang lahat ng mga LED na gumagamit ng 24-bit ng resolusyon ng kulay, sa mga antas ng ningning na pare-pareho, at medyo nababanat sa mga pagbabago sa (maliit) na pagbabago ng lakas ng baterya. Upang 'daisy-chain' ang mga board na inihanda namin para sa Instructable na ito ay nagsisimula kami sa pamamagitan ng pagkonekta sa dulo ng babae mula sa isa hanggang sa male end ng isa pang dalawang board na may kanang- mga header ng anggulo. Pagkatapos, sa aming board ng Arduino na naka-disconnect mula sa Power at USB, inilalagay namin ang male end mula sa two-board chain sa solderless breadboard. Tinitiyak namin na ang mga pin ay nakahanay sa mga nasa WS2812 Breakout Board na nakakonekta sa breadboard mayroon na. Ang nasabing pagkakahanay ay magkakaroon ng mga pin ng VCC at GND mula sa parehong straight-header board at ng kadena sa parehong hilera ng breadboard. Inilalagay namin ang chain ng dalawang board malapit sa dulo ng pangatlong Breakout Board na katapat ng capacitor A fter lahat ay konektado, maaari naming sunugin ang Arduino IDE at gamitin ang Text Editor upang baguhin ang kahulugan na "#define NUM_LEDS 1" sa "#define NUM_LEDS 3". Matapos ikonekta ang board pabalik sa Power at / o USB, maaari naming mai-upload ang bagong programa … at… BAM! Lahat ng tatlong LEDs ay dapat na kumukurap nang ganyan!

Hakbang 6: Sa Kadiliman, Magkaroon ng Liwanag

Sa Kadiliman, Magkaroon ng Liwanag!
Sa Kadiliman, Magkaroon ng Liwanag!
Sa Kadiliman, Magkaroon ng Liwanag!
Sa Kadiliman, Magkaroon ng Liwanag!

Ang Instructable na ito ay mabilis na nagpakita sa iyo kung paano gamitin ang WS2812 RGB LED pre-soldered papunta sa maliliit na breakout board. Gumamit kami ng isang Arduino upang makontrol ang liwanag at kulay ng mga LED. Ang isang bagay na bahagyang nabigo ay ang code na ginamit namin na ginawa ang mga LED na blink nang sabay-sabay, na may parehong kasidhian at kulay. Ang mode ng pagpapatakbo na ito ay hindi nagpapakita ng buong potensyal ng 'matalinong' LED driver (WS2811) na naka-embed sa package na ito. At sa gayon, subukan natin ang mga sumusunod na pagbabago sa orihinal na code. Tulad ng dati, mag-download ka at mag-unzip ng file, at pagkatapos ay buksan ang firmware upang mai-load sa Arduino (firmware> effects> effects.ino). Ang lahat ng mga file na kinakailangan para sa demo na ito ay kasama kaya hindi na kailangan para sa pagdaragdag ng mga libary ng third-party; ang code ay dapat na ipagsama nang walang anumang pagbabago --- naka-set na ito upang hawakan ang 3 LEDs. Nasa sa iyong imahinasyon ang mag-isip ng susunod na proyekto kung saan ang mga lubhang kapaki-pakinabang, siksik, RGB LED na ito ay maaaring magningning sa kanilang mga ilaw. Huwag mag-atubiling mag-post ng ilan sa iyong sariling mga nilikha gamit ang WS2812 sa seksyon ng mga komento!

Inirerekumendang: