--
Overzicht
Wanneer we een microcontroller willen voor verzenden/ontvangen van gegevens naar/van apparaten met behulp van enige vorm van digitale logica, doen we vaak via standaardprotocollen zoals SPI, I2C/TWI, UART, enz. Echter, er komt een moment in het leven van elk ingesloten hardware programmer's waar het is handig of noodzakelijk oprolbare haar mouwen en krukas-out haar eigen protocol. Dit is het geval voor het beheersen van de alomtegenwoordige RGB LED's van WorldSemi: de WS281X-serie.
Opgemerkt moet worden dat er succesvolle pogingen om het SPI-protocol voor het beheersen van deze LED's zijn geweest. Niettemin, gezien de aard van hun communicatie-protocol (hieronder beschreven) Dit is een perfecte setting voor de implementatie van een aangepaste oplossing met behulp van een programmering techniek die bekend staat als bitbanging. Deze techniek maakt het mogelijk om na te bootsen verschillende functies van gespecialiseerde hardware met behulp van software. In dit geval, zullen we ermee een pin van de digitale uitgang op de ATMega328p microcontroller in-/ uitschakelen op zeer nauwkeurige wijze, zodat het digitale signaal gemaakt laat ons toe om aan en uit een 1-door-60-matrix met WS2812 RGB LED's.
Moeilijkheidsgraad: Beginner + (enige vertrouwdheid met Arduino programmering)
Tijd om voltooiing: 15-30 minuten