Liste der Anhänge anzeigen (Anzahl: 1)
Der universelle IR Fernbedienungs-Empfänger
Hallo zusammen,
nachdem hier immer wieder wegen der Infrarot-Fernbedienung gefragt wird, stelle ich mal meinen universellen Empfänger vor.
Das Programm habe ich als Attachment beigefügt und hoffentlich ausreichend kommentiert.
Den Auswertungs-Code für Sony SIRCS habe ich hier auch eingefügt.
Erkannt werden folgende Codes:
Denon
Japan
JVC
NEC
NCR17
RC5
RC6
RCA
RECS80
Sharp
Sharp1
SIRCS
Unbekannt01
Unbekannt02
Ich hoffe, dass das Prinzip klar wird, sodass man sich auch eigene Routinen dazu schreiben kann.
Code:
If Flanken_index = 26 And Imp_array(2) < 26 And Imp_array(2) > 22 And Imp_array(3) > 4 And Imp_array(3) < 8 Then '----------------------------------------------------------------Sony
If Print_pc = 1 Then Print #1 , "SIRCS: Start "
I = 4
While I < Flanken_index
Shift Daten , Right
If Imp_array(i) > 4 And Imp_array(i) < 8 Then
nop
Elseif Imp_array(i) > 9 And Imp_array(i) < 14 Then
Daten.31 = 1
Else
Exit While
End If
Incr I
If Imp_array(i) < 5 Or Imp_array(i) > 7 Then
Exit While
End If
Incr I
Incr Bit_count
Wend
If I >= Flanken_index Then
If Imp_array(i) > 9 And Imp_array(i) < 14 Then
Shift Daten , Right
Daten.31 = 1
Incr Bit_count
End If
Shift Daten , Right , 20
Temp_daten = Daten
Befehl = Temp_daten And &B01111111
Shift Temp_daten , Right , 7
Geraet = Temp_daten And &B00011111
If Print_pc = 1 Then Print #1 , ": Gerät=" ; Geraet ; ", Befehl=" ; Befehl ; ", I=" ; I ; ", Flanken_index=" ; Flanken_index ; ", Daten=" ; Bin(daten)
Gosub Clear_scr
Locate 1 , 1 : Lcd "SIRCS "
Locate 2 , 1 : Lcd "Geraet=" ; Geraet ; ", Befehl=" ; Befehl
End If
End If
Hoffentlich können einige von euch etwas damit anfangen.
Gruß
Rolf
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Rolf,
Danke das Du mir helfen möchtest!
Der code für RC5 lässt sich fehlerfrei compilieren läuft aber nicht !
sobald ich den Sony code inzufüge lässt sich das Programm nicht kompilieren
es rescheinen folgende Fehlermeldungen
Error 211 in line 208 external routine not found
Error 61 in line 208 label not found
Hier mein verwendeter code.
Gruß
Michael
Liste der Anhänge anzeigen (Anzahl: 1)
Sorry, in meinem M128 hatte ich den zweiten USART benutzt, daher die
Print #1, ...
Die müssen bei deinem M8 raus. Habe dir mal so eine Version angehängt.
Probier es mal aus.
Gruß
Rolf
Liste der Anhänge anzeigen (Anzahl: 1)
universeller_fb_empfaenger
Hallo for_ro,
ich versuche ,die von dir erstellte Bascm-Routine für die Erkennung des NEC-Code zum Laufen zu bringen.
Wenn ich die Tasten der NEC-FB betätige dann wird mir der korrekte Code bei 2-,3- manchmal auch bei 4 Betätigungen
der FB angezeigt. Dann geht es nicht weiter, so als ob das Programm hängt. Drücke ich dann eine Taste einer RC5-FB
dann kann ich wieder 2 o. 3 Befehle der NEC-FB auslesen. Könntest du mal über den Code schauen ob ich etwas falsch
gemacht habe. Für was wird die Variable "Zeit" benutzt. Im Code wird sie nur immer um "1" erhöht aber nicht weiter damit
gearbeitet. Die LED1 benutze ich als Kontrolle ob das Programm ein "Lebenszeichen" von sich gibt. Die Print-Ausgabe
benötige ich nicht. Ich habe den Code hier im Text eingefügt, da ich nicht weiß wie man das mit dem Sroll-Fenster macht.
Ich danke dir im Vorraus.
Helmut