NXT mit Bricx CC
-
Programmierung bis jetzt:
Code:
task main()
{
int schwarzelinie ;
schwarzelinie = 0;
TextOut ( 0, LCD_LINE3, NumToStr(schwarzelinie)) ;
SetSensorLight (IN_3);
SetSensorTouch (IN_1);
/* erste schleife Touchsensor*/
while (true)
{
if (Sensor(IN_1) == 1) /* zweite schleife unendlich fahren */
while (true)
{
OnFwdSync(OUT_BC, 50,0);while (true)
{
if ((Sensor(IN_3)>=30) && (Sensor(IN_3)<= 40))
{
schwarzelinie ++ ;
TextOut ( 0, LCD_LINE3, NumToStr(schwarzelinie)) ;
Wait ( 1000 );
}if (Sensor(IN_3) <30)
{
Off(OUT_BC) ;
}
}
}
}}
Meine Projektbeschreibung:
Ein Roboter, welcher durch den Stoß des Touchsensor anfängt,
den Tisch gründlich zu befahren und dabei alle schwarzen linien unter ihm zählt,Mein Problem:
Er befahrt den Tisch nicht gründlich! Er soll den Tisch von unten nach oben glatt befahren und das dauerhaft.
Wenn er an der anderen Seite des Tisches ist fährt er eine ganz andere Strecke.Kann mir jemand bitte den Code schreiben und definieren?
Ich wäre unheimlich dankbar!Bei "Off(OUT_BC) ; "
soll der Code vom Tisch hin.Gruß manar
Kennt sich einer mit mit dieser Sprache/Programm oder sonst was aus?
-
Bitte formatiere Code immer lesbar:
task main() { int schwarzelinie ; schwarzelinie = 0; TextOut ( 0, LCD_LINE3, NumToStr(schwarzelinie)) ; SetSensorLight (IN_3); SetSensorTouch (IN_1); /* erste schleife Touchsensor*/ while (true) { if (Sensor(IN_1) == 1) /* zweite schleife unendlich fahren */ while (true) { OnFwdSync(OUT_BC, 50,0); while (true) { if ((Sensor(IN_3)>=30) && (Sensor(IN_3)<= 40)) { schwarzelinie ++ ; TextOut ( 0, LCD_LINE3, NumToStr(schwarzelinie)) ; Wait ( 1000 ); } if (Sensor(IN_3) <30) { Off(OUT_BC) ; } } } } }
Du kannst deine Fragen sicher auch auf englisch stellen.
-
Danke für die Formatierung kannst du mir helfen?
-
Tut mir Leid, von Roboterprogrammierung hab ich auch keine Ahnung.^^
-
Schau dir mal folgendes an:
http://fruh.hs-harz.de/pub/2009/nxc_sommerschule_2009_florian_ruh.pdfEs gibt auch noch weitere Beiträge im Netz.
MfG f.-th.