mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Beliebiges IR Signal aufzeichnen


Autor: Kurt H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich möchte gerne, dass Signale von IR Fernbedienungen, egal ob RC5 oder 
andere Protokolle, aufgezeichnet wird, und dann gespeichert wird. Ich 
habe bis jetzt einen IR Empfänger erfolgreich mit meinem PIC verbunden. 
Das heißt, ich kann mit einem einfachen Programm bei einem beliebigen 
Tastendruck eine LED ein und aus schalten. Jedoch möchte ich nun eben 
zwischen den Tasten unterscheiden. Das habe ich bis jetzt noch nicht 
geschaft, da ich leider doch noch ein Anfänger in Sachen µC bin...
Ich hoffe, es ist alles verständlich.

Mfg

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest das Signal sampeln und dann ablegen.
Ich gehe jetzt mal davon aus, das dein Sensor eine Photodiode ist und 
dir ein kontinuierliches Signal bereit stellt. Dieses kommt an den ADC. 
Dann würde ich mir mit einem Timer ein festes Zeitraster erzeugen und zu 
jedem Tick den aktuellen Wert des ADC's auslesen und ablegen.
Optional kannst du auch noch mehr Hirnschmalz reinleiern und z.B. nur 
die Flankenwechsel+Zeitstempel ablegen. Oder so...

Grüsse

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Upps, hab mich gerade selber überholt. Flankenwechsel erkennen zu wollen 
macht nur wieder bei näherungsweise digitalen Signalen Sinn. Und dann 
kannst du dir auch die ADC sparen. Aber den Ansatz mit Timer kann man da 
auch benutzen.
Paar mehr Infos wären gut ;)

Autor: Kurt H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mein IR Empfänger ist ein TSOP1738. Mein PIC ist ein 18F4550, 
Fernbedienung zum testen, was glaub ich eher unwichtig ist, ist eine 
Medion Universal Fernbedienung.
Weitere Infos fallen mir jetzt leider nicht ein.

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja dann passt das doch. Der TSOP liefert dir laut Datenblatt ein 
digitales Signal. Jetzt hast du zwei (?) unterschiedliche Denkweisen zur 
Auswahl.
1) Die Welt ist diskret und in einem festen Zeitintervall (per Timer 
erzegt) wird jeweils geguckt, was der Sensor ausgibt. Dann aus 
Platzgründen nur die Zeitpunkte der Flankenwechsel ablegen.
2) Hektik! Auf Ereignisse reagieren. Stichwort ist hier, glaube ich, Pin 
Capture/Change Interrupt. Aber ne per Timer Zeitbasis ist auch hierbei 
sinnvoll. Eigentlich fast immer...

Autor: Kurt H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber wenn ich jetzt nur zu gewissen Zeitpunkten den Eingang abfrage, 
woher weiß ich ob in der zwischenzeit nicht ein weiters Bit angekommen 
ist?

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schneller sein als die Bits!

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal die LIRC library an. Die nutzt pulse/space Zeiten. Mit dem 
schon genannten TSOP kannst bekommst du genau das Gewünschte.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> habe bis jetzt einen IR Empfänger erfolgreich mit meinem PIC verbunden.

Einen IR Empfänger.

Was für einen denn ?

Einen demodulierenden wie TSOP1736?

Dann denk kurz mal darüber nache, warum es auch TSOP1730, TSOP1756 und 
(von anderen Hersellern) welche für 72kHz gibt.

Genau, nicht jede IR-Fernbedienung sendet mit demselben 
Modulationsfrequenz.

Du wirst auf demodulierende Empfänger verzichten müssen (und damit deren 
Filterwirkung eggen Tageslicht) und eine Photodiode im 
tageslichtabgeschlossenen Raum direkt von der Sendediode des zu 
analysierenden Signales bescheinen lassen müssen.

Das ist dann aber auch kein Problem, die Diode zusammen mit einem PullUp 
Widerstand direkt an den Eingang eines uC ist alles was du brauchst.

Nur noch das Programm.

Das zeichnet auf, zu welcher Zeit das LIcht anging, und zu welcher aus, 
und das lange genug.

Dann versucht die Software herauszufinden, welches die 
Modulationsfrequenz war, und streicht danach die Modulation aus dem 
Signal.

Dann versucht sie das Bitmuster zu erkennen, ob RECS80, RC5, oder doch 
was herstellereigenes, und in möglichst kurzer Form zu speichern.

http://en.wikipedia.org/wiki/Consumer_IR

 Philips RC5 14 bit standard, 14 bit extended, Traegerfrequenz 36kHz
 Sony Sircs 12 bit, 15 bit, 20 bit, Traegerfrequenz 40 kHz
 Panasonic RECS-80 48 bit, Traegerfrequenz 32kHz

Dabei ist es nützlich, herauszufinden, wo ein Signal anfängt, wo es 
endet, und wann es sich wiederholt, einerseits um abgeschnittene Pakete 
nicht stumpf aufzuzeichnen, andererseits um Fernbedienungen die auf eine 
Taste mehrere verschiedene Codes aussenden richtig zu verstehen, und 
drittens um bei längerem Tastendruck auch selbst das Signal widerholen 
zu können.

Alles in allem ein längeres Programm welches mit ein wenig Intelligenz 
zu würzen ist.

 http://home1.stofanet.dk/hvaba/fprc5rx/
 http://www.web-ee.com/Schematics/Universal%20Remote/upr.htm
 http://www.lochraster.org/unzap/?de

Autor: Kurt H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, das sind ganz schön viel Informationen.
Ich werde jetzt mal die Lirc Library versuchen, dann werd ich eventuel 
mal das mit der Photodiode versuchen.

Autor: Kurt H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab gerade gemerkt das Lirc für Linux gedacht ist, wie kann ich das für 
Windows verwenden?

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Kurt H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, thx. Hätte ich auch selbst finden müssen :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.