Kürzlich habe ich eine Matrix bestehend aus WS2812b LED’s in die Hände bekommen. Das tolle an diesen LED’s ist das diese zum einen RGB sind, über 1. einzigen Datenpin ansteurbar und vorallem auch kaskadierbar sind. So lässt sich eine Matrix bestehend aus 64 dieser LED’s mit einem einzigen Datenpin komplett steuern, samt allen 3 Farbkomponenten. Die Ansteuerung mit der Adafruit Library und einem Arduino funktionierte auf anhieb. Jedoch ist der Arduino und eine fixfertige Library nicht das was ich will. Vorallem mit dem Gedanken die LED’s einzeln später in eigenen Projekten zu verwenden. Eigene Software musste her.
Mit meiner normalen Hardware auf Basis von einem Atmega 8 habe ich das Protokoll bisher noch nicht sauber hinbekommen. Die Ausführungsgeschwindigkeit ist mit C und dem Atmega 8 einfach zu langsam um das Protokoll in Software generieren zu können.
Ich habe deshalb als erstmalige Abhilfe das ganze auf Basis von einem STM32F103C8T6 aufgebaut. Dieser arbeitet im Endeffekt mit 72Mhz, 4.5x so schnell wie der Atmega, rein vom Takt her gesehen! Damit ist es problemlos auf primitivste Weise möglich das Protokoll für die Dinger sauber zu generieren. Damit habe ich mir eine kleine Library zusammengeschustert mit welcher ich die LED’s mit den drei Farbkomponenten steuern kann.