UN DISPLAY DIGITAL

DE 7 SEGMENTOS

display

down-rojo-flecha

EL DISPLAY DE 7 SEGMENTOS


Este display es un componente electrónico conpuesto por 7 leds (7 segmentos) más un punto decimal. Sirve para visualizar números del 0 al 9 y algunas letras, según los leds que se hayan encendido.


Este que puedes ver a continuación, cuenta cuando la luz que detecta un LDR (sensor de luz ambiente) disminuye.





Como siempre, los hay de varios tipos. De ánodo común o de cátodo común. Los hay en distintos colores y luminosidades. También los hay de 1, 2 o 3 dígitos.


displays comerciales (40K)

Estos displays tienen en su parte posterior las conexiones: un ánodo común en nuestro caso y una pata por cada uno de los segmentos luminosos. Como es un led, tendremos que intercalar la resistencia adecuada antes de conectarlo, una por segmento.


Así, para encender uno, debe estar conectado el ánodo común y el led que queramos encender, y así con los 7. Así es como se encienden, pero otra cosa distinta es cómo representan el número que queramos. Eso ya es algo más complicado.


EL DESCODIFICADOR 74LS47


El motivo de que las cosas se compliquen un poco es que cuando queremos representar un 1 por ejemplo, hay que activar 2 leds. Para un 2, hay que activar 5 leds; para un 3, también 5 leds... ya ves, sin orden ni concierto. Y además, cada vez son unos segmentos distintos.


Para solucionar este problema, necesitaremos un componente electrónco adicional que "hable" precisamente el idioma del display (que se llama BCD, Código Binario Decimal). Este componente es el 74LS47, un chip muy parecido al PCF8574 que ya conocemos bien. Será necesario uno de ellos por cada display de 1 dígito que pongamos.


Las conexiones las puedes ver a continuación. Cada letra de la "a" a la "g" controla uno de los segmentos del display y que van codificados con las mismas letras. A0 hasta A3 son las entradas en BDC que ya explicaremos y que vienen de las 4 salidas del PCF8475. Vcc es la alimentación y GND tierra. Todo en la línea de lo que ya hemos visto en otras secciones.


datasheet display
74LS47

Para controlar cada 74LS47, necesitamos 4 salidas del PCF8574. Esto es debido a que en realidad está hablando en binario y con 4 salidas podemos escribir desde el número 1111 hasta el 0000. O sea, desde el 15 al 0. Con el 111 llegaríamos al 8 y nos quedaríamos cortos. En realidad, con el 0 hasta el 9 tendríamos suficiente, pero así sobran 6.


Como ejemplo, para crear un circuito con 2 dígitos necesitaremos: 1 PCF8574, 2 74LS47, 2 displays de 7 segmentos y 14 resistencias adecuadas (siempre que no usemos el punto decimal).


UN DIGITO


EL CIRCUITO


Con tanto elemento, es normal que el circuito sea un follón, pero la lógica de montaje es bastante clara. Empezaremos por 1 dígito. Las resistencias previas a los segmentos son de 220 ohm y el común, es el pin 8 que es el que se conecta a la alimentación (cable verde del NXT).


circuito 1 display
circuito 1 display

Así que agárrate si quieres poner 2 dígitos...


En fin, espero que lo puedas seguir bien.


EL PROGRAMA: CONTADOR DE 0 A 9



circuito 1 display

En lugar del bloque de espera de 0,3 segundos, se podría añadir un bloque de espera hasta pulsar el botón naranja del NXT o un bloque de espera del sensor de luz para que avance cuando caiga (o supere) determinado valor. De esta forma ya tienes construido un contador de vueltas para el scalextric, sin más que colocar un led (el emisor) a un lado y el receptor (el LDR) al otro. Consulta para ello la sección correspondiente en los sensores analógicos.


DOS DIGITOS


EL CIRCUITO


Con 2 dígitos ya se pueden hacer más cosas. Puedes hacer 2 marcadores independientes de 0 a 9, uno para cada jugador. Al apretar la flecha izquierda del NXT avanzaría un marcador y al apretar la flecha derecha el otro. O puedes construir una fotocélula para cada uno para que vaya contando.


La otra posibilidad es juntar ambos dígitos y contar de 0 a 99. Vamos a ver este montaje. Por simplificar, sólo pondremos las conexiones de un display, ya que son exactamente iguales.


circuito 2 display

En la siguiente foto puede verse con claridad.. que funciona. Lo demás es un aunténtico caos, pero con paciencia sale.


c1775 (129K)

EL PROGRAMA: CONTADOR DE 0 A 99



El programa es este:


contador 2 digitos (144K)

Como no sé si se ve bien, aclaro que la primera multiplicación es x6 y la segunda x10. El resto son sumas. Los dos ciclos están configurados igual: counter = 10 y la pestaña activada.


EL PROGRAMA: MOSTRAR LOS VALORES DE UN SENSOR



En este programa, ponemos un sensor de luz en el puerto 2. Por cierto, la variable se llama RAW, pero el cable está conectado a "intensity", para que oscile de 0 a 100.


Display 2 digitos (230K)

VARIANTE


Te habrás dado cuenta de que el cable blanco del NXT está sin usar. Esto nos puede valer para acoplar sobre la misma placa un LDR (una resistencia variable con la luz). Para eso, puedes consultar en el apartado de "Sensores analógicos".


De todas formas, es muy simple: conectas el LDR al cable blanco del NXT por un extremo y al negro por el otro. Fijate bien que no estén ya usados los sitios donde pinchas, que hay mucho elemento en el board.


Para leer el sensor, simplemente añade un bloque para un sensor de luz y puedes leer su valor en la pestaña de "intensidad", que va de 0 a 100. Recuerda quitar la pestaña de "Generate Light" para no meter señales extrañas en el circuito.


Otra opción es usar el "raw" del sensor de contacto y escalar su valor entre 0 y 100, ya que si no, nos aportará valores entre 0 y 1023.


Sensor de luz (el LDR) y display estará todo conectado al puerto 1, de forma que leerá el valor de la luz ambiente y la presentará en el display. Y todo ello estará sobre la misma placa, así que tendrás un sensor completo.


up-rojo-flecha
Hasta dónde: direcciones
Reloj calendario
.