Forum: Mikrocontroller und Digitale Elektronik IR Codes von RGB LED Stripes Fernbedienung


von Lokus P. (derschatten)


Lesenswert?

Ich habe hier eine LED-Stripes Fernbedienung mit 24-Tasten die ich gerne 
zum Ansteuern für das IRMP verwenden möchte.

Hat vielleicht jemand zufällig die IR-Codes für die Tasten 
herausgefunden und könnte sie mir mitteilen?

Ich gehe mal davon aus das die Fernbedienung das NEC Protokoll 
verwendet.

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Lokus Pokus schrieb:
> Hat vielleicht jemand zufällig die IR-Codes für die Tasten
> herausgefunden und könnte sie mir mitteilen?

Wie sollen wir denn die Codes für deine Fernbedienung herausgefunden 
haben? Meiner Erfahrung nach wird gerade bei den LED Stripes das 
eingepackt, was gerade verfügbar ist.

Lokus Pokus schrieb:
> die ich gerne
> zum Ansteuern für das IRMP verwenden möchte.

Nutze doch einfach IRMP, um die Codes herauszufinden?

Lokus Pokus schrieb:
> Ich gehe mal davon aus das die Fernbedienung das NEC Protokoll
> verwendet.

Auch darüber gibt dir IRMP eine Auskunft. Aktiviere in einem Testaufbau 
einfach mal alle (so viele wie möglich) Protokolle, und schaue was IRMP 
so zurück liefert.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Lokus P. (derschatten)


Lesenswert?

Ok, ich war der Meinung das die alle so ziemlich die gleichen Codes 
nutzen.

"was IRMP so zurück liefert." gut und schön, nur wie und wo lese ich das 
aus was da geliefert wird?

Wenn ich IRMP_USE_CALLBACK aktiviere, sehe ich zumindest das sich beim 
Drücken der Tasten etwas tut, da die LED dazu flackert.

IRMP_LOGGING kann ich zwar aktivieren, aber was weiter?

von Karol B. (johnpatcher)


Lesenswert?

Lokus Pokus schrieb:
> "was IRMP so zurück liefert." gut und schön, nur wie und wo lese ich das
> aus was da geliefert wird?

irmp_get_data() befüllt ja da deine IRMP Struktur, sobald es etwas 
detektiert hat. Lass dir diese Werte einfach irgendwo ausgeben, je nach 
Voraussetzung per UART oder auf einem LCD.

Lokus Pokus schrieb:
> Wenn ich IRMP_USE_CALLBACK aktiviere, sehe ich zumindest das sich beim
> Drücken der Tasten etwas tut, da die LED dazu flackert.

Callbacks brauchst du dafür nicht. IRMP_PROTOCOL_NAMES könnte nützlich 
sein, es geht aber auch ohne, wenn du einfach per manuell nachschaust 
welcher Wert zu welchem Protokoll gehört.

Mit freundlichen Grüßen,
Karol Babioch

von Lokus P. (derschatten)


Lesenswert?

>Lass dir diese Werte einfach irgendwo ausgeben, je nach
>Voraussetzung per UART oder auf einem LCD.

Genau davon hab ich keinen blassen Schimmer, wie ich das machen soll.
Zudem habe ich noch nicht herausgefunden auf welchen beiden PIN's der 
UART ausgibt.

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Lokus Pokus schrieb:
> Genau davon hab ich keinen blassen Schimmer, wie ich das machen soll.

Dann musst du das eben lernen. Oder wie hast du dir das sonst 
vorgestellt? Schau dir einfach mal main.c innerhalb des IRMP Pakets an, 
das ist eine Beispielanwendung, die du nutzen könntest.

Lokus Pokus schrieb:
> Zudem habe ich noch nicht herausgefunden auf welchen beiden PIN's der
> UART ausgibt.

Das steht im Datenblatt. Von welchem Mikrocontroller sprechen wir denn 
hier überhaupt?

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Lokus P. (derschatten)


Lesenswert?

Ein ATtiny44

von Karol B. (johnpatcher)


Lesenswert?

Lokus Pokus schrieb:
> Ein ATtiny44

Falls deine Suchmachine nicht richtig funktioniert: 
http://www.atmel.com/devices/attiny44.aspx

Ist allerdings nicht die beste Voraussetzung, da UART direkt in Hardware 
nicht unterstützt wird. Musst du also in Software und mittels 
Bit-Banging implementieren. Für einen Anfänger vielleicht etwas zu viel 
des Guten. Halte also Ausschau nach einer fertigen Bibliothek. Findest 
du hier im Forum bzw. Wiki zu genüge.

Um das Einlesen bzw. Einarbeiten in die Thematik wirst du aber so oder 
so nicht herum kommen - außer vielleicht, du bezahlst jemanden dafür ;). 
Das Forum bietet Hilfe zur Selbsthilfe und nicht fertige Lösungen zum 
Abstauben.

Mit freundlichen Grüßen,
Karol Babioch

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Du kannst die FB mit IRMP auch "anlernen", d.h. die empfangenen Codes 
beim ersten mal im EEPROM speichern. Wenn Du die Codes dann später 
wieder empfängst, kannst Du sie mit dem EEPROM abgleichen und dann die 
entsprechende Aktion durchführen.

Und nein, ich werde Dir das dafür nötige Programm hier nicht vorkauen.

von Lokus P. (derschatten)


Lesenswert?

Vergleichen wäre da ja nicht unbedingt erforderlich, oder? Kann ich den 
Code der dann gespeichert wird nicht gleich für das Programm hernehmen? 
Oder ist das dann eine langes Bitmuster das erst mal aufgeschlüsselt 
werden muß?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Lokus Pokus schrieb:
> Vergleichen wäre da ja nicht unbedingt erforderlich, oder?

Wenn Du - egal welche Taste gerdrückt wurde - immer dasselbe ausführen 
willst, dann ist ein Vergleichen nicht notwendig.

> Kann ich den
> Code der dann gespeichert wird nicht gleich für das Programm hernehmen?

Ja, eben, das ist der Trick. Aber Du brauchst für jede Funktionalität 
Deines Programms auch je eine Taste auf der FB. Und die musst Du 
auseinanderhalten.

> Oder ist das dann eine langes Bitmuster das erst mal aufgeschlüsselt
> werden muß?

Nein.

Es steht alles im IRMP-Artikel.
                    ^
                    Hier klicken

Du bekommst als Ergebnis:

Protokollnr:

  Protokoll-Nummer, ein Wert zwischen 1 und 40 (IRMP kennt
  40 Protokolle)

Adresse:

  Das ist die Geräteadresse. Diese ist für ein und dieselbe FB in
  der Regel immer identisch.

Kommando:

  Das ist der Kommando-Code, identifiziert zusammen mit der
  Protokollnr und der Adresse die Taste, die gedrückt wurde

Flags:

  Eine Information, ob das zuletzt empfangene Kommand durch einen
  längeren Tastendruck zustande kam (Repeat-Funktion).

Lies den Artikel und beschäftige Dich mit dem Thema. Sonst wird das 
nichts.

: Bearbeitet durch Moderator
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
Noch kein Account? Hier anmelden.