Keine Ahnung was da falsch läuft aber ist aber relativ lustig. Mein Programm funktioniert so einwandfrei
Code:
#include "asuro.h"
#define FULL_L 80
#define FULL_R 60
/* vorwärts */
void MotorFwd(void)
{
MotorDir(FWD,FWD);
MotorSpeed(FULL_L,FULL_R);
}
/* rückwärts */
void MotorRwd(void)
{
MotorDir(RWD,RWD);
MotorSpeed(FULL_L,FULL_R);
}
/* bremsen */
void MotorStop(void)
{
MotorSpeed(0,0);
}
int main(void)
{
Init();
while(1)
{
if(PollSwitch()==0)
{
MotorDir(FWD,FWD);
MotorSpeed(50,255);
}
if(PollSwitch()==32)
{
MotorDir(FWD,FWD);
MotorSpeed(100,200);
}
if(PollSwitch()==33)
{
MotorDir(RWD,RWD);
MotorSpeed(255,255);
}
if(PollSwitch()!=32)
{
MotorDir(RWD,RWD);
MotorSpeed(255,255);
}
}
}
Ich will aber wenn ASURO ein Kontakt mit der Wand hat, d.h wenn er in der Ecke steht und nicht mehr weiter kommt. Ich hab die Msleep funktion eingebaut und für 1 sec eingestellt wollt rausfinden wie lang er braucht um sich um 90 grad zu drehen. das hat dann so ausgeschaut
Code:
#include "asuro.h"
#define FULL_L 80
#define FULL_R 60
/* vorwärts */
void MotorFwd(void)
{
MotorDir(FWD,FWD);
MotorSpeed(FULL_L,FULL_R);
}
/* rückwärts */
void MotorRwd(void)
{
MotorDir(RWD,RWD);
MotorSpeed(FULL_L,FULL_R);
}
/* bremsen */
void MotorStop(void)
{
MotorSpeed(0,0);
}
int main(void)
{
Init();
while(1)
{
if(PollSwitch()==0)
{
MotorDir(FWD,FWD);
MotorSpeed(65,255);
}
if(PollSwitch()==32)
{
MotorDir(FWD,FWD);
MotorSpeed(100,200);
}
if(PollSwitch()==33)
{
MotorDir(RWD,RWD);
MotorSpeed(255,255);
Msleep(1000);
}
if(PollSwitch()!=32)
{
MotorDir(RWD,RWD);
MotorSpeed(255,255);
Msleep(1000);
}
}
}
Jetzt funktioniert aber gar nichts mehr und der Roboter düst einfach nach hinten. Was ist jetzt da falschgelaufen hab ich di Lib nich richtig installiert?
Lesezeichen