Yeah I was thinking of hall sensor as the alternative, but I wanted a more sophisticated solution

.
Budget is not unlimited - a few 100€.
Elevator is pretty slow, and the reaction time is not of importance right now. I just want the elevator to move to the desired floor for the time being.
So if the ADC has only 10 bits my only options are to reduce the precision to 3mm or to reduce the size of the elevator.
Lets say I reduce the size to 75cm what sensor is best for such lengths? Ultra-sound, IR, Laser, interferometer? Like I said its price should also be reasonable

.
Thanks for all the help, I will go and read the newPing() thread now!