PID, DC motor code

I need someone to create some sort of PID code using the Adafruit shield or an l293d and a simple encoder like this https://www.sparkfun.com/datasheets/Components/TW-700198.pdf. I want to be able to set the position of the dc motor in the serial monitor and a side code to have another encoder controlling the dc motor. Example; I put in 180 as a position in the serial monitor, dc motor moves 180 degrees. Example 2; I have another same encoder, I turn that 20 times the motor turns 20 times. Main purpose of this is to control a pulley that delivers materials into a cave (part of a bigger project really). Both codes can be separate. Not looking for perfect precision but nothing radically off.

Ways to make this work. You could have a simple encoder, Arduino, an h bridge, a dc motor, and complete this. Another way is to send me pseudocode and I test it, I send issues back and you revise until completed. I can pay through paypal, ebay, giftcards, escrow, you name it. I am always available for concerns, other ideas, or questions as well I am Arduino savvy to an extent. Shoot me a PM

Stopping and starting a DC motor, to rotate exactly 180 degrees is not a trivial task. Stepping a stepper motor enough times to rotate 180 degree is very simply.

What is this pulley, that the motor is connected to, doing? How much torque is needed? What voltage, and amperage, is available at the site?

What is the PID control for?

THLL:
I need someone to create some sort of PID code using the Adafruit shield or an l293d and a simple encoder like this https://www.sparkfun.com/datasheets/Components/TW-700198.pdf.

Rotational Life: 30,000 cyles. Not a good choice for use with a motor.