Hallo allerseits, Ich arbeite zur Zeit mit ein paar Freunden an einem Arduino-Projekt für unser Orientierungsemester. Unser Plan ist es einen LED-Globus zu programmieren. Dazu haben wir den Tipp bekommen, LEDs vom Typ "WS2812B" (https://www.amazon.de/WS2812-Stripe-integrierten-Controller-schwarz/dp/B00H3IX1NK/ref=sr_1_12?ie=UTF8&qid=1497614497&sr=8-12&keywords=ws2812b) zu benutzen. Diese müssen wir allerdings in sehr kurzen Intervallen einzeln ansteuern, um einen Effekt zu erzielen und sind uns jetzt unsicher, ob dies bereits mit den integrierten Controllern in den LEDs möglich ist oder wir einen weiteren Controller zwischenschalten müssen. Nach kurzer Recherche stieß ich auf dieses Bauteil: http://www.led-genial.de/DIGI-DOT-Booster-WS2812-und-SK6812-ueber-SPI-Schnittstelle-ansteuern Meine Frage ist nun also, ob das der richtige Weg ist, und wenn nicht, wie wir unser Projekt stattdessen verwirklichen können? LG Adrian
Adrian B. schrieb: > Diese müssen wir allerdings in sehr kurzen Intervallen einzeln > ansteuern Das beinhaltet absolut keine Aussage... Adrian B. schrieb: > Meine Frage ist nun also, ob das der richtige Weg ist, Ja, und nein. Adrian B. schrieb: > wie wir unser Projekt stattdessen verwirklichen können? Kannst du dazu etwas präziser werden?
:
Bearbeitet durch User
Danke für die schnelle Antwort! Natürlich kann ich das: Um den Lichtglobus verwirklichen zu können, muss sich eine Plexiglasscheibe mit 20 LEDs an der Kante mit 24 Hz drehen. Die LEDs bekommen während einer Umdrehung jeweils 52-mal die Anweisung, welchen Zustand sie haben sollen. Das wären dann 1040 Anweisungen pro Umdrehung und 24960 pro Sekunde bei 20 LEDs. Damit dies funktioniert muss jede LED einzeln angesteuert werden können, weil es ja keinen Sinn ergibt, alle gleichzeitig an- und auszuschalten. Hier ein Beispiel, wie es aussehen könnte: https://www.youtube.com/watch?v=uFFECeyhBxY Meine Frage ist es also, ob das mit einem LED-Streifen vom Typ "WS2812B" funktioniert oder ob ich noch einen Controller zwischen die LEDs und den Arduino schalten muss?
Hi Dachte, Das wird, normal, mit einer Matrix gemacht ... Multiplexen und so. Die WS2812 sind LEDs mit integriertem µC. Dieser lauscht am Din, nimmt sich die erst beste Information und schaltet dann auf 'Durchgang'. Wenn an Din 'so und so lange' keine neuen Daten mehr ankommen (meine 50ns gelesen zu haben), wird die mitgelesene Information an die LED weiter gegeben. Sofern Ihr nicht so schnell mit dem Morse-Finger seid, wäre ein Sende-µC notwendig - ein µC, Der die Informationen zu ALLEN LEDs in die Reihe reinschiebt, die Pause zur Übernahme macht und bei Bedarf neue Informationen für den Stripe bereit hält. Bis auf das Timing sollten sich keine größeren Probleme auftun. MfG PS: Ok, Globus ist wohl doch was Anderes, als Cube ;)
:
Bearbeitet durch User
Wenn der Globus sich mit 24Hz dreht sind das 40ms für eine Umdrehung. Die erforderliche Pause die Daten zu "latchen" sind 50us. Also ist die Pause ein Tausendstel der Umdrehungen, das ist schon mal ok. Der zweite Teil, eine Streifen zu übertragen dauert 20x 1.25us x 24 = 600us. Das ist rund ein Hunderstel der Umdrehung, genau 66.6 Pixel pro Umdrehung. Wenn man maximal die Hälfte der Kugel sieht sind das 30 Pixel Breite, 20 Pixel Höhe. Also vom Timing her grundsätzlich machbar. Zur Ansteuerung reicht ein Arduino, je nachdem wie aufwändig die Bilder erzeugt/ berechnet werden soll. Aber einfachere Motive schaffen die Standard Arduinos schon.
Vergesst die WS2812 für POV-Anwendungen! Die LEDs selbst arbeiten intern mit einer recht bescheidenen PWM-Frequenz von ca. 400 Hz, das ist viel zu wenig. Besser sind "APA102", die haben eine PWM-Frequenz von einigen kHz und sind auch leichter per SPI anzusteuern.
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.