Go Down

Topic: Neopixels und IR Control (Read 183 times) previous topic - next topic

alex774463

Hallo Leute,

Ich habe ein komisches Problem und hoffe jemand kann mir helfen. Und zwar:

Möchte ich meine Neopixels mit meiner Fernseher Fernbedienung steuern. Das hat auch geklappt jedoch schaffe ich es nicht ein Effekt zu unterbrechen. Bei Tastendruck startet der erste Effekt, danach werden weitere Infarot Signale ignoriert.

Das ganze habe ich mit einem Taster probiert als Interrupt, hier wechselt der Arduino die Effekte wie gewünscht.

Währe für jede Hilfe sehr dankbar!!

Tommy56

WS2812B sperren während der Übertragung zum Strip (show()) alle Interrupts. Deshalb kann dann kein IR mehr empfangen werden.

Abhilfemöglichkeiten:

1. Andere LED (APA102 mit getrennter Takt und Datenleitung)
2. 2. MC zur IR-Empfang

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

postmaster-ino

Hi

Dein Problem besteht weiter darin, daß Du die aufgerufene Blinkerei erst fertig abarbeiten musst - Das sind unter Anderem FOR-Schleifen und mit delay() wird auch nicht gespart.
Während der Blinkerei wird, außerhalb von .show() schon auf Deine IR-Fernbedienung reagiert - aber gefangen in der Blinkerei wird Das frühestens ausgewertet, wenn Du Damit fertig bist und wieder in loop() vorbei kommst.

Das kann man entflechten - braucht dann aber eine Lauf-Variable und macht bei jedem Aufruf bestenfalls den nächsten Schritt - oder eben Nichts (wenn die Zeit noch nicht gekommen ist).
Nach dem Strickmuster der Nachtwächter-Erklärung (Suche hier im Forum) oder dem Beispiel Blink_without_delay aus der IDE.

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

Go Up