- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: Implementierung für IR-Fernbedienung mit Philips-RC6-Code

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer
    Registriert seit
    24.01.2008
    Ort
    Münster
    Beiträge
    1

    Implementierung für IR-Fernbedienung mit Philips-RC6-Code

    Nach dem Zusammenbau meines Asuro stellten sich Schwierigkeiten mit der Nutzung der RC5-Library-Unterstützung ein.
    Die Routine zum Einlesen erkannte einfach keine IR-Kommandos - wie sich später herausstellen sollte, eine unglückliche
    Verkettung von "leeren Akkus"und falschen Gerätecodes auf der Unsiversal-Fernbedienung. Um die genaue Ursache
    zu finden wurde daraufhin ein Programm zur Aufzeichnung der IR-Signale geschrieben. Nach Fertigstellung des
    Programms konnten die vorgenannten Probleme dann auch behoben werden.

    Das Programm wurde nochmal etwas modifiziert, um jetzt auch RC6-Signale aufzuzeichnen.
    Somit wäre hiermit m.E. eine gute Ausgangsbasis für eine RC6-Implementierung geschaffen.

    Fragen an dieser Stelle:
    - Hat jemand bereits einen Algorithmus für RC6 implementiert?
    - Hätte jemand Interesse an einer RC6-Implementierung?

    Nachfolgend noch einige Infos zum IR-Signalaufzeichnungsprogramm (finden sich aber alle auch im Programm).

    Insgesamt werden 6144 Signale aufgezeichnet.

    Wichtig ist zunächst das Eintragen der eigenen (zusätzlichen) Interrupt-Service-Routine (ISR) in "asuro.c":

    SIGNAL (SIG_OVERFLOW2)
    {
    ...
    /* %8 = 222.2us; %4 = 111.1 us */
    if (!(count36kHz % 4))
    IsrRCTest();
    }

    Je nach Teiler kann man jetzt RC5- oder RC6-Signalcodes aufzeichnen:
    - 222.2us [!(count36kHz % 8 ) für RC5]
    - 111.1us [!(count36kHz % 4 ) für RC6]

    Bei jedem Aufruf der ISR wird der Flankenwert gespeichert:
    - Datenspeicher = 768 Byte
    - Flankenwert = 0 oder 1
    - Anzahl Aufrufe bzw. Flankenwerte = 768 * 8 = 6144 Bit
    - 6144 * 222.2us = 1365196.8us = 1365.2ms = 1.36s
    oder
    - 6144 * 111.1us = 682598.4us = 682.6ms = 0.68s

    Speicherung der Flankenwerte in fd[] (Beispiele):
    - Der erste Flankenwert wird in Bit 7 von fd[0] gespeichert.
    - Der zehnte Flankenwert wird in Bit 6 von fd[1] gespeichert.

    Zu benutzen ist das Ganze dann wie folgt:
    - Fernbedienung direkt ueber den IR-Empfaenger des Asuro halten
    - z.B. Taste "7" dauerhaft druecken
    - Asuro einschalten
    - Ergebnis mit Terminalprogramm empfangen

    Einen aufgezeichneten (und analysierten) RC6-Code findet sich im Kommentar des Programmes. Ebenso viele Informationen zum Aufbau von RC5 und RC6.
    M.E. wäre dies eine gute Basis für eine algorithmischen RC6-Dekodier-Routine.
    Angehängte Dateien Angehängte Dateien

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test