16. Indicador de ascensor - angelmicelti/Aprendiz-de-Maker GitHub Wiki

En una conocida cadena de hoteles encontré un indicador en la parte superior de los ascensores que se podía implementar fácilmente con electrónica asequible al nivel de E.S.O.

Dejo aquí unos bocetos:
Boceto arriba y abajo

Boceto izquierda y derecha

Diseños con Inkscape

Figura

Con esta distribución se indican en el ascensor la subida y la bajada del mismo:

Subida

Bajada

Yo he ampliado la funcionalidad, añadiendo las figuras de izquierda y derecha:

Izquierda

Derecha

Carcasa

He construido una sencilla carcasa formada por dos triángulos equiláteros encajados a media pieza a la altura de los puntos medios de dos lados.
En el centro se nos forma un rombo, en el que voy a alojar dos ledes.

Planta del montaje

El desarrollo de las dos piezas necesarias puede verse a continuación:

Desarrollo de la pieza

Tienes el archivo DXF disponible en este enlace.

He construido ambas piezas en cartón, reciclando una caja de medicamentos:

Carcasa

Para cerrar, por la parte superior, he fabricado una tapa de plástico de 6x6 cm:

Pantalla

Placa electrónica

He implementado el circuito con 6 ledes, unos pines a 90º y unas resistencias SIL de 220 ohmios, lo cual nos da suficiente para conectar a Arduino o a una FPGA del tipo Alhambra II.

Vista anterior

Vista anterior de la placa montada

Vista posterior

Vista posterior de la placa montada

Circuito lógico

Tabla de verdad

Asocio a cada uno de los cuatro pulsadores una variable lógica: U, D, L y R (respectivamente, arriba, abajo, izquierda y derecha). Las salidas (a, b, c, d y e) corresponderán a los ledes que forman parte del indicador.

n U D L R a b c d e f
0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 1 1
2 0 0 0 0 1 1 1 1 0 0
3 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 1 1 0 1 0 1
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0
8 0 0 0 1 0 1 1 1 1 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0

Una vez que tengo esta tabla de verdad, simplifico las funciones lógicas (a, b, c, d, e y f) para obtener lo siguiente:

Funciones simplificadas

implemento con puertas lógicas, utilizando el simulador Digital, para que me quede el siguiente esquema:

Implementación con puertas lógicas

Implementación en IceStudio y FPGA.

Finalmente, traslado la implementación a una FPGA Alhambra II y construyo el circuito lógico empleando IceStudio, el software para programar dicha FPGA.

Circuito lógico en IceStudio

Puedes descargar el archivo de IceStudio en este enlace.

Vídeo

Y aquí tenemos el montaje funcionando:
Montaje en funcionamiento

Explicación del vídeo:

He conectado los cuatro pulsadores U, D, L y R a los puertos D13, D12, D11 y D10 de la FPGA. Así mismo, he colocado los seis ledes (nombrados como a, b, c, d, e y f) a los pines D5, D4, D3, D2, D1 y D0 de la placa.