Projekte.ctBot2_OberlaenderLi.unterseite6 (Struktur)


Problem 6: Test der Lichtverfolgung

Es ist keine gute Idee einen direkten Vergleich der Spannungswerte der beiden Lichtsensoren durchzuführen, da diese leider auch unter denselben Lichtverhältnissen eine gewisse Differenz aufweisen. Das bedeutet, dass die Spannungswerte niemals gleich groß sein können. So bleibt dem c't-Bot bei ungefähr gleicher Lichteinstrahlung, die prinzipiell eine Geradeausfahrt bewirken sollte, nichts anderes übrig, als sich mal nach links und mal nach rechts zu drehen.

lichtverfolgung.c


void lichtverfolgung(void){

int l_speed=100,r_speed=100;

	if (adc_wert[4]>adc_wert[5]){       // bot soll sich nun nach links drehen
	    led_set(LED_RECHTS);
		CTMotor(l_speed,40);
	   
	}    
	
	if (adc_wert[5]>adc_wert[4]){      // bot soll sich nun nach rechts drehen
	    led_set(LED_LINKS);
	    CTMotor(40, r_speed);
	}    
	
	if(adc_wert[5]==adc_wert[4]){
	    led_set(LED_LINKS|LED_RECHTS);
		CTMotor(l_speed,r_speed);
	}
}

Im Programm lichtverfolgung_neu.c wird eine Differenz der beiden Sensorwerte verwendet. Der c't-Bot biegt nur ab, wenn die Differenz der Spannungswerte, die die beiden Sensoren liefern, größer als 40 ist.

lichtverfolgung_neu.c



void lichtverfolgung(void)
{
int l_speed=100,r_speed=100;

	if ((adc_wert[5]-adc_wert[4]) < -40)     // wenn rechte Seite sehr heller als linke
	{       led_set(LED_RECHTS);		// Rechtsblinker LED an
		CTMotor(l_speed,40);	       //c't-Bot soll sich nun nach rechts drehen
	   
	}    
	
	if ((adc_wert[5]-adc_wert[4]) > 40)   // wenn linke Seite sehr heller als rechte   
	{       led_set(LED_LINKS);          // Linksblinker LED an
	        CTMotor(40, r_speed);	    // c't-Bot soll sich nun nach links drehen
	}    
	
	if((adc_wert[5]-adc_wert[4]) > -40 && (adc_wert[5]-adc_wert[4]) < 40)   // wenn beide Seiten ungefaehr gleich hell
	{       led_set(LED_LINKS|LED_RECHTS);   // beide LEDs an
		CTMotor(l_speed,r_speed);       // c't-Bot geradeaus
	}
}


Autor: ifko, Letzte Änderung: 19.09.2008 19:44:13


 TU Clausthal 2020  Impressum