Ascensor de 3 plantas con finales de carrera

Buenas, estoy haciendo un proyecto de un ascensor de tres plantas, controlado con un pulsador en cada planta para llamar al ascensor y finales de carrera para detectar en que planta está el ascensor.
Mi problema viene cuando quiero hacer que el ascensor pare en la planta de la que ha sido llamado, no se como hacerlo!
El ascensor se mueve con un servomotor 360º
Alguien que me pueda ayudar??

Hantonius:
Buenas, estoy haciendo un proyecto de un ascensor de tres plantas, controlado con un pulsador en cada planta para llamar al ascensor y finales de carrera para detectar en que planta está el ascensor.
Mi problema viene cuando quiero hacer que el ascensor pare en la planta de la que ha sido llamado, no se como hacerlo!
El ascensor se mueve con un servomotor 360º
Alguien que me pueda ayudar??

Hola,
¿Cómo están cableados los pulsadores (al arduino)?. ¿No hay botonera interna (en la cabina)?
Saludos

Supongo que se trata de un montacarga y los pulsadores son para que la caja suba o baje a dicho piso, por lo que para el 2do piso tu logica deberia analizar si esta en 1ro (subir) o esta en 3ro (bajar).

byte llamada; //De que piso lo llamas
byte esta; //En que piso esta

void loop(){
   switch (llamada){
   case 1:
      //Baja todo
      break;
   case 2:
      if (esta == 1){
         //Sube 1 piso
      }else{
         //Baja 1 piso
      }
      break;
   default:
      //Sube todo
}

Pero si tienes un motor 360 para que quieres los finales de carrera ?

Porque imagino que 0° = 1er, 180° = 2do y 360° 3er piso o no sera asi ?