PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Senden von daten über die IR Schnittstelle



Goodboy82
03.04.2005, 14:24
Ich versuche gerade über Infarot mit meinen Robby zu kommunizieren. das man den befehl send_irdata braucht ist mir mittlerweile schon klar. Und soweit ich das verstanden habe sendet dieser Befehl immer den Inhalt einer Variable. Ich habe mal im Forum gelesen das man mit den Print Befehl einfach so daten über IR senden kann das klappt bei mir aber nicht. Und da ich kein Text in eine Variable stecken kann, kann ich nur zahlen über IR senden und empfangen. Mein Ziel ist es aber das ich den Robby über IR Befehle geben kann und er denn darauf entsprechend reagiert. Und da ist auch schon das nächste Problem. Ich habe ein Terminal Programm was wunderbar läuft. Aber kann mir einer ein Freeware Prog empfehlen was daten Senden und empfangen kann? Bei mir klappt nämlich nur das empfangen glaub ich. Wäre cool wenn ihr mir helfen könnt. Wenn ich das denn alles geschafft habe will ich das gleiche mit Funk machen.

Mfg Goodboy

Dirk
03.04.2005, 21:43
Hi Goodboy,

1. IR-COMM:
Einzelne Bytes kann der Robby im RC5-Format übertragen, indem man die Telemetriedaten so formatiert, dass das Datenbyte auf c0 bis a1 verteilt ist. In a2 bis a4 und T codiert man z.B. den Messkanal, damit man mehrere Datenkanäle übertragen kann (bis zu 16 Kanäle).

Das sieht dann so aus:
T a4 a3 a2 a1 a0 c5 c4 c3 c2 c1 c0
<-KANAL-> <------ DATEN -------->

Telemetrie SENDEN:
sys SEND_TLM erwartet den Messkanal in HBYTE (0-15), die Daten (0..255) in LBYTE.
Telemetrie EMPFANGEN:
Die Daten werden mit gosub GET_TLM abgefragt. Damit wird gleichzeitig die Umcodierung vorgenommen, damit der Messkanal wieder in HBYTE (0-15), die Daten in LBYTE stehen.

Sieh Dir das Beispiel 9_EINFÜHRUNG TELEMETRIE1.bas an!

Mit dieser Telemetrie kannst Du den Robby einzelne Bytes senden lassen, aber auch Bytes empfangen. Dabei ist es egal, ob es sich um Zahlen oder Buchstaben handelt. Der Sender/Empfänger muss aber den IR-Code RC5 beherrschen.
Als Sender kommen ein anderer Robby, Fernbedienungen und z.B. ein IR-Modul eines anderen C-Control-Systems infrage. Als Empfänger fällt mir außer einem anderen Robby auch nur ein IR-Modul (z.B. CONRAD 121260) ein.

2. Terminal-Programm:
Eigentlich sollte jedes Terminal-Programm senden und empfangen können.

3. Funk:
Ich habe bei mir das Transceiver-Modul TRX433 (190045) laufen. Klappt recht gut, ist aber auch teuer. Andere hier im Forum schwören auf andere Funkmodule. Geh 'mal auf die Suche!

Gruß Dirk

Goodboy82
03.04.2005, 22:48
dann gib mir doch bitte mal ein Beispiel wie ich programmieren muss um über die telemetrie buchstaben zu senden, (damit mein ich nich HEX Zahlen)

Garret
04.04.2005, 11:22
Hallo

Was sind eigentich Telemetriedaten?

Danke

Garret

Dirk
04.04.2005, 20:05
@ Goodboy:

Die C-Control I kennt keine Buchstaben. Du must also tatsächlich Buchstaben in Form von Bytes (Zahlen von 0 bis 255) übertragen.
Dazu kannst Du den ASCII-Code verwenden.
Der ASCII-Code für ein Leerzeichen ist z.B. 32. Wenn Du also ein Leerzeichen senden willst:
LBYTE=32 'Daten=Leerzeichen
HBYTE=1 'Kanal (muss nicht sein!)
sys SEND_TLM 'Daten über IR-COMM senden

@ Garret:
Telemetrie ist das drahtlose Übertragen von Messwerten. Beim Robby kann man damit z.B. die Helligkeit senden:
LBYTE=LIGHT_L 'Linken Sensorwert nehmen
HBYTE=1 'Auf Kanal 1 senden (nur falls mehrere Kanäle!)
sys SEND_TLM 'Daten über IR-COMM senden

Gruß Dirk