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?