Inhoudsopgave:

Slimme RGB-leds upgraden: WS2812B vs. WS2812: 6 stappen
Slimme RGB-leds upgraden: WS2812B vs. WS2812: 6 stappen

Video: Slimme RGB-leds upgraden: WS2812B vs. WS2812: 6 stappen

Video: Slimme RGB-leds upgraden: WS2812B vs. WS2812: 6 stappen
Video: Coding Sequential LED Tail Lights! C++/ESP32/Arduino Project 2024, Juli-
Anonim
Slimme RGB-leds upgraden: WS2812B vs. WS2812
Slimme RGB-leds upgraden: WS2812B vs. WS2812
Slimme RGB-leds upgraden: WS2812B vs. WS2812
Slimme RGB-leds upgraden: WS2812B vs. WS2812
Slimme RGB-leds upgraden: WS2812B vs. WS2812
Slimme RGB-leds upgraden: WS2812B vs. WS2812

Het enorme aantal projecten dat we de afgelopen 3 jaar hebben gezien waarbij gebruik werd gemaakt van slimme RGB-LED's - of het nu strips, modules of aangepaste PCB's zijn - is behoorlijk verbazingwekkend. Deze uitbraak van het gebruik van RGB-LED's ging hand in hand met een aanzienlijke prijsdaling en een groter gebruiksgemak van deze elektronische apparaten. Onder LED-fabrikanten is WorldSemi schijnbaar de de facto standaard geworden onder doe-het-zelvers, hobbyisten en ontwerpers van draagbare elektronica. De WS28XX-familie van Smart RGB-LED's van het bedrijf omvat een gebruiksvriendelijk besturingsprotocol, een handige pin-out en voetafdruk, en een ongelooflijk heldere luminescentie, allemaal in een klein pakket van 5 mm x 5 mm. Maar wat echt een verschil heeft gemaakt in het doe-het-zelfmarktsucces van de producten, is de prijs per eenheid van $ 0,30 tot $ 0,40 in kleine hoeveelheden. In de nieuwste versie van deze LED's, de WS2812B, heeft WorldSemi opnieuw aanzienlijke verbeteringen aangebracht ten opzichte van zijn voorganger, de WS2812. Omdat er heel weinig informatie is over deze relatief nieuwe versie, hebben we besloten een korte Instructable te maken om de ontwerpupgrades te benadrukken en reclame te maken voor enkele van de reeds bestaande functies van dit handige apparaat! Moeilijkheidsgraad: Beginner+ (enige bekendheid met slimme RGB LED's) Tijd tot voltooiing: 5-10 minuten

Stap 1: Lijst met materialen

Lijst met materialen
Lijst met materialen
Lijst met materialen
Lijst met materialen

Om de kenmerken van zowel de WS2812B als de WS2812 RGB LED's te benadrukken, kunnen we gebruik maken van de volgende onderdelen: 1 x WS2812 RGB LED (vooraf gesoldeerd op een klein breakout board) 1 x Solderless Breadboard 1 x Breakaway Pin Connector, 0.1 Pitch, 8-pins mannelijk 1 x Arduino Uno R3 1 x WS2812B Lumina Shield voor Arduino Solid Core-draad (geassorteerde kleuren; 28 AWG) en draadstrippers Voeding (optioneel) Zowel de WS2812 als de WS2812B hebben een ingebouwde LED-driver met constante stroom, evenals 3 individueel aangestuurde LED's, een rode, een groene en een blauwe De LED-driver bestaat uit: - Een interne oscillator - Een signaalhervormings- en versterkingscircuit - Een datagrendel - Een 3-kanaals, programmeerbare constante stroomuitgangsaandrijving - 2 digitale poorten (seriële uitgang/ingang)Let op: de LED-driver zelf is ook verkrijgbaar in een 6-pins Integrated Circuit (IC)-vorm, die we kunnen gebruiken om rechtstreeks verbinding te maken met 'niet-slimme' RGB-LED's naar keuze; de IC in kwestie is niemand anders dan de WS2811.

Stap 2: WS2812B VS. WS2812: 4-pins voetafdruk (✓)

WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)
WS2812B VS. WS2812: 4-pins voetafdruk (✓)

De meest voor de hand liggende nieuwe functie van de WS2812B is een verminderd aantal pinnen (van 6 naar 4), die een mooi formaat behouden om ze gemakkelijk te kunnen solderen (met een soldeerbout met fijne punt) op ~ 2 mm x 1 mm pads op een PCB. De 6 pads van de oudere WS2812 maakten het een beetje moeilijk om de DO-pin van de ene module naar de DI-pin van de volgende te leiden wanneer de afstand tussen de modules klein was. Met de WS2812B is het routeren van de sporen op een PCB een fluitje van een cent, vooral bij het ontwerpen van arrayconfiguraties zoals het Arduino-schild dat in de afbeeldingen van deze stap wordt getoond. De extra ruimte tussen de WS2812B-pads zorgt voor:

  • Eenvoudig de 3 benodigde signalen routeren: Power, Ground en Data.
  • Dikkere sporen gebruiken om stroom en aarde te verbinden, waardoor hogere stromen veilig op een PCB kunnen lopen

We kunnen in de bovenstaande afbeeldingen zien hoe gemakkelijk het wordt om een 5x8-array voor de Lumina Shield voor Arduino te routeren met behulp van deze nieuwe LED's - ter vergelijking nemen we een oud ontwerp van een 16x16-array op met WS2812s. De ontwerpbestanden voor het Lumina Shield zijn te vinden op deze Github-repository. Een belangrijk ding om op te merken is dat, om redenen die we niet kunnen doorgronden, de lay-out van de WS2812B een kleine inkeping heeft op de hoek van de verpakking die pin 3 aangeeft in plaats van pin 1! We moeten extra opletten als we deze met de hand solderen, zodat we de module niet oriënteren zoals we zouden doen met typische IC's (of de WS2812, wat dat betreft). *.tftable { font-size: 12.0px; kleur: rgb(251, 251, 251); breedte: 100,0%; grensbreedte: 1.0px; randkleur: rgb(104, 103, 103); border-collapse: ineenstorting; } *.tftable th { font-size: 12.0px; achtergrondkleur: rgb(23, 21, 21); grensbreedte: 1.0px; opvulling: 8.0px; randstijl: solide; randkleur: rgb(104, 103, 103); tekst uitlijnen: links; } *.tftable tr { achtergrondkleur: rgb(47, 47, 47); } *.tftable td { lettergrootte: 12.0px; grensbreedte: 1.0px; opvulling: 8.0px; randstijl: solide; randkleur: rgb(104, 103, 103); } *.tftable tbody tr:hover { achtergrondkleur: rgb(23, 21, 21); } Pin # Symbool Functie *Inkeping op verpakking geeft deze pin aan. 1 VDD Voeding LED 2 DO Stuurdatasignaaluitgang 3* VSS Aarde 4 DIN Stuurdatasignaalingang Een ander vermeldenswaard detail is dat de Power (VDD) en Ground (VSS) pinnen diagonaal over elkaar liggen. De sporen die op deze pinnen zijn aangesloten, kunnen dus behoorlijk dik zijn! Als we echter de fout maken om de module 'achterwaarts' te solderen, zouden we Power en Ground kortsluiten (pin #1 en 3). Gelukkig voor ons, zoals we in de volgende stap zullen zien, heeft WorldSemi een beschermingscircuit met omgekeerde polariteit toegevoegd dat zal voorkomen dat de WS2812B door deze fout wordt beschadigd - we raden natuurlijk aan om de fout helemaal te vermijden:)

Stap 3: WS2812B VS. WS2812: Helderdere LED's en verbeterde kleuruniformiteit (?)

WS2812B VS. WS2812: Helderdere LED's en verbeterde kleuruniformiteit (?)
WS2812B VS. WS2812: Helderdere LED's en verbeterde kleuruniformiteit (?)

Toen de WS2812B werd uitgebracht, benadrukte WorldSemi dat deze helderdere LED's en een betere kleuruniformiteit had dan de WS2812. (Bron: WS2812B_vs_WS2812.pdf) Maar als we de eigenlijke datasheets van de twee apparaten inspecteren, kunnen we vaststellen dat de specificaties voor de luminantie van de LED's identiek zijn in beide: *.tftable { font-size: 12.0px; kleur: rgb(251, 251, 251); breedte: 100,0%; grensbreedte: 1.0px; randkleur: rgb(104, 103, 103); border-collapse: ineenstorting; } *.tftable th { font-size: 12.0px; achtergrondkleur: rgb(23, 21, 21); grensbreedte: 1.0px; opvulling: 8.0px; randstijl: solide; randkleur: rgb(104, 103, 103); tekst uitlijnen: links; } *.tftable tr { achtergrondkleur: rgb(47, 47, 47); } *.tftable td { lettergrootte: 12.0px; grensbreedte: 1.0px; opvulling: 8.0px; randstijl: solide; randkleur: rgb(104, 103, 103); } *.tftable tbody tr:hover { achtergrondkleur: rgb(23, 21, 21); } Kleur Golflengte (mm) Lichtsterkte (mcd) Rood 620–630 620–630 Groen 515–530 1100–1400 Blauw 465–475 200–400 De afbeelding hierboven toont een Arduino Uno die is aangesloten op vier breakout-kaarten. Twee daarvan hebben een WS2812B en de andere twee hebben een WS2812. We hebben geprobeerd standaard beeldvormingsmetingen te gebruiken om te bepalen of we significante verschillen in helderheid of kleuruniformiteit konden zien, maar de resultaten waren niet overtuigend. Om eenduidig vast te stellen of de twee modules in dit opzicht van elkaar verschillen, zouden we enkele tests moeten doen met een spectrofotometer. Aangezien we er geen beschikbaar hadden op het moment van schrijven, kunnen we alleen verwijzen naar de informatie op de respectieve datasheets van de producten: WS2812.pdf en WS2812B.pdf

Stap 4: WS2812B vs. WS2812: Beschermingscircuit tegen omgekeerde polariteit (✓)

WS2812B versus WS2812: Beschermingscircuit tegen omgekeerde polariteit (✓)
WS2812B versus WS2812: Beschermingscircuit tegen omgekeerde polariteit (✓)

Een van de nieuwe functies die we op een ongecompliceerde manier konden testen, was de beveiliging tegen omgekeerde polariteit die in het ontwerp van de WS2812B was opgenomen. Zoals de video laat zien, kan het omkeren van de Power- en Ground-pinnen soms de WS2812 beschadigen, maar niet de WS2812B-module. Deze functie is erg handig bij het werken met strips waar we meestal externe voedingen met hoge stroomsterktes gebruiken en waar we de meeste fouten hebben gezien tijdens de bedrading. We raden nog steeds aan om de aansluitingen en bedrading dubbel te controleren voordat we stroom op een elektronisch circuit zetten, maar het is weliswaar fijn om te weten dat in die zeldzame gevallen waarin we een fout maken, er een faalveilig mechanisme is om onze kostbare apparaten te beschermen.

Stap 5: WS2812B VS. WS2812: Interne structuur verbeterd (?)

De laatste functie die in de WS812B is opgenomen, is een scheiding van de twee hoofdcircuits in het apparaat: besturing en verlichting. Door deze twee te scheiden, meldt de fabrikant een verbeterde warmteafvoer en een robuustere regeling. Dit is verreweg de meest obscure van de nieuwe functies, omdat we geen goede methode hebben om de warmteafvoer op een PCB te testen. Voor de verbeterde robuustheid in de communicatie en gegevensoverdracht hebben we geen significante prestatieverschillen gevonden tussen de WS2812 en de WS2812B na een paar eenvoudige tests die we met de twee modules naast elkaar hebben uitgevoerd.

Stap 6: Programmeren van de WS2812B RGB LED's

Programmeren van de WS2812B RGB-leds
Programmeren van de WS2812B RGB-leds

Ondanks alle wijzigingen die zijn aangebracht in deze nieuwste versie van de WS28XX-familie, blijft het communicatieprotocol dat nodig is om de kleur en helderheid te regelen ongewijzigd ten opzichte van zijn voorganger. We kunnen nog steeds gebruik maken van de geweldige bibliotheken die zijn ontwikkeld door collega-makers van Adafruit, PJRC en het FastSPI-project. Om meer te weten te komen over wat er echt onder de motorkap van deze prachtige RGB LED-apparaten gebeurt, hebben we een grondig gedetailleerde Instructable samengesteld waarin de implementatie van het besturingsprotocol beetje bij beetje wordt uitgelegd (bedoelde woordspeling). Bij voorbaat bedankt voor het bekijken!https://www.instructables.com/id/Bitbanging-step-by-step-Arduino-control-of-WS2811-

Aanbevolen: