Hallo hirbel,
klar kann geholfen werden. Poste aber dazu mal dein Programm und das Makefile.
Sonst würde ich jetzt mal sagen: Jaein, das liegt daran, oder doch nicht
Gruß Sternthaler
Hallo liebe Gemeinde,
ich hab folgendes Anliegen.
Ich möchte ein Programm schreiben, bei dem der Asuro eine rechteckige Fläche abfährt. Er soll zum Beispiel ein Zimmer von der einen Ecke zur anderen, gegenüberliegenden abfahren. Dabei soll er gerade aus fahren (mittels Odometrie) und wenn er an der Wand anstößt, einen bestimmten Wert zurückfahren (z.B. 11cm) und dann eine Drehung nach links, bzw. rechts ausführen. Dabei soll er zwei Werte vergleichen um dann zu entscheiden, ob er ne links- oder rechtsgerichtete Drehung machen soll.
Nun habe ich um das Programm zu schreiben meinen Asuro vermessen um die Werte der Sensoren feststellen zu können und programmieren zu können. Zur Hinleitung des Programmes habe ich ein Miniprogramm geschrieben und geflasht, bei dem der Asuro eine Strecke von 50 cm gerade aus fahren soll und dann ne 180° Drehung aussführen soll.
Leider fährt er ohne aufzuhören gerade aus. Lösche ich das Fahren raus, dreht er sich nur noch im Kreis.
Ich habe bei dem Programm die erweiterte Lib verwendet, kann es sein, dass diese nicht richtig eingebunden ist?
Könnte mir bitte jemand bei dem Programm helfen? Ich weiß einfach nicht mehr weiter!
Würde mich freuen! Vielen Dank!
Grüße lehirb
[edit] ich habe leider nur noch die 12er scheiben da... [edit]
Hallo hirbel,
klar kann geholfen werden. Poste aber dazu mal dein Programm und das Makefile.
Sonst würde ich jetzt mal sagen: Jaein, das liegt daran, oder doch nicht
Gruß Sternthaler
Lieber Asuro programieren als arbeiten gehen.
Ich hab mal meine programmcode angehängt, das makefile will er nicht hochladen... weiß nicht warum?! Hast du ne Idee?
Hoffe du kannst mir helfen - bin vollkommen verzweifelt!
GrüßeCode:#include "asuro.h" #include "myasuro.h" int main(void) { Init(); GoTurn(500, 0, 150); Msleep(5000); GoTurn(0, -180, 150); while(1); return 0; }
Hallo hirbel,
im Prinzip ist dein Miniprogramm OK.
Es fehlt nur das EncoderInit(); zwischen Init() und dem ersten GoTurn().
Zur LIB wird eine recht ausführliche Doku mitgeliefert.
Wenn du mal im Verzeichnis (unter deinem Pfad zur LIB) .../doc/html die Datei index.html anklickerst, findest du links "Datei-Elemente". Das anklicken, und dann rechts den Buchstaben "g" anklicken. Nun stehen hinter GoTurn() die Dateien asuro.h und encoder.c. Hier ist es egal welchen Link du nutzt um die Beschreibung und Funktionsweise von GoTurn() zu erfahren.
So, ich hoffe, dass nun erst einmal dein Miniprogramm laufen wird.
Gruß Sternthaler
P.S.: Und immer schön die Doku lesen .
P.P.S.: Mit dem Makefile wird es sein, dass dieses Forum Dateien ohne Extention nicht zuläßt. Probieren könntest du mal die Datei zu KOPIEREN und ein .txt anzuhängen. Also makefile.txt
Das müsste dann funktionieren. Ist aber bestimmt nicht mehr notwendig.
Lieber Asuro programieren als arbeiten gehen.
Vielen Dank für die schnelle ANtwort. Ich werde es bis morgen mal ausprobieren und dir Bescheid geben.
Schönen Abend und nochmals vielen Dank Grüße lehirb
[Edit] weiß nicht wos Problem lag, aber jetzt war das Kompilieren erfolgreich. Testprogramm läuft, jetzt wird am Hauptprogramm getüfftelt! Falls Probleme entstehen, würde ich mich nochmal an dich wenden Sternthaler, okay?
Hey,
habs jetzt mal versucht umzusetzen.
Ich habe folgendes Problem. Wenn ich versuche meine test.c-Datei mit der Test-all.bat zu kompilieren, dann schmeißt er mir nur eine Datei raus mit dem Tittel test.d.
Folgendermaßen habe ich das bei mir aufgebaut. In einem Ordner befindet sich der Ordner "lib" sowie die Datei test.c, das makefile, sowie test-all und test-clean!
Wo steckt mein Problem?
Vielen Dank und beste Grüße
Hallo hirbel,
klar ist das OK, wenn du dich bei weiteren Problem nochmal meldest.
Schön, dass du dein erstes Miniprogramm hier jetzt lauffähig machen konntest.
Viel Erfolg mit dem 'kleinen' Rest.
Gruß Sternthaler
Lieber Asuro programieren als arbeiten gehen.
So - das Programm ist fertig.
Der Asuro, modifiziert mit zwei Swiffern, kann jetzt fein das Zimmer kehren.
Dabei stellt man ihn einfach in eine Ecke des Zimmers und lässt ihn starten. Er sollte dann gerade aus fahren, wenden und so in parallelen Bahnen das Zimmer abfahren und säubern.
@Sternthaler:
Könntest du mir sagen ob das alles einwandfrei so passt bzw. noch irgendwelche Verschönerungstipps?
Beste Grüße
Hallo hirbel,
na, das ging ja recht flott.
Wie aber zu erwarten war, fährt mein Asuro nicht richtig in der Gegend rum.
Geradeaus ist bei mir ein recht heftiger Linksbogen.
Nach dem Anstossen an der Wand scheint es ein Stückchen zurück zu gehen.
Die Drehung schafft mein Asuro überhaupt nicht. Er fährt nur mit einem Rad und das so ziemlich endlos.
Meine Parameter für die ODO-Sensoren sind bestimmt ganz anders als bei dir.
Um nun zu sagen, was besser zu machen wäre, solltest du deinen Programmcode posten und auch mittteilen, welche LIB-Version du benutzt.
\/ \/ \/ \/ \/ \/ \/ \/
Ansonsten deutet die Länge vom Hex-File schon auf viele 'Extras' hin.
Ich tippe mal so, dass nach 10 Putz-Bahnen, eine Fahrt zu einer Müllsammelstelle erfolgt. Der Asuro sich ein bisschen schüttelt und den Staub aus den Swiffern klopft. Und dann weiter seinen Bahnen zieht.
Hat er das Zimmer fertig, wird bestimmt ein Lied gespielt, so dass man den gesammelten Staub von der Müllsammelstelle nur noch in den Eimer kehren muss.
/\ /\ /\ /\ /\ /\ /\ /\
Grinsende Grüße vom Sternthaler
P.S.: Nicht böse sein. Ich schreibe immer so einen Mist.
P.P.S: Kannst du ein Foto von deinem Swiffer-Putz-Asuro hier posten?
Lieber Asuro programieren als arbeiten gehen.
Jop, dass liegt dann vermutlich an den Odometriedaten. Hab diese mit Hilfe deines Programmes ausgelesen, meine Scheriben mit schwarzem Papier beklebt und ein kleines schwarzes Häusl über die Dioden gebaut .
Optimal für jedes "lichszenario" ist es zwar trotzdem nicht, aber gut...
Code siehe unten.
Bild folgt morgen
Nehm dir natürlich sowas net übel - musste lachen...
Schütteln tut er sich net, einfach Swiffer wechseln und gut und Lied spielen tut er auch net
Beste Grüße und schönen Abend
lehirb
Lesezeichen