Arduino und IR-Fernbedienung

OP #4988647
Hallo ich habe an meinem Arduino einen IR-Empfänger angeschlossen.
Mit diesem Code geht die interne LED auch an.
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 58016)   //Bei "58016"
       {digitalWrite (13, HIGH);}   //soll die LED an gehen.
       irrecv.resume();
      }
Ich möchte aber die LED nur solange anlassen, wie ich auf die Taste 
drücke.
Leider wird der Wert "58016" nur einmal gesendet. Dann kommen nur noch 
"Füllbits ?" . Wie kann man das Problem möglichst elegant lösen, damit 
die LED beim loslassen der Taste auch wieder ausgeht?
Ich verstehe auch nicht, was "irrecv.resume();" genau bewirkt. Das 
Einlesen und dekodieren passiert ja schon in der 1. Zeile. Ich wäre für 
Hinweise dankbar.
(Firma: Potilatormanufaktur) #4988663
Klaus M. schrieb:
> Leider wird der Wert "58016" nur einmal gesendet. Dann kommen nur noch
> "Füllbits ?" .

Damit wird unterscheiden, ob man eine Taste ganz oft hintereinander 
drückt oder ob man sie gedrückt hält.

> Wie kann man das Problem möglichst elegant lösen, damit
> die LED beim loslassen der Taste auch wieder ausgeht?

Verstehe ich nicht ganz. Du merkst doch, wenn nichts mehr ankommt.
OP #4988684
Md M. schrieb:
> Verstehe ich nicht ganz. Du merkst doch, wenn nichts mehr ankommt.

Ja, man sieht es ja im ser. Monitor. Wenn aber nichts mehr ankommt kann 
man ja auch nichts dekodieren ((irrecv.decode(&results)). Der 
Einschaltcode wird eben nur einmal gesendet und dann kommt immer das 
gleiche. Ich stelle mir das so vor: Wenn 58016 empfangen wird, schalte 
die LED ein bis nichts mehr empfangen wird. Daran scheitere ich 
momentan. Dies soll auch nur ein Test sein, da später mehrere Ausgänge 
auf die gleiche Weise geschaltet werden sollen. Ich hoffe, ich drücke 
mich einigermaßen verständlich aus.
Gast #4989295
Von dem Code der IR-Fernbedienung hast du keine Ahnung,
von dem Code zur Dekodierung hast du keine Ahnung,
und genannt hast du uns beide nicht.

Sollte ein Glücksfall sein, wenn du jetzt weiterkommst.

Aber im Märchen ist das Glück oft auf Seiten der
Unbedarften... ;-)
Gast #4989429
Dafür ist Arduino ja gemacht, und für Leute die nicht an einem 
Nachmittag einen TCPip Stack und eine komplette GLCD Library fehlerfrei 
in Assembler schreiben können ;-)


mfg
Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.