Bitars banka steg för steg: Arduino kontroll av WS2811, WS2812 och WS2812B RGB lysdioder



Disclaimer: under det senaste året, några olika bibliotek har skrivits för att kontrollera dessa allestädes närvarande RGB lysdioder av Karl beslutsfattare från Adafruit, PJRC och FastSPI projektet. Biblioteken fungerar mycket bra, och vi bör försöka dem alla ut. Nyligen, blev vi ombedda av några personer hur lågnivåkod verkligen fungerade. Med hopp om att andra finna förklaringen bra, vi satt ihop detta Instructable med ett detaljerat svar.
--

Översikt
När vi vill ha en mikrokontroller att skicka och ta emot data till och från enheter som använder någon form av digital logik, gör vi det ofta med standardprotokoll såsom SPI och I2C/TWI, UART. Men kommer det en tid i varje inbäddad hårdvara programmer's liv där det är lämpligt eller nödvändigt att rulla-upp sina ärmar och vev ut hennes egna protokoll. Så är fallet för att styra den allestädes närvarande RGB lysdioder från WorldSemi: den WS281X serien.

Det bör noteras att det har varit lyckade försök SPI-protokollet ska användas för att styra dessa lysdioder. Ändå, med tanke på deras kommunikationsprotokoll (beskrivs nedan) Detta är en perfekt miljö för att genomföra en egen lösning med en programmering teknik som kallas bitbanging. Denna teknik tillåter oss att efterlikna olika funktioner av specialiserade hårdvara med programvara. I detta fall, använder vi det för att växla en digital utgång stift på ATMega328p mikrokontroller på ett mycket exakt sätt, så att den digitala signalen skapade tillåter oss att sätta på och stänga en 1-av-60 matris med WS2812 RGB lysdioder.

Svårighetsgrad: nybörjare + (vissa förtrogenhet med Arduino programmering)
Tid till avslutning: 15-30 minuter

Se Steg
Relaterade Ämnen

Super enkel 10-steg arduino sequencer

Denna sequencer är så enkelt jag behöver bara ett steg visar hur! Just nu är det är en 10 steg sequencer men kan lätt bli mer rättvis genom att ändra variabeln "steg" i koden.https://Instagram.com/p/2_uf05wwEc/Allt du behöver för detta projekt ä...

Smart WIFI Video bil (Arduino kontroll)

Alla av oss har en utforskning önskan på okänd ort. När jag och min partner tittar på filmen "The Martian" och se att det finns en robotbil i Mars - - en planet som är femtio - sex miljoner kilometer från vår jord. "Han" arbetar på Mar...

Seriella Servo Controller w/Arduino - kontroll upp till 12 servon samtidigt med Arduino och en USB-anslutning

jag kommer att visa dig hur du använder din Arduino för att styra upp till 12 servon på en gång med minimal jitter. Med ett enkelt seriellt gränssnitt kan du kontrollera positionen för upp till 12 servo kanaler. Upp till 10 ögonblicksbild positioner...

Hemgjord Lizylotte robotarm DIY Robotic ram projekt chassi Draw Arduino kontroll

Hemgjord Lizylotte robotarm DIY Robotic ram projekt chassi Draw Arduino kontrollMaterial:1 st aluminiumlegering 245 mm x 42 mm x 12 mm1 st aluminiumlegering 200 mm x 22 x 12 mm1 st aluminiumlegering 100 mm x 160 x 12 mm för säng1 st steg motor 42 x 4...

Hacking en Keychain digitalkamera för Arduino kontroll

fotografering alternativ för Arduino är få och långt mellan. Webbkameror är praktiska för applikationer som kite fotografering eller offentliga fotografering, om du känner för att köpa en 200 fot USB-kabel. Och aktuella tekniker för fristående Arduin...

Arduino - kontroll lysdioder med en fjärrkontroll

Hi guys,Jag delar med dig ett projekt jag gjort nyligen. I'ts om hur du kan kontrollera vissa lysdioder med en fjärrkontroll och din Arduino. Men du kan tillämpa detta på alla elektroniska enheter såsom motorer, ljus t.ex.Du kan besöka min hemsida fö...

Nybörjare 123D krets Arduino kontroll servon

Detta är en kort instruktion om använder 123D kretsar för att ställa in en Arduino med några potentiometrar och som styr placeringen av servon.Steg 1: inställningarSkapa ett konto på 123d.circuits.io/Liksom de flesta hemsida nu är det enkelt att länk...

Hemgjord Lizylotte Robot Arm Robotic Draw med Arduino kontroll

Hemgjord Lizylotte robotarm Robotic Rita Arduino kontroll DIY Laser gravyr Frame 3D-skrivare PlotterMaterial:1 st 57 mm Stepper motor 1,8 grader ta från gamla kopieringsapparat1 st 42 mm Stepper motor 1,8 grader ta från gamla kopieringsapparat2 st FL...

Arduino Mega 8 x 8 x 8 RGB LED Cube

"Så du vill bygga en 8 x 8 x 8 RGB LED Cube"Jag har spelat runt med elektronik och Arduinos ett tag nu, inklusive bygga en hög amp switch controller för min bil och en sex körfält Pinewood Derby domare för våra scouter grupp.Jag var så fascinera...

Kontroll RGB lysdioder med en handrörelse.

IntroduktionVi var välkomna att hjälpa till vid våra lokala grundskolan STEM natt och behövde en cool demonstration, med lite tid att förbereda.Så, vi tittade igenom tech vi hade liggandes, och kom upp med idén att använda den LeapMotion handen track...

CPU-fläkten hacka - RGB lysdioder - Arduino & TLC5940

I detta Instructable, jag kommer att vägleda dig genom processen att hacka och konvertera en tydlig, 120 mm PWM fläkt används gemensamt hushåll datorer från en enda färg LED till individuellt adresserbara RGB lysdioder. Tillämpningar av detta hack är...

Chalieplexing 4 RGB-lysdioder med 4 trådar på Arduino

Har du alla behov många lysdioder, men bara några sladdar? Då är Charlieplexing en stor sak att prova. Med bara 4 trådar kan du köra 12 ledde med endast 4 motstånd som ett extra skydd och utan någon "informationsövertag" komponent som en 74595 e...

Färg kalibrera RGB lysdioder med en Arduino

De flesta människor tror lysdioder och Arduinos relationerna avslutas med ett ögonblick skiss. Därefter måste du gå mot motorer, smarta hem och andra "allvarliga" saker. Tja, kanske jag är långsam eller kanske är det bara att jag är en grafisk k...

Låg höjd miljöövervakning med en Arduino baserade väder Instrument och Aeropod Remote Sensing plattform

ProjektöversiktStudenter på New Lothrop High School i Michigan har arbetat tillsammans för att bygga en plattform för remote sensing låg höjd som kallas en "Aeropod" och rummen har det med ett "Arduino" baserade väder instrument att sa...

Arduino Mega GPS med LCD och SD loggning

Använd din Audino Mega som en GPS logger med tydlig LCD display och 5 funktionsknappar. En bi-färg LED används för att ange statusinformation.SDcard kan vara kvar i och läsa med en kort läsaren skiss, med utgång till den seriella Monitor.Detta instru...

Arduino solar storma controller + effektreglering och data loggning online med Xbee WiFi

För ett tag sedan jag började arbeta på en sol laddningsregulatorn, det var baserat på en PIC mikrokontroller, en 20 x 4 tecken display och koden är skriven i assembler. Det fungerade bra och arbetade fortfarande när jag bestämde mig att lägga mer ti...

Polisens blixtljus med scanner rgb lysdioder och Arduino

Det är inte en riktig blixt mönster som används av polisen.Bara några öglor programmeras av mig att demonstrera några möjligheter.DISCLAIMER:JAG ÄR INTE ANSVARIGA FÖR ÅTGÄRDER ELLER KONSEKVENSER NÄR DET GÄLLER DENNA TUTORIAL.Använd det endast inomhus...

Skicka SMS från Arduino över Internet med ENC28J60 och Thingspeak

Detta Instructable förklarar hur du skickar ett SMS från en Arduino använder Internet. Det finns många sätt att närma sig detta och jag kommer att förklara ett av de olika metoder som används för att utföra denna uppgift.Några viktiga punkter som beh...

Ambilight för icke påverkbar RGB lysdioder [använder Arduino]

Först av allt.. Om du inte vet vad Ambilgiht är Check Ambilgiht PhillipsKolla in min andra tutorial om du inte har en arduino TUTeftersom det är samma rgb ledde och samma 3 transistorer som jag använt tidigare varför lägger arduino att fungera?Svaret...