I built a Line follower some time ago. It was programmed for following a dark line in a light background and it was able to recognise crossings and decide which to take.
I used an easy PIC16F877. They are cheap and easy to programm.
For detecting the line I used a CNY-70 sensor. It is a photodiode in infrared region and a photo-transistor. The both are toghether encapsulated and work perfectly. So you must not bild your own sensor, which is quite complicate and gives a lot of problems.
You can use a DC Vcc for the transmiter and then detect also DC amplitud in the receiver or if you want to avoid the effect of ambiental light you can transmit a modulated signal of some khz and then use a filter in reception. Anyway the receiver has an small optic filter for ultrared and it is no so sensitive to light, I used it without modulation and it worked perfectly.
You should use at least 3 sensors for detecting the middle of the line and the edges but it works better if you make it with more (5 or more). Anyway I tried an edge-algorithm detecting the edge of the line and with 3 sensors it was enought and the robot was quite fast.
For motors you can use even Servos from RC-autos they are quite fast, cheap.
good luck.
david