Hallo, der Artikel hier im Wiki ist schon etwas älter. Des weiteren habe ich so auf Anhieb keine Lib in C/C++ gefunden für die Atmels. Ich möchte gerne WS2812B ansteuern. Das ganze soll wenn möglich aber nicht den MCU ausbremsen wie auf den AVRs. Geplant sind ca 200 Leds. Gibt es eine gute Lösung, die das nebenbei in Hardware lösen kann?
Meier schrieb: > Gibt es eine gute Lösung, die das nebenbei in Hardware lösen kann? Ein zweiter AVR, Tiny85 oder so, der sich nur um die WS2812 kümmert?
Ich denke du musst dich entscheiden was du willst. Entweder deinen ATSAM benutzen und das Programm selber schreiben wenn du nichts findest, oder du musst deine Vorstellungen bzw. des uC an das anpassen was du dir irgendwoher kopieren kannst. Die Welt wartet bestimmt nicht darauf genau dein Problem so zu lösen wie es dir am besten passt.
Hallo Meier, genau die gleiche Sache möchte ich auch hinbekommen, scheitere aber momentan an der Geschwindigkeit der WS2812B. Hast Du es hinbekommen? Gruß EnochRoot
Hallo ThomasF, habe den ATSAM3U4C im Einsatz. Die PWM oder den SPI mit 800kHz Taktfrequenz laufen zu lassen ist kein großes Problem. Mein Problem besteht in der Änderung des Duty-Cycles (PWM) bzw. der SPI-Daten. Sobald ich das ganze mit 800kHz laufen lasse und dann während der Laufzeit die Datenausgabe ändere, kommt mein Controller nicht mehr hinterher. Momentan läuft alles ohne DMA, da ich das noch nie gemacht habe. Gruß EnochRoot
Hallo Andreas H. ich benutze leider nur den ATSAMD21 und ATSAMD51. Im Anhang ist der Code für den ATSAMD51 der über die SPI die WS Daten generiert. Über die SPI sollte das auch mit dem ATSAM3U4C funktionieren. Funktion: Beim D51 ist es möglich 4 Bytes auf einmal der SPI zu übergeben in den 4 Bytes ist ein WS Byte codiert. 4 Bit == ein WS Bit (Low 0b1000 High 0b1110) @ 3,2MHz Interrupt gesteuert wird immer 1 RGB Byte über eine Tabelle in 4 WS Bytes gewandelt und gesendet. Beim ATSAM3U4C könnte man das Verfahren auf 2 * 16Bit übertragen. Interrupt Routine und Tabelle müsste man anpassen. Beim ATSAMD51@120MHz werden ca.3% CPU Leistung verbraucht. Beim ATSAM3U4C@96MHz schätze ich mal ca.10% Gruß Thomas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.