Arbeitsblatt Einparken 03
Problem/Aufgabe: 
Das Intelligent Car fährt an parkenden Autos vorbei, erkennt eine passende Parklücke und parkt dort ein.
Lösung/Diskussion:
Während in den vorausgegangen Beispielen immer mehr oder weniger sorgfältig eine Ausgangsposition und eine passende Parklücke gewählt werden musste, so wird die Einparkhilfe nun dahingehend optimiert, dass das Intelligent Car auch selbständig Parklücken erkennt und den zuvor implementierten Einparkvorgang dann nach dem Finden einer passenden Parklücke ausführt.
Beispielprogramm (Auszug):
(vollständiges Programm: <PA 04 IntelligentCar.nxc>)
task main() 
{
    SetSensorLowspeed(US_PORT);
    SetSensorTouch(TS_PORT1);
    SetSensorTouch(TS_PORT2);
    initDist = SensorUS(US_PORT);
    OnFwd(driveMotor, 50);
    do 
    {
        actDist = SensorUS(US_PORT);
        NumOut(0,0,actDist);
        Wait(50);
    } while (actDist < initDist+10)
    ResetRotationCount(driveMotor);
    do 
    {
        actDist = SensorUS(US_PORT);
        NumOut(0,0,actDist);
        Wait(50);
    } while (actDist > initDist+10)
    rotInDegree = MotorRotationCount(driveMotor);
    length = getLength(rotInDegree);
    Off(driveMotor);
    if (length+3 >= 50) 
    {
        parkCar();
    } else 
    {
        PlayTone(500,500);
    }
}