Ultraschallcode erweitert
Hallo Zusammen,
da mein Asuro, wenn er zu schräg auf ein Hindernis zufährt, anstossen kann, habe ich versucht den US-Code um eine Art "Taster-Kollisions-Schutz" zu erweitern:
Code:
#include "asuro.h"
#include "ultrasonic.h"
#include "myasuro.h"
#define MAXDIFF 80
int main(void)
{
int abstand, abstand_alt, diff;
Init();
abstand = Chirp();
while(TRUE)
{
unsigned char i;
unsigned char taste=0;
abstand_alt = abstand;
abstand = Chirp();
diff = abstand - abstand_alt;
for(i=0;i<10;i++)
{
PollSwitch();
}
taste=PollSwitch();
if( (abstand>15) && (abs(diff)<MAXDIFF) && (taste==0))
{
StatusLED(GREEN);
MotorDir(FWD, FWD);
MotorSpeed(150, 150);
for(i=0;i<10;i++)
{
PollSwitch();
}
}
else
{
StatusLED(RED);
MotorDir(RWD, RWD);
MotorSpeed(100, 200);
Msleep(300);
}
}
return 0;
}
Jetzt aber eine Frage: Wie kann ich einen Zufallsgenerator einbauen, dass der ASURO nicht immer auf die gleiche Seite ausweicht?