Forum: Mikrocontroller und Digitale Elektronik Rc5 mit der tsop4838


von pascal (Gast)


Lesenswert?

Hallo, ich hab eine tsop4838 so http://i.stack.imgur.com/CrjX0.png an 
einen atmega8 angeschlossen .


hier mein kleines testprogramm


$regfile = "m8def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _
Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 1
Cursor Off
Cls
Lcd "hallo"


Config Rc5 = Pind.0
Portd.0 = 1
Enable Interrupts
Dim Address As Byte , Command As Byte




Do
Getrc5(address , Command)
Locate 1 , 3
Lcd Address

Locate 2 , 1
Lcd Command
Wait 1
Cls

Loop


End


Das problem ist dass ich auf dem lcd nur 255 angezeigt bekomme... wenn 
ich aber das oszilloskop an den sensor hänge kommt eine flanke sobalt 
ich auf der fernbedienung was drücke.

wo könnte der fehler liegen?

von Auge (Gast)


Lesenswert?

pascal schrieb:
> wo könnte der fehler liegen?

Fernbedienung ist keine RC5 Fernbedienung!? Mit Oszi analysieren, ob das 
RC5 Protokoll vorliegt. Eventuell Oszi Screenshot posten.

von pascal (Gast)


Angehängte Dateien:

Lesenswert?

ich weiss nicht wie ein rc5 signal aussieht, hier der screen mit taste 4 
gedrückt , fernbedienung ist die harmonie von logitech ,eingestellt auf 
ein philips gerät.

von Auge (Gast)


Lesenswert?

pascal schrieb:
> ich weiss nicht wie ein rc5 signal aussieht, hier der screen mit taste 4
> gedrückt , fernbedienung ist die harmonie von logitech ,eingestellt auf
> ein philips gerät.

Habe versucht mithilfe dieser Seite den Screenshot auszuwerten.
http://www.sprut.de/electronic/ir/rc5.htm

Scheint wirklich RC5 zu sein. Hat ca. 25ms Telegrammlänge und 14 Bit 
Daten (111 10100 000111). Geräteadresse 20 (CD-Player, gedrückte Taste 
aber 7 ?)

Vielleicht stört das wait 1 im Programm. In der do-loop mur GetRC5 
laufen lassen. Mit if-then abfragen, ob adresse kleiner 255 und dann an 
LCD anzeigen lassen.

Tatsächliche Taktfrequenz des Mega wirklich 1MHz? Mal schneller laufen 
lassen (und natürlich dann $crystal anpassen).

Der Schönheit halber :) würd ich die Deklarationen der Variablen vor 
irgendwelchen ausführbaren Kommandos legen.

von Auge (Gast)


Lesenswert?

Auge schrieb:
> Daten (111 10100 000111). Geräteadresse 20 (CD-Player, gedrückte Taste
> aber 7 ?)

Sorry: Daten 111 10100 000100, Taste also doch die 4 (wenn ich jetzt 
richtig geäugt habe)

von pascal (Gast)


Lesenswert?

Auge schrieb:
> Tatsächliche Taktfrequenz des Mega wirklich 1MHz? Mal schneller laufen
> lassen (und natürlich dann $crystal anpassen).
>
> Der Schönheit halber :) würd ich die Deklarationen der Variablen vor
> irgendwelchen ausführbaren Kommandos legen.

lag wirklich am $crystal , ist aber komisch da der atmega neu ist. ich 
hab ihn jetzt nochmal auf 1000000 gesetzt jetzt geht alles wunderbar.

aber ist es normal das die dresse immer 20 ist?

PS: das programm sollte nur zum test sein.


Falls noch einer ein testprogramm sucht :

$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 100
$swstack = 100
$framesize = 100
Config Portb = Output
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _
Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 1
Cursor Off
Cls
Lcd "hallo"


Config Rc5 = Pind.1
'Portd.0 = 1
Enable Interrupts
Dim Address As Byte , Command As Byte




Do
Getrc5(address , Command)
Locate 1 , 1
Lcd "RC5 Code:"
If Address < 255 Then
Command = Command And &B01111111
Cls
  Select Case Command

    Case 1 : Toggle Portb.0                                 ' Wird 1 
gedrückt, schalte Ausgang 1
    Waitms 500                                              ' Sicherheit 
zum Schalten wegen toggle Befehl
    Case 2 : Toggle Portb.1
    Waitms 500
    Case 3 : Toggle Portb.2
    Waitms 500
    Case 4 : Toggle Portb.3
    Waitms 500
    Case 5 : Toggle Portb.5
    Waitms 500

    End Select
Locate 1 , 1
Lcd "Adr:" ; Address
Locate 2 , 1
Lcd " Com:" ; Command
End If

Loop


End

von Auge (Gast)


Lesenswert?

pascal schrieb:
> aber ist es normal das die dresse immer 20 ist?

Hängt von dem gewählten Gerät in deiner FB ab. Wenn du einen Fernseher 
auswählst ist sie anders, aber dann immer gleich bei jeder gedrückten 
Taste.

von pascal (Gast)


Lesenswert?

ok, danke

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.