Saltar la navegación

Ascensor

Vamos a controlar un ascensor de tres pisos. Serán necesarios tres pulsadores de llamada y tres sensores para detectar el piso en el que se encuentra (podemos usar finales de carrera y/o relés reed que se activan ante la proximidad de un imán); en definitiva, serán precisas 6 entradas digitales. Como la tarjeta LOG 4007 sólo dispone de 4 (I1, I2, I3 e I4), tenemos dos opciones:

  • Utilizar tres teclas del teclado del ordenador como pulsadores y conectar los sensores a las entradas digitales I1, I2 e I3.
  • Usar pulsadores externos conectados a I1, I2 e I3 y unir los sensores a la entrada digital I4 y a las dos entradas analógicas A1 y A2.
   

En este caso, disponemos de dos archivos simuladores: simAscensorTeclado.lgo y simAscensor.lgo.

Ficheros adjuntos: simAscensorTeclado.lgo y simAscensor.lgo

Podemos utilizar las siguientes instrucciones:

gira_motor2_derecha
gira_motor2_izquierda
estado_entrada_digital :numero devuelve on / off
leer_entrada_analogica :numero devuelve (0...255) sólo simAscensor 
detiene_motor2
estado_motor devuelve derecha, izquierda, off

En el vídeo hemos simulado la actividad 4, el ascensor se controla desde tres pulsadores externos.

Actividades

Instrucciones: Abrir y ejecutar el archivo que corresponda simAscensorTeclado.lgo o simAscensor.lgo. Completar las actividades y comprobar su funcionamiento en el entorno de FMSLogo.

1.- Completar el programa adjunto para controlar un ascensor de dos pisos (el 1 y el 3) usando las teclas numéricas 1 y 3 como pulsadores (simAscensorTeclado). Hemos utilizado una lógica diferente a la de la puerta corredera, ya que es más fácil de generalizar en el caso de que el número de pisos sea mayor.

para ascensor2PisosTeclado
haz "piso 1
haz "sensor 1
[FMSLogo]
[controlTeclado]
siempre [
haz "I1 1
haz "I3 3
si :I1="on [haz "sensor 1]
si :I3="on [haz "sensor 3]
si :piso › :sensor [ ]
si :piso ‹ :sensor [ ]
si :piso = :sensor [ ]
]
fin

controlTeclado
"tecla
si = "1 [haz "piso 1]
si = "3 [haz "piso 3]

2.- Ampliar el programa anterior para controlar un ascensor de tres pisos con el teclado (simAscensorTeclado).

3.- Ahora vamos a controlar un ascensor de dos piso (el 1 y el 3 del simulador) utilizando pulsadores externos y las entradas analógicas (simAscensor).

para ascensor2pisos
"piso
"sensor
[
haz "I1 1
haz "I3 3
haz "A1 1
haz "A2 2
si :I1 = "on [haz "piso 1]
si = [haz "piso 3]
si :A1 › 200 [haz "sensor 1]
si  › 200 [ ]
si :piso › :sensor [ ]
si :piso ‹ :sensor[ ]
si :piso = :sensor [ ]
]
fin

4.- Ampliar el programa anterior para controlar el ascensor de tres plantas del simulador (simAscensor).

5.- Programar el ascensor para que realice el siguiente ciclo: sube al piso 2, se detiene 10 segundos, continúa subiendo al piso tres, se detiene otros 10 segundos y, finalmente, baja al piso 1 (utilizar simAscensorTeclado).

Montaje real

El vídeo muestra el montaje real de la actividad 2. Mediante las teclas 1, 2 y 3 le indicamos al ascensor el piso al que tiene que dirigirse. Hemos utilizado como sensores relés reed, que se activan por la presencia de un imán colocado en el lateral de la cabina.

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0