Avmystifiera 4 pin adresserbara RGB LEDS (2 / 6 steg)
Steg 2: Hur fungerar det?
WS2812 IC inuti dessa adresserbara lysdioder fungerar precis som ett skiftregister. I själva verket i vissa datablad kallas de SKIFT registrera programmerbara lysdioder. Den här mycket liten flisa som gör magiskt i den hemliga sås. Dess mer än bara ett skift Register, det omfattar den nuvarande begränsning motstånd alla lysdioder behovet, som reglerar spänningen till vad de specifika LED element behöver. Du kan läsa mer om SKIFT register här på Wikipedia.
I min tidigare Instructable gick jag in på några detaljer om lysdioder och hur att ändra spänning var ett bra sätt att döda lysdioder och att om du ville tona ned dem, du måste använda en bredd för synkpuls modulerande signal. Vad Pulse bredd modulering gör är vända lampan på och bort så snabbt att det ändrar den genomsnittliga ljusnivån. Ju mer tid LED är avstängd, ju mörkare det ser ut. Anledningen du inte ser det så är att LED är påslagen och off så snabbt, dina ögon inte kan upptäcka den.
Adresserbara lysdioder styrs inte heller med spänning, inte heller bredd för synkpuls modulering. De styrs av en bärsignal. Denna 800kHz signal har ett format som beskriver att chipet vad var och en av färgerna ska vara, vad ljusstyrkan bör vara, och även vad varje LED i kedjan nedströms bör också.
När WS2812 tar emot signalen, den avkodar egna data från det bärsignal, då skickar ut resten av data nedströms till nästa LED och så vidare.
I Arduino sker detta genom användning av ett ganska smart bibliotek Skrivet av den fint folk på Adafruit, som säljer NeoPixel raden av produkter som använder WS2812 chip. I själva verket när man tittar på modet i biblioteket skickas faktiska data till ut med en serie noggrant tidsinställda DigitalWrite() kommandon. Detta innebär att någon av de 13 digitala stift kan användas, inte bara de sex PWM stift.