The output voltage of the D/A converter sets the triggering point. The DAC, after one stage of buffering, provides enough current to drive the optoisolator. IC3 generates a 2.5V reference; the crystal oscillator and capacitors C1 through C4 set the DAC's timing characteristics. The DAC1220 (Burr-Brown Corp, www.burr-brown.com) connects to the parallel port with three wires for serial transfer of the digital codes.
The Pascal program of Listing 1 reads the PC's keyboard; when you press Q or W, the routine increments or decrements a digital code and sends it to the DAC. The DAC then controls the lamp's intensity. Upon power-up, the DAC receives a digital code of zero, which corresponds to a 2.5V output (the reference voltage).
You then adjust potentiometer R3 such that the lamp is half on. Using the keyboard, you can change the light intensity to the desired level. The dc part of the circuit consumes only approximately 5 mA.