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
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
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 ;)
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.
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...
Aber wenn ich jetzt nur zu gewissen Zeitpunkten den Eingang abfrage, woher weiß ich ob in der zwischenzeit nicht ein weiters Bit angekommen ist?
Schau dir mal die LIRC library an. Die nutzt pulse/space Zeiten. Mit dem schon genannten TSOP kannst bekommst du genau das Gewünschte.
> 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
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.
Hab gerade gemerkt das Lirc für Linux gedacht ist, wie kann ich das für Windows verwenden?
Gibts nen Windows Port für: http://www.google.de/#hl=de&q=windows+xp+lirc+&meta=&fp=50b5c6b9e6832fab
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.