und wie sind di befehle für Die Taster vorne bin noch anfänger xD
Druckbare Version
und wie sind di befehle für Die Taster vorne bin noch anfänger xD
Hallo Hatzl,
S. 97 bis 102 in der Anleitung!Zitat:
... was was muss man hinschreiben dass der Robby fohrwerts färt (weis ich leider nich)
S. 85 bis 89 in der Anleitung!Zitat:
wie sind di befehle für Die Taster vorne
LESEN!!! #-o
Gruß Dirk
den S.c.h. kapier i need des is so bleed erklärt gibts da keine kinderfreuntliche anleitung (z.b. was heist stopwatcht wass soll ich hirmit anfangen { . . . } ? )
den S.c.h. kapier i need des is so bleed erklärt gibts da keine kinderfreuntliche anleitung (z.b. was heist stopwatcht wass soll ich hirmit anfangen { . . . } ? )
Hallo Hatzl,
Du musst schon das ganze Kapitel 4 lesen (bzw. in diesem Fall Kapitel 4.6.).
Es kann nicht in jedem Abschnitt alles aus den vorherigen wiederholt werden.
Dann weisst Du auch was mit "Stopwatch" gemeint ist.
(das ist eine Uhr / Timer analog zu einer echten Stoppuhr. Damit kann man den Roboter z.B. 3 Sekunden geradeaus fahren lassen und dann nach links drehen oder ähnliches. )
Schau Dir vor allem mal die Beispiele dazu an.
MfG,
SlyD
klappt nicht so ganz aber wie kann ich zwei zeiten machen alsoo dass er 8 sec vorwerts färt und dann 2 sec rechts ?
Hallo Hatzl,
es ist relativ einfach möglich beliebige Bewegungsabläufe mit den "move(...)" und "rotate(...)" Funktionen zu realisieren.
Dazu gibt es schon Beispielprogramme!
Das ist allerdings für bestimmte Distanzen.
Zeitgesteuert klappt das z.B. recht einfach und universell so:
Lässt sich beliebig erweitern und verändern.Code:
powerON(); // Wichtig: Sensoren anschalten!
startStopwatch1(); // Stopwatch1 starten!
uint8_t count = 0; // Sekundenzähler
while(true)
{
if(getStopwatch1() > 1000) // 1000ms = 1s, andere Werte sind natürlich
{ // ebenfalls möglich!
switch(count) // Sekundenzähler auswerten
{
case 1: // Sekunde 1...
moveAtSpeed(25,25);
changeDirection(FWD); // geradeaus
break;
case 4: // *Bei* Sekunde 4 schneller fahren...
moveAtSpeed(60,60);
break;
case 7: // Sekunde 7 im Bewegungsablauf...
moveAtSpeed(35,35);
changeDirection(LEFT); // links
break;
case 10: // usw.
moveAtSpeed(50,50);
changeDirection(FWD);
break;
case 12:
moveAtSpeed(0,0); // Stop!
count = 0; // wieder von vorn beginnen!
break;
}
count++; // Sekundenzähler erhöhen
setStopwatch1(0);
}
task_RP6System();
}
Hier wurde es mit "switch" gelöst, geht natürlich auch mit if-else...
MfG,
SlyD
das ist mir viel zu schwirig ich mache dass viel einfacher woher hast du dass so gelernt?
Hallo,
ich hatte auch schon Probleme mit dem makefile als ich Windows Notepad benutzt habe zum ändern des TARGETs. Irgendwie wurde wohl ein Steuerzeichen geschrieben mit den Symtomen die weiter oben im Threat beschrieben werden.
Als ich dann das Original makefile mit den einfachen, altbekannten EDIT von Windows (ASCI Tool) den makefile geändert habe ist das Problem nicht mehr aufgetreten.
Hallo Hatzl,
Nunja - dann solltest Du Dir auf jeden Fall mal ein gutes Buch über C anschauen, z.B. das hier:Zitat:
das ist mir viel zu schwirig ich mache dass viel einfacher
http://www.galileocomputing.de/openbook/c_von_a_bis_z/
und den C Crashkurs in der RP6 Anleitung wirklich mal in ruhe durchgehen und die Sachen aus dem Kurs vor allem auch ausprobieren!
Ich geh mal davon aus das Du zwischen 12 und 15 Jahren alt bist?
Dann ist das nicht weiter schlimm wenn Du das nicht sofort verstehst.
Wie in der Anleitung schon steht - man braucht etwas Zeit dazu und das klappt nicht mal eben nebenbei an einem Wochenende.
----------------------------------------
Einfacher klappen Bewegungsabläufe aber auch mit den move und rotate Funktionen (s. Beispielprogramme...):
Aber das ist dann natürlich nicht Zeitgesteuert, sondern über Distanzen.Code:while(true)
{
// hin und her fahren:
move(60, FWD, DIST_MM(300), BLOCKING);
rotate(50, LEFT, 180, true);
move(60, FWD, DIST_MM(300), BLOCKING);
rotate(50, RIGHT, 180, true);
}
Man könnte - um es einfacher zu machen - allerdings eine Funktion schreiben mit der das einfacher ginge - also wäre das dann z.B. so in der art möglich:
... ob das in der nächsten RP6Lib Version kommt - naja mal schauen ;)Code:move_timed(60, FWD, 8000, BLOCKING);
rotate_timed(50, LEFT, 2000, BLOCKING);
C Buch lesen, Beispiele anschauen und dann Übung, Übung und Übung und nochvielmehr Übung. Was anderes hilft beim programmieren nicht viel. Also erstmal die Beispielprogramme durchgehen und versuchen die einfacheren abzuändern.Zitat:
woher hast du dass so gelernt?
Dann eigene Programme schreiben.
Auch einfach mal NUR mit Textausgaben und den LEDs rumspielen - also den Roboter stehen lassen nur um mal die diversen C Befehle / Konstrukte auszuprobieren und zu sehen wie diese Funktionieren.
Danach wenn man es verstanden hat, das ganze mit Fahrbefehlen und Sensorauswertung machen...
@Peter:
Für die Makefiles solltest Du schon das Programmers Notepad 2 verwenden. Windows Notepad ist - ehm - nicht ganz so schön ;)
Als allgemeinen Text Editor kann ich PSPad empfehlen. Das kann eine ganze Menge und speichert die Datein auch im richtigen Format.
(einstellbar/automatisch, Windows/Dos, Unix/Linux ...)
MfG,
SlyD