Bitars banka steg för steg: Arduino kontroll av WS2811, WS2812 och WS2812B RGB lysdioder
--
Ö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