RC5 an Terminal ausgeben

Gast #88712
Lesenswert?

Ich versuche mit einem ATmega8 und einem TSOP36 in BASCOM das Command
und den Gerätecode in einem Terminal abzubilden. Leider ohne Erfolg.
Der TSOP gibt das Singanl korrekt aus, kann ich am Oszi sehen.
Es sind meine ersten Schritte, bitte um Nachsicht.

Grüsse aus Hamburg de Michael.
Angehängte Dateien:
Gast #88715
Lesenswert?

Hallo

Invertieren brauchst du da nichts, das macht BASCOM schon.

Was geht den überhaupt nicht? Kommt denn dein

Print "Warte auf Signal..." im Terminal an, oder nicht.

Läuft der Mega 8 den auch wirklich auf deiner Taktfrequenz, oder noch
auf dem internen Takt von 1 MHZ.

MFG
Dieter
Gast #88716
Lesenswert?

Die Verbindung zum Terminal ist da. Ich bekomme folgendes ausgegeben.

Geraeteadresse: 255  Geraetekommando: 255 -

Nur verändert sich der Wert nicht wenn ich eine Taste drücke.
Obwohl ich im Oszi sehe, dass der TSOP das Signal ausgibt.
Ich habe den DATA-Pin des TSOP an Pin 28 des ATmega8.
Gast #88720
Lesenswert?

Ja, genau.
Invertiere das Signal.

Also mit einem 74xx Gatter oder Transistorschaltung oder irgendwie
anders halt.
Ich hatte exakt das selbe Problem mit Geräteaddresse:255 usw.


MfG
formtapez
Gast #88721
Lesenswert?

das signal darf NICHT invertiert werden! schliess den tsop einfach
genauso wie an, wie es in der bascom-hilfe beschrieben ist. evt. hast
du nicht die richtige fernbedienung. ich musste 5 (!) verschiedene
fernbedienungen ausprobieren, bis ich eine hatte die funktioniert hat.
ich hatte sogar eine von phillips dabei und mit der hats auch nicht
funktioniert. und ich dachte eigentlich, das grade phillips das rc5
nutzen würde!?
Gast #88722
Lesenswert?

Ich habe mir ein RC5 Program in Assembler geschrieben (für 8051). Das
ganze in Assembler. Ist relativ einfach, funktioniert nur über
Warteschleifen: Startbit abwarten, 444us warten, und dann 889us warten.
Das Bit lesen, 889us*2 warten, nächstes Bit lesen usw.
Beim ersten Versuch hatte ich daselbe Problem.
Mittlerweile geht jede Fernbedienung. Auch nicht RC5 Fernbedienungen
funktionieren (auch wenn man keine sinnvolle Geräteadesse und
Befehlscode erhält), aber ein Wert von 255 kommt nie vor...
Gast #88723
Lesenswert?

Danke an alle für die Hilfe. Dei 255 werdenausgegeben wenn kein Signal
auf den TSOP trifft. Ich habe jetzt alle Fernbedienungen durch die ich
finden konnte aber keine funktioniert.
Gast #88725
Lesenswert?

Im gepostetn Code steht doch:
<Zitat>
      If Adress < 255 Then
         Print "Geraeteadresse: " ; Adress ...
</Zitat>
wie kann er dann ausgeben:
<Zitat>
Geraeteadresse: 255  Geraetekommando: 255 -
</Zitat>

Soll doch heißen, nur wenn die Geräteadresse kleiner 255, dann print.
vielleicht stimmt da was ganz anderes nicht...

Von diesem (für mich) logischem Problem mal abgesehen, sollten die 8Mhz
intern schon genau sein, oder? hast du 5Volt oder 3,3 Volt?
Bei 3,3V sind's KEINE 8Mhz mehr, vielleicht wirklich nur ein
Timing-Problem..
Gruß
Axel
Gast #88727
Lesenswert?

Soory, ich hatte dann natürlich das
<code>
       If Adress < 255 Then
</code>
dafür auskommentiert weil ich sonst nichts sehe.

Die Spannung ist 5V über einen 78L05, die Oszillatorfrqu. ist
3,686400MHz. Wie kommst Du auf 8MHz?

@anfänger
Einen Sender selber bauen..gibts da nen Beispiel?
Gast #88729
Lesenswert?

Hi,
Michael
ja, stimmt, ich war schon wieder in Gedanken woanners...
Die Quartzfrquenz scheint ja mit dem Metastatement

$crystal = 3686400

übereinzustimmen, sonst würde die UART auch nur Müll senden.
probier doch mal
$crystal = 3690000

Gruß
Axel
Potsdam
Gast #88730
Lesenswert?

Danke an alle, Problem gefunden.
Es ist in der Tat so, dass alle meine Fernbedienungen kein RC5
sprechen.
Mit einer universal Fernbedienung habe ich alle 8 Möglichkeiren für
Phillipsgeräte getestet, und eine davon war RC5 nun gehts.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren