Forum: Mikrocontroller und Digitale Elektronik Beliebiges IR Signal aufzeichnen


von Kurt H (Gast)


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

von ozo (Gast)


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

von ozo (Gast)


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 ;)

von Kurt H (Gast)


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.

von ozo (Gast)


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...

von Kurt H (Gast)


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?

von ozo (Gast)


Lesenswert?

Schneller sein als die Bits!

von Manuel (Gast)


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.

von MaWin (Gast)


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

von Kurt H (Gast)


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.

von Kurt H (Gast)


Lesenswert?

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

von ozo (Gast)


Lesenswert?


von Kurt H (Gast)


Lesenswert?

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

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.