Hallo, ich möchte das IR Signal einer Fernbedienung aufzeichnen. Es wird mit einem Tsop empfangen und an einen ATMEGA32 geleitet. Ich dachte mir folgendes: Ich initialisiere ein sehr großes Array. Über einen Interrupt, der ausgelöst wird, wenn das erste Signal vom TSOP kommt, lege ich eine Variable auf einen bestimmten Wert. Diese sorgt dafür, dass in einem Timer das Signal vom TSOP abgefragt wird, liegt eine 0 an, schreibt er eine '1' ins Array, bei einer 1 eine '0' (weil vom TSOP invertiert). Der Timer hat einen Vorteiler, dass er etwa 5 mal so schnell ist, wie die Frequenz des IR Signals. Nach einer gewissen Zeit lasse ich mir über ein Display die Werte ausgeben, im Sinne von: 1: 1111100000 2: 0000000000 3: 1111111111 4: 1111100000 Am besten übersetze ich das ganze noch ins Hexadezimale. Macht es Sinn, das ganze so zu machen? Oder gibt es bessere Wege? Kann man überhaupt ein zb. 1000er Array anlegen? Was haltet ihr von der Idee? Mfg
Leonard schrieb: > ich möchte das IR Signal einer Fernbedienung aufzeichnen. Du kannst Dir ja mal ansehen, wie das die Leute vom IRMP-Projekt gelöst haben. Gruss Harald
Leonard schrieb: > Was haltet ihr von der Idee? Nix. * vom TSOP kriegst du schon ein Signal, welches von der Trägerfrequenz befreit wurde. * Alles was du machen musst, ist die Zeitdauer zwischen den steigenden und fallenden Flanken zu messen. Deine 1000 Einträge schrumpfen massiv zusammen. (Rechne dir doch mal aus, für welchen Zeitraum dein 1000-er Array bei deiner Idee ausreichen würde)
Karl Heinz Buchegger schrieb: > * vom TSOP kriegst du schon ein Signal, welches von der Trägerfrequenz > befreit wurde. Trägerfrequenz im Sinne von Manchester-codiert? > * Alles was du machen musst, ist die Zeitdauer zwischen den steigenden > und fallenden Flanken zu messen. > Deine 1000 Einträge schrumpfen massiv zusammen. Also meinst du, dass mein Array dann zb so aussieht (Zahlen nicht real)?: 1523, 3046, 3046, 4569, 1523, etc. Also 1523 Zyklen auf 1, 3046 Zyklen auf 0, etc. Das würde natürlich mehr Sinn machen, da hast du Recht!
Leonard schrieb: > Karl Heinz Buchegger schrieb: >> * vom TSOP kriegst du schon ein Signal, welches von der Trägerfrequenz >> befreit wurde. > > Trägerfrequenz im Sinne von Manchester-codiert? Trägerfrequenz im Sinne von 38kHz, auf die das Nutzsignal aufmoduliert wurde. > Also meinst du, dass mein Array dann zb so aussieht (Zahlen nicht > real)?: > 1523, 3046, 3046, 4569, 1523, etc. Genau. Oder um bei deinem Beispiel weiter oben zu bleiben > 1: 1111100000 > 2: 0000000000 > 3: 1111111111 > 4: 1111100000 5 15 15 5 4 Zahlen versus 40. Nicht schlecht.
Leonard schrieb: > Trägerfrequenz im Sinne von Manchester-codiert? Nein. Um Störeinflüsse der Umwelt auszuschalten ist das Signal moduliert. Das heisst, die Pulse werden mit einer Trägerfrequenz (i.d.R. 30-40kHz) "gemischt". Diese Trägerfrequenz filtert der TSOP raus und Du bekommst das reine IR-Signal. Wenn Du das Signal aber wieder reproduzieren willst, musst Du das Signal beim Senden wieder modulieren. Die Info hast Du aber nicht mehr, weil Du nicht weisst, welches Protokoll da genutzt wird. Du kannst das bei diversen Geräten aber durch Ausprobieren herausfinden. Je näher die Trägerfrequenz am Original, desto besser wird die Reichweite. Schau Dir mal den Artikel: http://www.mikrocontroller.net/articles/IRMP an, insbesondere: http://www.mikrocontroller.net/articles/IRMP#Die_IR-Protokolle_im_Detail Mit IRMP kannst Du ein Fernbedienungs-Signal dekodieren. Die Information schrumpft dabei auf 5 Bytes zusammen, nämlich: - Protokoll - Adresse - Kommando Mit dem IRSND-Modul (dem Gegenstück von IRMP) kannst Du das Signal wieder reproduzieren, indem Du diesem genau diese 3 Parameter angibst. Da IRSND die Trägerfrequenzen der einzelnen Protokolle kennt, ist die Modulation hier auch kein Problem. Gruß, Frank
Ok, vielen Dank! Ihr habt mir wirklich weitergeholfen! Ich denke, so lässt es sich doch um einiges besser arbeiten, als mit meiner Idee. :) Herzlichen Dank nochmal! Gruß, Leonard
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.