Ich habe die Schaltung für den TSOP1736 von Luk-As mal an einem ATMega16 ausprobiert.
https://www.roboternetz.de/phpBB2/viewtopic.php?t=812
Von der Schaltung her ist das ja verblüffend einfach und es funktioniert einwandfrei.
Jetzt würde mich aber auch interessieren, warum, bzw. wie das überhaupt funktioniert
Ich habe das Bascom-Programm von Luk-As etwas abgewandelt, weil ich nur eine LEDs angeschlossen habe und ein normale Fernbedienung, die man nicht programmieren kann benutzt habe:
Code:
$crystal = 4000000
$baud = 19200
$lib "mcsbyte.lbx"
Config Portd = Input
Config Portb = Output
Config Rc5 = Pind.5
Enable Interrupts
Dim Adress As Byte , Command As Byte
Do
Getrc5(adress , Command)
Waitms 150
If Adress < 255 Then
Print "Adresse: " ; Adress ; " Command: " ; Command
Toggle Portb.0
End If
If Command < 255 Then
Print "Adresse: " ; Adress ; " Command: " ; Command
End If
Loop
Wenn ich jetzt irgendeine Taste auf meiner Fernbedienung drücke, werden "Adress" und "Command" über die serielle Schnittstelle ausgegeben und ich kann beides in einem Terminal Programm mitlesen.
Aber, wie kommen die Daten überhaupt in den Controller? Der TSOP hängt doch an einem einfachen Digital-Eingang, d.h. der kann eigentlich nur "high" oder "low" messen. Oder hat der Eingang noch eine andere Funktion und es war mehr oder weniger Zufall, dass PortD.5 den Luk-As beim AT90S2313 verwendet hat, beim ATMega16 dieselbe Funktion hat?
Wie werden die beiden Bytes "Command" und "Adress" übertragen? Seriell ?
Der TSOP1736 arbeitet mit einer Freguenz von 36MHz. Spielt diese Frequenz eine Rolle für den Controller oder ist es nur wichtig, dass TSOP und Fernbedienung dieselbe Frequenz nutzen? Oder ist die Frequenz ganz egal?
Kann mir da jemand weiterhelfen das wenigstens ganz grob zu verstehen? Muss keine exakte Erklärung bis ins Detail sein, eine ganz grobe Vorstellung reicht mir völlig
Ein Link auf irgendeine Seite wo es erklärt wird tuts natürlich auch.
Danke
Lesezeichen