Programm Ãœberholen in NXC

Mindstorms im Unterricht. Ideen, Vorstellungen

Moderator: Moderatoren

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 6. Nov 2010 12:56

und müsste es hier nicht while heissen oder so? weil es soll sich ja erst drehen wenn der sensor nichts mehr erkennt...und nicht BIS er nichts mehr erkennt...^^

Code: Alles auswählen

until (SensorUS(IN_2) == 0);             
{
  RotateMotor(OUT_A,50,100);
  RotateMotor(OUT_B,50,-100);
  Wait(1000);
  RotateMotorEx(OUT_AB,50,strecke*360,0,true,true);
  Wait(1000);
  RotateMotor(OUT_A,50,100);
RotateMotor(OUT_B,50,-100);
}

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 7. Nov 2010 11:30

? :P

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 7. Nov 2010 17:03

1. nachdem US 2 etwas erkennt
(Aus AB
1 Sekunde warten
Variable Strecke = Rotationen :arrow: du musst zwei mal = machen (==) bitte ändern
Variable auf display schreiben
1 Sekunde warten
Rotationen zurücksetzen
30 grad drehung
fahren bis nächster befehl wahr wird
)

Das Wait 200 bitte weglassen

2.
wenn US 2 nichts mehr erkennt
(
Drehen 30 grad
Warten 1 sekunde
fahren bis strecke erreicht, bremsen, synchronisieren, keine lenkung
warten 1 sekunde
drehen 30 grad
)

:D hoffe das hilft dir
Real coders don't comment their code - it was hard to write, it should be hard to understand!

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 7. Nov 2010 17:15

okay :P wenn das so geht :) supeeer endlich fertig. danke!

aber das eine =
also strecke = MotorRotationCount(OUT_A) passt! bei 2 = zeigt des brixcc des als fehler an :P ansonsten aber nicht ;)

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 7. Nov 2010 17:45

okay

:arrow: :D

Morgen werden wir sehen ob es funktioniert :D :D
Real coders don't comment their code - it was hard to write, it should be hard to understand!

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 7. Nov 2010 17:50

noch nicht gleich morgen :P aber abgeben muss ichs^^

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 10. Nov 2010 17:23

Wann ist die "praktische" Prüfung? :D :D :D :D
Zuletzt geändert von NXT pro am 10. Nov 2010 19:48, insgesamt 1-mal geändert.
Real coders don't comment their code - it was hard to write, it should be hard to understand!

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 10. Nov 2010 19:08

naja ich habs gestern abgegeben :P der lehrer muss jetzt meins und das der anderen korrigieren und dann muss wahrscheinlich ein kleines referat oder so vorbereiten und es dann praktisch prüfen^^ aber das dauert denke ich noch, der lehrer is auch ned der schnellste :DD
ich geb bescheid :P

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 10. Nov 2010 19:47

Viel Glück :meister: :meister: :meister: :meister:
Real coders don't comment their code - it was hard to write, it should be hard to understand!

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 18. Nov 2010 23:57

oh er ist schon fleissig am korrigieren :D:D
ich denk ich hab auch nochmal die möglichkeit dann was zu ändern am programm :P

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 25. Nov 2010 16:00

Ist jetzt Die zweite Woche wie weit ist er
Real coders don't comment their code - it was hard to write, it should be hard to understand!

Nakiri
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 55
Registriert: 9. Okt 2010 12:39

Beitragvon Nakiri » 26. Nov 2010 23:20

ich denk so gut wie fertig...am 9.12 muss ich mein referat halten...ob ich das alles schon vorher zurückbekomm weiss ich nicht...aber da werd ich dann mit fragen durchlöchert...das wird ein spaß :D
magst du mir nochmal sagen was jetzt genau was bedeutet? vorallem der until...also "fahren bis blablabla" zb...nicht nur die einzelnen elemente :P
danke :)

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 27. Nov 2010 11:00

Code: Alles auswählen

#define ABSTAND 50               //Konsonante definieren (KONSTANTEN GROß)
int strecke;                     //globale Variable definieren (variablen klein)

task main ()
{
SetSensorLowspeed(IN_1);         //US IN_1=US1
SetSensorLowspeed(IN_2);         //US IN_2=US2
SetSensorMode(IN_2, SENSOR_MODE_BOOL);    //SensorModus logisch US2

while(SensorUS(IN_1)>ABSTAND);   //während US1>ABSTAND
{
  OnFwdReg(OUT_AB, 50, OUT_REGMODE_SYNC);     //fahren
}

until(SensorUS(IN_1)<ABSTAND);         //nachdem US1<ABSTAND
{
Off(OUT_AB);                           //Aus AB
Wait(100);                             //0,1 sek warten
RotateMotor(OUT_A,50,-100);            //30 grad drehen (wenn räder passen)
RotateMotor(OUT_B,50,100);             //30 grad drehen (wenn räder passen)
}

ResetRotationCount(OUT_A);              //Rotationen zurücksetzen

while (SensorUS(IN_2) == 0);            //während US2 nichts erkennt
OnFwdReg(OUT_AB,50,OUT_REGMODE_SYNC);   //fahren

until(SensorUS(IN_2) == 1);             //nachdem US2 etwas erkennt
{
  Off(OUT_AB);                          //aus AB
  Wait(1000);                           //1sek warten
  strecke = MotorRotationCount(OUT_A);  //variable strecke schreiben
  NumOut(0,LCD_LINE2,strecke);          //in zeile 2 strecke ausgeben
  Wait(1000);                           //1sek warten
  ResetRotationCount(OUT_A);            //rotationen zurücksetzen
  RotateMotor(OUT_A,50,100);            //30 grad drehen (wenn räder passen)
  RotateMotor(OUT_B,50,-100);           //30 grad drehen (wenn räder passen)
  OnFwdReg(OUT_AB, 80, OUT_REGMODE_SYNC);  //fahren
}

until (SensorUS(IN_2) == 0); //nachdem US2 nichts erkennt
{
  RotateMotor(OUT_A,50,100);  //drehen
  RotateMotor(OUT_B,50,-100); //drehen
  Wait(1000);                 //1sek warten
  RotateMotorEx(OUT_AB,50,strecke*360,0,true,true);  //strecke*360 fahren (ich glaube das *360 muss doch raus)
  Wait(1000);                  //1sek warten
  RotateMotor(OUT_A,50,100);   //zurückdrehen
  RotateMotor(OUT_B,50,-100);  //zurückdrehen
}

ResetRotationCount(OUT_A);     //rotationen zurücksetzen


OnFwdReg(OUT_AB, 80, OUT_REGMODE_SYNC);     //2sek fahren
Wait (2000);
Off(OUT_AB);                                //Aus AB
ClearScreen();                              //display löschen
}

hoffe es ist ganz gut erklärt
Zuletzt geändert von NXT pro am 7. Dez 2010 16:33, insgesamt 1-mal geändert.
Real coders don't comment their code - it was hard to write, it should be hard to understand!

Benutzeravatar
känganxt
Schreibt viel
Schreibt viel
Beiträge: 116
Registriert: 11. Aug 2010 13:41
Wohnort: Bayern
Kontaktdaten:

Beitragvon känganxt » 27. Nov 2010 13:18

Das sind nicht KONSONANTEN sondern KONSTANTEN :wink:
Bild

Mindstormsforum is cool!
NXT-Programms ist interessant!
NXC ist cool!

Benutzeravatar
NXT pro
Super-Enorm-Viel-Schreiber
Super-Enorm-Viel-Schreiber
Beiträge: 930
Registriert: 27. Sep 2010 21:38

Beitragvon NXT pro » 27. Nov 2010 13:37

Auch gut :D :danke: ...

Aber sie werden definiert :P
Real coders don't comment their code - it was hard to write, it should be hard to understand!


Zurück zu „Unterricht & AG“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss