Arbeitsblatt Abstandsregeltempomat 02
Problem/Aufgabe: 
Zur Verbesserung des Komforts muss eine Geschwindigkeitsregelung proportional zum Abstand erreicht werden, d.h. wenn der Abstand sich nur geringfügig ändert, muss das Intelligent Car nur sanft anfahren oder bremsen und je größer die Abstandsänderung wird, desto mehr kann es beschleunigen oder abbremsen.
Lösung/Diskussion:

Bei der Implementierung wird das Konzept einer Funktion kennengelernt, d.h. ein Programmteil, der zusammen mit einem Argument aufgerufen wird und entsprechend dieses Arguments einen Wert, den Funktionswert, berechnet.
Beispielprogramm (Auszug):
(vollständiges Programm: < ACC 04 IntelligentCar.nxc>)
task main() 
{
    SetSensorLowspeed(US_PORT);
    initDist = SensorUS(US_PORT);
    while (TRUE) 
    {
        while (SensorUS(US_PORT) > initDist) 
        {
            callDist = SensorUS(US_PORT);
            if (callDist > maxDist) callDist = maxDist;
            OnFwd(driveMotor, getPower(callDist));
        }
        Off(driveMotor);
    }
}