
Zitat von
radbruch
Ich denke, du verstehst es nicht. Die Funktionen sind schon eingebaut, du must nur das Terminal starten und, wie beim Selbsttest, zuschauen was der asuro meldet. Hier sendet der asuro was er empfangen hat:
Code:
temp=temp/2 & 0xf; // Die Info steht in den Bits 1-4
StatusLED(YELLOW); // Daten gelesen
//Msleep(2000); // Zeit um den IR-Transceiver ueber den asuro zu bringen
SerWrite("\n\r",2);
SerWrite(daten,14); // Bitmuster zum PC senden
SerWrite("-",1);
PrintInt(temp); // erkannte Daten zum PC senden
Die StatusLED leuchtet kurz gelb wenn der asuro senden will. Zuerst kommt das Bitmuster und dann das Kommando.
Das hab ich gemacht, hier ist das was im Hyperterminal ankommt:
Taste 1 (einzelnes Drücken 20x):
Code:
1‚Š‚‚‚‚ŠŠ‚‚‚‚‚‚j‚þŸL˜˜00010000001-01j‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚þϘ000001000000-01 ‚Š‚‚‚‚
ŠŠ‚‚‚‚‚‚j‚þŸ˜000001000000-0ƘÄb1 j‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚þþL˜˜00010000001-0ÆŸ
Á‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚þŸLœ˜00010000001-01> 1‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚ŸL˜˜00010100001-015‚‚‚‚
‚‚ŠŠ‚‚‚‚‚‚j‚þŸ˜°010-1˜Æb1 j‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚þž1j‚‚‚‚‚Š‚‚‚‚Š‚‚j’þÄž
00010011010000-815‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚þ00000001000000-01
Taste 1 (gedrückt für 10sec):
Code:
00000001000000-0Ï5Á‚‚Š‚‚ŠŠ‚‚‚‚‚‚j‚þŸ5‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þj‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þ‚‚‚‚Š
‚ЂЂ‚‚j¢þÏR`‚‚‚‚‚Š‚‚‚‚‚‚‚j‚þj‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þ%‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þÏ%‚‚‚‚‚‚‚Š‚‚‚
‚‚‚j‚þž ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þÏ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þÁ€‚‚‚‚‚Š‚‚‚‚‚‚j‚þÏ ‚‚‚‚‚‚‚
Š‚‚‚‚‚‚j‚þ h‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ…00000010000000-0j‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þž `
‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þžž0010000001-0Á‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ $
‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ =‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ j‚‚‚‚‚‚‚Š‚‚‚‚‚‚j
‚þž5Á‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ >‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þj‚‚‚‚‚
‚‚Š‚‚‚‚‚‚j‚þ4‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þ 0‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þj‚
‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þŸ (‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚þ
Die Tasten senden beim Drücken, Draufbleiben oder Loslassen jeweils einen anderen Code.
Meistens fährt er nur durch kurzes Draufbleiben, einzelnes Drücken zeigt zwar ein leuchten der LED aber es tut sich nichts, nur wenn er fährt, wird er dann zumeist gestoppt.
Hast du die verschiedenen Versionen der asuro-Libraries beachtet (wie oben beschrieben)?
Das Programm funktioniert nur mit einer 36kHz-Library! Für die orginale CD-Lib muss man hier eine 96 eintragen:
Sleep(96); // Information einlesen nach 3/4 der Bitlaenge
Wenn du das meinst, die Änderung habe ich vorgenommen, ich benutze die Asuro libv271, stimmt der Wert (Sleep(96)
dann so?
Soll ich es mal mit der 36kHz-Library versuchen?
Noch eine Anmerkung zu deinem Geradeausfahrprogramm: Ich weiß ja nicht wie groß dein Anteil daran ist, aber es ist ein gutes Beispiel für die Anwendung der Odometrie beim asuro.
Mein Anteil ist nicht so groß, ich habe nur den TRIGGERLEVEL auf meinen Asuro angepasst und die Geschwindigkeit auf einen für mich passenden Wert geändert.
Interesanterweise enthält dein Quellcode denselben Umlautebug den ich vor Urzeiten auch schon mal entdeckte. Ich hatte deshalb eine zeitlang Umlaute in den Kommentaren vermieden. Irgendwie hat sich das aber von selbst geheilt, heute verwende ich auch wieder Umlaute ohne Probleme. Vielleicht ist das ein Problem des Editors der Umlaute nicht im richtigen Code speichert? Ich verwende nicht das Notepad sondern KamAVR.
[https://www.roboternetz.de/phpBB2/ze...ag.php?t=29123]
Meinst du im Geradeaus-Programm?
Lesezeichen