WS2812B Strip mit Schalter Ein und Aus schalten
|
10.03.2020, 16:16
(Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2020 22:50 von TimoGoGoGo.)
Beitrag #1
|
|||
|
|||
WS2812B Strip mit Schalter Ein und Aus schalten
Hallo zusammen. Ich habe einen kleinen Sketch der per Tastendruck verschiedene Farben am Strip auswählt. So weit so gut. Ich hätte aber gern einen zweiten Taster, der den Strip ausschaltet (Licht aus) wenn er gedrückt wird. Wenn man den Taster wieder loslässt soll der Strip wieder leuchten.
Ich würde es gerne wie eine Taschenlampe zum Lightpainting benutzen. Also quasi mit dem einen Taster die Farben auswählen und mit dem anderen Taster das Licht Ein/Aus schalten. Leider habe ich nicht wirklich Ahnung davon. Einfach Ein und Ausschalten bringt ja nichts, da der IC dann kein Strom mehr hat. Über jede Hilfe wäre ich dankbar. DANKE im Voraus. LG, Timo Code: #include "FastLED.h" |
|||
10.03.2020, 16:19
Beitrag #2
|
|||
|
|||
RE: WS2812B Stip mit Schalter Ein und Aus schalten
Stelle Deinen Sketch bitte in Codetags.
Wie das geht, steht hier. Das kannst Du auch noch nachträglich ändern. Bei dieser Gelegenheit kannst Du ihn auch gleich ordentlich formatieren (<Strg>+T in der IDE hilft Dir dabei). Dann ist er besser lesbar. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
10.03.2020, 22:28
(Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2020 23:00 von Bitklopfer.)
Beitrag #3
|
|||
|
|||
RE: WS2812B Strip mit Schalter Ein und Aus schalten
Dein Problem ist, dass die LED im Stripe sequentiell ihre Werte durchgereicht bekommen.
D.h. Wenn Du alle ausmachen willst, musst Du alle auf Schwarz setzen oder clear() benutzen. Dann ist die Info in den LED aber weg und Du musst sie hinterher wieder neu füllen. Bei der Neopixel-Lib ist das etwas problematisch. Wenn Du mit FastLed arbeiten würdest, wäre es einfacher, da Du dort den direkten Zugriff auf das LED-Array hast und das über die schnelle memcpy-Funkktion umkopieren könntest. Bei 5 LED sollte der Speicheraufwand für 3 LED-Arrays (Aus, gespeicherter letzter Stand, aktueller Stand) in Grenzen bleiben. Das mal als Ansatz. Mein Vorschlag wäre: Schreibe Deinen Sketch auf FastLed um, lerne einen Taster einzulesen und dann können wir uns um das Ausschalten kümmern. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
10.03.2020, 22:53
(Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2020 23:00 von Bitklopfer.)
Beitrag #4
|
|||
|
|||
RE: WS2812B Strip mit Schalter Ein und Aus schalten
(10.03.2020 22:28)Tommy56 schrieb: Dein Problem ist, dass die LED im Stripe sequentiell ihre Werte durchgereicht bekommen. Hallo Tommy Danke für die schnelle Antwort. Auf FastLed konnte ich es schnell umbauen. Aber das mit der Memcopy Funktion ist ??? für mich. Danke und Gruß, Timo |
|||
10.03.2020, 23:05
Beitrag #5
|
|||
|
|||
RE: WS2812B Strip mit Schalter Ein und Aus schalten
Zeige mal Deinen Sketch mit Fastled, dann klären wir den Rest.
Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
10.03.2020, 23:23
Beitrag #6
|
|||
|
|||
RE: WS2812B Strip mit Schalter Ein und Aus schalten
(10.03.2020 23:05)Tommy56 schrieb: Zeige mal Deinen Sketch mit Fastled, dann klären wir den Rest. Hi. Habe den Text Editiert. Sollte als Code sichtbar sein. LG, Code: #include "FastLED.h" |
|||
11.03.2020, 12:06
(Dieser Beitrag wurde zuletzt bearbeitet: 11.03.2020 12:08 von Tommy56.)
Beitrag #7
|
|||
|
|||
RE: WS2812B Strip mit Schalter Ein und Aus schalten
Code: #define NUM_LEDS 5 Entscheidend ist das Sichern und Zurückspielen der Inhalte. Damit ist es egal, wie die Inhalte erzeugt wurden. Gruß Tommy Edit: Wenn Du allen LEDs die gleiche Farbe zuordnen willst, schau Dir mal showColor() an. "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
12.03.2020, 18:22
Beitrag #8
|
|||
|
|||
RE: WS2812B Strip mit Schalter Ein und Aus schalten
(11.03.2020 12:06)Tommy56 schrieb: Hallo Tommy Danke für die Hilfe. Aber irgendwie bekomme ich es nicht hin. Ich habe jetzt einen weiteren Button hinzugefügt. Mir ist aber leider nicht klar, wie und wo ich das memcpy einsetzten muss. void an und aus muss ja irgendwie mit dem Button abgefragt werden... Könntest du mir hier nochmal helfen ?. Danke. Code: #include "FastLED.h" |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste