Nicolai
26.04.2007, 19:32
Hallo,
ich bin noch ein totaler Anfänger in Robotik und im Programieren.
Und ich wollte fragen ob man den ASURO mit den Grundkentnissen aus
der Anleitung fernsteuern kann.
Ich hab mal nur zum Spaß was geschrieben,
und leider (wie zu erwarten) funktioniert es nicht.
#include "asuro.h"
char text[2],w[2],s[2],a[2],d[2];//Variablen für forwärts, rückwärts, rechts, links, und steuerung.
char i[2]; //Variable für die Motorsynkronisation
unsigned int b; // Variable fürs zählen
char o[2]; //Variable für die Motorsynkronisation
int main(void){ //Start der main funktion
Init();
Synkronisation(); //Synkronisieren
while(1){ //endlosschleife
SerRead(text,1,1);{ //einlesen der variable fürs steuern
if (text[2] == w[2]){MotorDir(RWD,RWD);MotorSpeed(255,255);for(b=0;b<1000;b++)Sleep(72);} //wenn text gleich variable für forwärts dann motor auf follspeed
else if (text[2] == s[2]){MotorDir(FWD,FWD);MotorSpeed(225,225);}//wenn text gleich variable für rückwärts dann motor auf follrückwärtsspeed
else if (text[2] == a[2]){MotorDir(FWD,RWD);MotorSpeed(100,200);}
else if (text[2] == d[2]){MotorDir(RWD,FWD);MotorSpeed(200,100);}
else {MotorDir(FREE,FREE);MotorSpeed(0,0);}}
}
while(1);
return 0;}
int Synkronisation(){
StatusLED(GREEN);for(b=0;b<400;b++)Sleep(72);StatusLED(OFF);
SerWrite("\n\rSynkronisation\n\r",16);
SerWrite("\n\rTasten\n\r",8);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rbitte drucken sie nacheinander die Steuerungstasten fur:\n\r",57);
for(b=0;b<500;b++)Sleep(72);
SerWrite("\n\rforwerts , ruckewerts , links und rechts.\n\r",46);
SerRead(w,1,0);
SerWrite("\n\rOK \n\r",5);
SerRead(s,1,0);
SerWrite("\n\rOK \n\r",5);
SerRead(a,1,0);
SerWrite("\n\rOK\n\r",5);
SerRead(d,1,0);
SerWrite("\n\rOK \n\r",5);
SerWrite("\n\ruberprufung der Tasten\n\r",25);
for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rforwarts \n\r",13);
SerWrite(w,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rruckwarts \n\r",14);
SerWrite(s,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rlinks \n\r",10);
SerWrite(a,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rrechts \n\r",11);
SerWrite(d,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rFalls eine der Taste nicht richtig ist bitte Neustarten\n\r",57);
for(b=0;b<5000;b++)Sleep(72);
SerWrite("\n\rSynkronisation abgeschlossen\n\r",30);
return 0;}
bitte kann mir jemand sagen was da falsch ist.
danke
Nicolai
nicolainessenius@arcor.de
ich bin noch ein totaler Anfänger in Robotik und im Programieren.
Und ich wollte fragen ob man den ASURO mit den Grundkentnissen aus
der Anleitung fernsteuern kann.
Ich hab mal nur zum Spaß was geschrieben,
und leider (wie zu erwarten) funktioniert es nicht.
#include "asuro.h"
char text[2],w[2],s[2],a[2],d[2];//Variablen für forwärts, rückwärts, rechts, links, und steuerung.
char i[2]; //Variable für die Motorsynkronisation
unsigned int b; // Variable fürs zählen
char o[2]; //Variable für die Motorsynkronisation
int main(void){ //Start der main funktion
Init();
Synkronisation(); //Synkronisieren
while(1){ //endlosschleife
SerRead(text,1,1);{ //einlesen der variable fürs steuern
if (text[2] == w[2]){MotorDir(RWD,RWD);MotorSpeed(255,255);for(b=0;b<1000;b++)Sleep(72);} //wenn text gleich variable für forwärts dann motor auf follspeed
else if (text[2] == s[2]){MotorDir(FWD,FWD);MotorSpeed(225,225);}//wenn text gleich variable für rückwärts dann motor auf follrückwärtsspeed
else if (text[2] == a[2]){MotorDir(FWD,RWD);MotorSpeed(100,200);}
else if (text[2] == d[2]){MotorDir(RWD,FWD);MotorSpeed(200,100);}
else {MotorDir(FREE,FREE);MotorSpeed(0,0);}}
}
while(1);
return 0;}
int Synkronisation(){
StatusLED(GREEN);for(b=0;b<400;b++)Sleep(72);StatusLED(OFF);
SerWrite("\n\rSynkronisation\n\r",16);
SerWrite("\n\rTasten\n\r",8);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rbitte drucken sie nacheinander die Steuerungstasten fur:\n\r",57);
for(b=0;b<500;b++)Sleep(72);
SerWrite("\n\rforwerts , ruckewerts , links und rechts.\n\r",46);
SerRead(w,1,0);
SerWrite("\n\rOK \n\r",5);
SerRead(s,1,0);
SerWrite("\n\rOK \n\r",5);
SerRead(a,1,0);
SerWrite("\n\rOK\n\r",5);
SerRead(d,1,0);
SerWrite("\n\rOK \n\r",5);
SerWrite("\n\ruberprufung der Tasten\n\r",25);
for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rforwarts \n\r",13);
SerWrite(w,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rruckwarts \n\r",14);
SerWrite(s,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rlinks \n\r",10);
SerWrite(a,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rrechts \n\r",11);
SerWrite(d,1);for(b=0;b<800;b++)Sleep(72);
SerWrite("\n\rFalls eine der Taste nicht richtig ist bitte Neustarten\n\r",57);
for(b=0;b<5000;b++)Sleep(72);
SerWrite("\n\rSynkronisation abgeschlossen\n\r",30);
return 0;}
bitte kann mir jemand sagen was da falsch ist.
danke
Nicolai
nicolainessenius@arcor.de