This robot uses two LDR sensors to measure the relative light intensity on both the right and left side of the robot. If the light level on one side of the robot falls below a certain threshold the robot sends a signal to the motor on that side of the robot to move forwards. As the light intensity increases the PWM speed control signal to the motor gradually reduces its duty cycle, slowing down the motor (eventually to a complete stop).
If the light source starts to approach the robot and gets too close, the motor on that side of the robot will begin to reverse (at first slowly and then more rapidly as the light source gets closer. The robot relies on several op amps to operate: an RC triangle wave oscillator to use as the inverting input of the PWM motor speed controller, an absolute value circuit to create the speed up, slow down, and then speed up effect as the light source goes from dim to bright, a buffer amp to generate a VCC/2 voltage reference, and an op amp as comparator.