Einzelnen Beitrag anzeigen
Ungelesen 01.05.11, 07:52   #9
flotti
Mitglied
 
Registriert seit: Mar 2009
Beiträge: 314
Bedankt: 21
flotti ist noch neu hier! | 0 Respekt Punkte
Standard

ich hab hier mal nen beispiel für 2 sensoren, der NQC code ist mangels hardware leider ungetestet...
Code:
/*Belegung: 
	1 := rechter Lichtsensor
	2 := linker Lichtsensor
	A := rechter Motor
	B := linker Motor
*/

#define black 50 //muss noch angepasst werden 
int sr; //wert von rechtem Infarotsensor 
int sl;

void init()
{
	SetSensorLight(IN_1); //Eingang in richtigen Modus setzten 
	SetSensorLight(IN_2);
}

task scan()	//task um nebenläufig zum Hauptprogramm die Sensoren abzufragen
			// muss man nicht so machen
{
    while(1)
    {
	sr = Sensor(IN_1); 
	sl = Sensor(IN_2);
    }
}

task main()
{
	init(); 
	start scan;
	while(1) //endlosschleife
	{
		
		// Schienenprinzip, wenn der rechte Sensor schwarz sieht wird nach links gefahren...
		// grade aus fahren ist in der praxis nicht so wichtig 
		if(sr>=black) 
		{
			OnFwd(OUT_B,60);
		}
		else if(sl>=black)
		{
			OnFwd(OUT_A,60);
		}
	}
}
flotti ist offline   Mit Zitat antworten