PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe BASCOM und RC5



michael_F
14.05.2004, 07:39
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.
Ich bekomme im Terminalfenster immer 255 ausgegeben, es kommt keine Reaktion wenn ich eine Taste auf der Fernbed. drücke.
Es sind meine ersten Schritte, bitte um Nachsicht.



$regfile = "m8def.dat"
$crystal = 3686400
$lib "mcsbyte.lbx"
$baud = 9600

Ddrc = &B00011111
Portc = &B00100000
Config Rc5 = Pinc.5
Enable Interrupts
Dim Adress As Byte , Command As Byte
Print "Warte auf Daten"
Do
Getrc5(adress , Command)
Waitms 150
Print "Geraeteadresse: " ; Adress ; " Geraetekommando: " ; Command ; " - "
Waitms 150
Loop
End
[/code]

Freiheitspirat
14.05.2004, 11:18
Hallo Michael,

ich bin auch gerade am Experimentieren mit dem RC5 und habe den gleichen Effekt.
Benutze ein Mega32 am RNB.
Wenn ich die Signale vom meinem TSOP mit "Print Pind.7" in einer Endlosschleife ausgebe, kann ich auch Aktion erkennen, aber kein Ergebnis mit dem "Getrc5" in einem ähnlichen Programm wie Deinem.
Fehlermöglichkeiten:
1. Kein RC5-Signal
2. Wir haben irgend etwas noch nicht ganz geschnallt
3. Fehler in Bascom

Kannst Du an Deinem Oszi 14 Bit erkennen ?

Dino Dieter
14.05.2004, 11:35
Hallo

Habe den Code gerade getestet und läuft ohne Probleme.

Habt ihr denn schonmal verschiedene Fernbedienungen ausprobiert ? Nicht alle senden RC5 Code und die Frequenz kann auch unterschiedlich sein. Vermindert aber dann nur die Reichweite.

MFG
Dieter

Freiheitspirat
14.05.2004, 13:10
Hallo Dieter,

ich habe jetzt zwei verschiedene Fernbedienungen getestet.
Irgendwas kommt an meinem Eingangspin auch jedesmal an, wenn ich eine Taste drücke, aber scheinbar kein RC5 Code...

Dino Dieter
14.05.2004, 13:27
Hallo

Das ist halt das Problem, das nicht alle Fernbedienungen RC5 senden. Habe hier auch 4 Fernbedienungen, von denen aber nur eine geht.

Bei den anderen siehst du auf dem Ozsi auch die Signale, aber die passen halt nicht.

Bei sauberen RC5 Code siehst du auf dem Ozsi bei einer Zeitablenkung von 5 ms das Protokoll ganz gut.

MFG
Dieter

michaelF
14.05.2004, 14:13
Und da habe ich überall gelesen, RC5 ist standard.
Ich habe hier eine Salora, Blaupunkt und Technics. keine funktioniert.

Ich mag nicht dran denken, wenn ich mal versuche einen RC5 mittels Atmel zu senden , was das wohl wird.

michaelF
14.05.2004, 14:29
Ich habe jetzt noch eine Universal gefunden die vorbelegte Codes hat. Sie ist so gross wie eine Checkkarte und sehr flach. Auch da geht nix. :-(

michaelF
16.05.2004, 18:55
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.

Vivad
18.07.2004, 17:45
Wie kann denn ein SenderProgramm (RC5) für einen AVR Sender aussehen, eine Empfängerprogramm habe ich ja schon gefunden.

https://www.roboternetz.de/phpBB2/viewtopic.php?t=812

Trabukh
18.07.2004, 17:53
Leute, versucht mal bei den Universal-FBs die Sony-Codes. Hat bei mir geklappt. Für das Programm schau mal bei Bascom in der Hilfe zu dem Befehl RC5SEND. Da steht eigentlich alles drin.

Gruß, Trabukh

RCO
18.07.2004, 17:54
@ michael:
woher kannst du BAsic/Bascom, suche verzweifelt nach ner vernünftigen Seite, wollte nämlich auch ne Ferbedienung bauen.

RCO
19.07.2004, 20:16
@ Michael_f:

Sorry, wenn ich jetzt dein Programm auseinandernehme, aber ich wills kappieren:

$regfile = "m8def.dat" // Definiert die AVr (wahrschinlich mega8 )
$crystal = 3686400 // Taktung
$lib "mcsbyte.lbx" // was meint das?
$baud = 9600 // Setzen der Baudrate für print

Ddrc = &B00011111 // Ja was meint das?
Portc = &B00100000 // und das hier?
Config Rc5 = Pinc.5 // Pin 5 als eingang
Enable Interrupts // ???
Dim Adress As Byte , Command As Byte // Definition der Variablen
Print "Warte auf Daten" // das ist klar
Do // Dauerschleife
Getrc5(adress , Command) //
Waitms 150 // Warum eine PAuse?
Print "Geraeteadresse: " ; Adress ; " Geraetekommando: " ; //print der Daten Command ; " - " // was soll das?
Waitms 150 // Warum eine PAuse?
Loop
End

20.07.2004, 13:41
Die Library wandelt bestimmte Werte in andere um wie bei C-control.

thewulf00
20.07.2004, 22:50
Hi Leute!

Ich wollte mal den Thread fortführen, weil ich ähnliche Probleme habe:

Ich habe keine Fernbedienung zuhause, die "sauberen" RC5-Code sendet. Also dachte ich mir, ich schau mal nach, ob ich die Signale, die der TSOP ausgibt, nicht vielleicht manuell verwenden kann:



$crystal = 4000000
$baud = 19200
$lib "mcsbyte.lbx"
Dim Mybit As Bit

Mybit = Pind.5

Do
Waitus 889

If Mybit <> Pind.5 Then
Print " Aenderung! "
Mybit = Pind.5
End If

Loop


Jetzt habe ich noch parallel zum TSOP eine LED, die richtig rythmisch leuchtet, sobald ich auf der Fernbedienung was drücke. Aber egal, was ich drücke, das Programm reagiert nicht. Ich habe auch schon den "Waitus" auf 400 gesetzt oder ganz weggelassen. Kein Resultat.
Wenn ich aber den Pin mit einem Kabel nach Masse ziehe, reagieren die LED und das Programm entsprechend...

Woran liegt das??

Viele Grüße,
thewulf

RCO
22.07.2004, 17:36
@ thewulf
ich habe noch nicht soviel Basic/BAscom-Erfahrung, wozu brauchst du $lib "mcsbyte.lbx" ?