If you are designing mechanical projects like robotics or CNC you probably know that it is very important to know the motor position at any moment to make movement precise. There are many ways to get feedback, but one of them is Optical Encoder. It is based on black and white colored paper and IR transmitter and detector. The idea is simple – when motor slides along – IR detector receives series of high and low level signal that can be counted and converted to position.
In this prototype there is a PIC 18F4520 microcontroller used to read encoder data and control motor via L298 motor controller. In this project optical encoder is made by hand so the accuracy is not high – about ¼”, but it can be a good kick start for other implementations.