Ir al contenido principal

Display de 7 segmentos con 74LS247

Ya hemos hablado del control de un display de siete segmentos en un artículo anterior (implementando la lógica de control con una FPGA).

Circuito display 7 segmentos
Las bases son las mismas, y si buscas, encontraras por la red miles de tutoriales sobre como gestionar estos display con Arduino.

Esquema 7 segmentos

La verdad es que no es difícil, pero le veo un par de inconvenientes. Por un lado, si te fijas en la figura de arriba, para gestionar un display son necesarias ocho conexiones digitales entre el Arduino y el display. Y eso sólo para un display, si necesitas más es probable que no tengamos suficientes pines para gestionarlos. Otra pega es que tendremos que programar la lógica del display en el propio Arduino. Es decir, que si queremos mostrar un número, el programa tendrá que evaluar qué LEDs han de encenderse y cuales han de apagarse, lo que requiere tiempo de proceso y un consumo de energía relativamente alto para ser una gestión secundaria (querremos que el microcontrolador se ocupe de tareas menos mundanas que decidir qué LED encender para mostrar, por ejemplo, la temperatura de la sala). Para la gestión de estos displays hay circuitos integrados especializados que son bastante más eficientes gestionando los LED de lo que lo pueda ser un microcontrolador. Son los llamados decodificadores de siete segmentos. Por ejemplo, el 74LS247 (en este caso he usado un sn74LS247n). Estos decodificadores aceptan un valor en formato BCD y activan las salidas correspondientes en el display para mostrar dicho valor.

Lo primero a tener en cuenta es el tipo de display que vamos a usar. Hay dos tipos, de ánodo común y de cátodo común. Como puedes observar en el esquema que más abajo, la diferencia es que en el primero todos los LED comparten la conexión a Vcc mientras que en el segundo, comparten la conexión a tierra. Esto es importante porque dependiendo del tipo de display, tendremos que buscar un integrado que sea capaz de gestionarlo. En este caso he usado un display con ánodo común.

7 segmentos doble

El 74LS247 viene en formato DIP con 16 patillas. Además de la patilla GND y Vcc (5V), disponemos de cuatro pines de entrada (A, B, C y D) que usaremos para indicar el valor que queremos mostrar en el display, en formato BCD. Las salidas (desde a hasta g) se conectan a las patillas correspondientes en el display (tienen el mismo nombre como puedes observar en los esquemas de más arriba). Además disponemos de tres entradas de control: LT (lamp test), RBI (RB input) y RBO (RB outout). Entre otras cosas, son útiles para comprobar el buen estado del display: cuando RBO está a nivel alto y LT está a nivel bajo, se activan todas las salidas, encendiendo todos los LED del display, lo que nos permite comprobar que todos los LED funcionan correctamente. Tienen más funcionalidades, pero aquí no las vamos a usar por el momento.

Esquema 74LS247

Así pues, hechas las presentaciones, vamos a ver cómo se conectan el display y el 74LS247.

Esquema circuito

Las entradas A, B, C y D las he conectado al 74LS247 con unos interruptores DIP mediante unas resistencias pull-down (200Ω). Las salidas de la pastilla las he conectado directamente al display mediante resistencias de 200Ω. Sólo tenemos que manipular los cuatro primeros interruptores para poner el valor binario del dígito que queremos mostrar en el display. Os dejo un vídeo para que veáis como funciona.

Comentarios

Entradas populares de este blog

Creando firmas de virus para ClamAV

ClamAv es un antivirus opensource y multiplataforma creado por Tomasz Kojm muy utilizado en los servidores de correo Linux. Este antivirus es desarrollado por la comunidad, y su utilidad práctica depende de que su base de datos de firmas sea lo suficientemente grande y actualizado. Para ello es necesario que voluntarios contribuyan activamente aportando firmas. El presente artículo pretende describir de manera sencilla cómo crear firmas de virus para ClamAV y contribuir con ellas a la comunidad.

Ingeniería inversa de un parche de Microsoft Windows

A estas alturas ya hemos asumido que la seguridad total en Internet es, cuanto menos, un mito. Ningún software está libre de vulnerabilidades, y por mucha auditoría, test de intrusión o pruebas de fuzzing que nos empeñemos en hacer, ninguna metodología puede demostrar sin lugar a dudas que un software es 100% seguro. Ante este panorama, hay dos tendencias mayoritarias a la hora de hacer públicas las vulnerabilidades. Por un lado, están los que piensan que cuando se descubre un fallo ha de hacerse público de forma inmediata. En este escenario, la publicación de una vulnerabilidad es el pistoletazo de salida para una carrera entre el desarrollador para sacar el parche y los "malos" para lograr explotarla. Esta política es conocida como full disclosure . Por otro lado, tenemos a los siguen una política responsible disclosure , que abogan por mantener la vulnerabilidad en secreto hasta la salida del parche por parte del desarrollador. Sin entrar en cuestiones filosóficas que no...

Manejo de grafos con NetworkX en Python

El aprendizaje computacional es un área de investigación que en los últimos años ha tenido un auge importante, sobre todo gracias al aprendizaje profundo (Deep Learning). Pero no todo son redes neuronales. Paralelamente a estas técnicas, más bien basadas en el aprendizaje de patrones, también hay un auge de otras técnicas, digamos, más basadas en el aprendizaje simbólico. Si echamos la vista algunos años atrás, podemos considerar que quizá, la promesa de la web semántica como gran base de conocimiento ha fracasado, pero no es tan así. Ha ido transmutándose y evolucionando hacia bases de conocimiento basadas en ontologías a partir de las cuales es posible obtener nuevo conocimiento. Es lo que llamamos razonamiento automático y empresas como Google ya lo utilizan para ofrecerte información adicional sobre tus búsquedas. Ellos lo llaman Grafos de Conocimiento o Knowledge Graphs . Gracias a estos grafos de conocimiento, Google puede ofrecerte información adicional sobre tu búsqueda, ad...