Arduino – Lektion 14: NeoPixlar

OBS: I vårt nya Arduino Uno Starterkit som började säljas den 1 juni 2017 inkluderar vi 5st 5mm NeoPixlar, så man kan testa denna lektion. Tidigare i Genuino Uno Starterkitet som utgick i juni 2017 hade vi endast 2st NeoPixlar.

Här följer en enkel lektion om hur man kommer igång med intelligenta RGB lysdioder, så kallade NeoPixlar (Adafruit kom på detta namn). Det finns olika typer av intelligenta lysdioder, men de vanligaste är de med styrchippen WS2801 (externt chip) eller med WS2811 (externt chip) eller WS2812 (internt i lysdioden). Den förstnämnda kräver 2 I/O för att styra, dels en klocksignal och en datasignal. De 2 senare har endast en I/O för att styra och arbetar med intern 800kHz klocka i chippet. Just WS2812 är en ytmonterad lysdiod som är 5*5mm och har 6 anslutningsben sen finns det en nyare variant som heter WS2812B som endast har 4 ben. På senare tid har det även kommit hålmonterade lysdioder (5mm och 8mm) som fungerar som WS2812B. De ytmonterade säljer vi lösa och på tape samt på färdiga Adafruit-produkter.

De vanliga hålmonterade som är 5mm säljer vi lösa i 5-pack eller 25-pack. Vi har även en bra NeoPixel-sticka med 8 lysdioder (se bild nedan), övriga NeoPixel-produkter hittar ni här i vår webshop.

NeoStick

Det är otroligt enkelt och snabbt att komma igång med de som styrs med en I/O (WS2811/WS2812/WS2812B) eftersom Adafruit har gjort ett Arduino LIB för dessa som är mycket användbart och kan konfigureras på många sätt.

De NeoPixel lysdioder vi använder i detta demo är dessa som vi säljer i vår webshop (och som under december 2014 inkluderas i vårt Arduino Stater Kit utan extra kostnad). De har 4 anslutningsben (2 korta och 2 långa) och om man lägger dem med benen mot sig och har de långa benen till höger så är de i följande ordning: IN, VDD, GND och UT. Skall man koppla in dem i en kedja kan de ganska lätt kopplas in på ett kopplingsdäck om man särar lite på stiften och sätter dem i varannan rad så att utgående ben sätts i samma rad som ingående ben på nästa lysdiod. Första lysdiodens IN kopplas till Arduino IO6, sedan kopplas alla VCC till +5V och alla GND till GND. UT på sista lysdioden lämnas ej ansluten, se bild nedan.

NeoPixel1

Börja med att ladda hem detta NeoPixel LIB för Arduino här på GitHub. Välj “Download LIB” ute till höger och spara filen i katalogen “libraries” och packa upp den där. Se till att katalogen som skapades heter samma som libbet, dvs. “Adafruit_NeoPixel” och att det finns filer i denna katalog som visas på bilden nedan. Vill man lära sig lite mer om hur man installerar LIB i Arduino kan man lära sig mer här.

NeoPixelLIB

Är libbet uppackat på rätt ställe och man startar om Arduino IDE så skall det finnas 3 exempel som bilden nedan visar under fliken Adafruit_NeoPixel. Dessa exempel fungerar direkt med Adafruits produkter och passar inte helt till de hålmonterade lysdioder vi använder här.

NeoPixel2

Vi har utgått från en av dem och gjort om det och ni kan ladda hem den här. Det som är ändrat är antalet lysdioder vi använder samt att dessa representeras som RGB, inte GRB (som de som sitter på Adafruits produkter). Kompilera och ladda upp filen och har ni kopplar rätt kommer de NeoPixlarna att blinka på med alla möjliga färger som bilden nedan visar (även om det inte är syns tydligt på bilden nedan).

NeoPixelTest1

Ibland bör man även lägga till ett motstånd i serie med DATA IN på första lysdioden (man kan ibland märka att de fladdrar och inte ställs in rätt) om inte produkten man skall ansluta har detta integrerat, man sätter detta motstånd så nära första lysdioden som möjligt. Detta motstånd skall vara runt 300-500ohm. Vi har bortsett detta motstånd i detta labb. Har man många NeoPixlar bör man även sätta en större kondensator på minst 1000uF/6.3V över matningen så nära första lysdioden som möjligt. På väldigt långa slingor får man sätta flera med jämna mellanrum. Varje enskild lysdiod bör även ha en avkopplingskondensator på 100nF (eller mellan varannan eller var tredje). Här i detta labb med 5 lysdioder behövs inte detta.

Lycka till!

Föregående Sida    –    Nästa Sida