Configurar rápidamente una pantalla de 7 segmentos

Esto es sólo un pequeño instructivo para ayudar a las personas rápidamente utilizar un display de 7 segmentos con un Arduino u otro microcontrolador. Estas pantallas requieren 8 lineas de datos y que es un poco mucho sacrificio en la mayoría de los microcontroladores, por lo que hay una mejor manera: con un registro de cambio HC595 o HCT595. En ese caso la pantalla sólo tiene 3 líneas de datos.
Ahora puede ser un poco difícil para el principiante averiguar qué pins para conectar con lo que y entonces cómo obtener los números apropiados para iluminar, pero si nos atenemos a algunas reglas del juego, es bastante fácil. (Nota. revisé la HCT595 mayoría de los lugares es sustancialmente más caro que el HC595, a menos que u realmente necesidad/quiere/tiene la versión HCT, escoger la versión HC.)

Para una cosa... realmente no importa qué pines de la pantalla de 7 segmentos se conecta a la datapins de la 595, porque puede ordenar todo en el código del programa, pero es más fácil adherirse a algunas conexiones estándar.

Si nos fijamos en el diagrama de la pantalla, usted verá que los segmentos tienen un nombre más o menos estandarizado: A-G y DP. si conectas la 595 como sigue:
Q0 -> A
Q1 -> B
Q2 -> C
Q3 -> D
Q4 -> E
Q5 -> F
Q6 -> G
Q7 -> DP
entonces la codificación se convierte estandardizada así.
Determinar a que pin corresponde a qué segmento se hace rápidamente con un multímetro, así como establecer si tiene display de ánodo común o cátodo común. Un vistazo a la parte trasera generalmente ya te dice lo que es la conexión común. Esto es muy a menudo el medio perno en la parte superior e inferior.
Como el segmento de 7 pantalla - como LED - realmente no puede tomar el total de 5 voltios de la mayoría de los micro controladores, es necesaria una resistencia en cada línea. Yo uso 470 Ohm. ES posible utilizar sólo una resistencia en la línea común, pero entonces la intensidad de la luz será diferente dependiendo de la cantidad de segmentos que trabajan.
Todo esto es fácil soldar en algunos perf-tablero como se muestra en la imagen, obviamente si su pin lay-out difiere de la mía, tienes que cambiar las conexiones... o enviar un valor diferente a la HC595. El circuito que te di es para un display de cátodo común, pero por supuesto para un display de ánodo común el principio es el mismo, aunque eso se conecta el común ánodo a + Vcc.

El código es bastante auto explicativo. Obviamente uno no puede enviar sólo un carácter '0' o '9' a la pantalla para obtener el número deseado. Cada número requiere una cantidad específica de segmentos de encenderá y que se corresponde con determinados puertos de 595 a ser alta o baja. Tan por ejemplo para el '8' necesita todos los segmentos de línea, excepto el punto decimal y según nuestra forma estandarizada de conectar, que requiere el número 127 que envíe la 595 (127 = 01111111 = todos los segmentos excepto dp). Si desea que el '8' y la DP, enviar el número 255.
Así que lo más fácil es simplemente crear un array con los valores deseados para cada número y utilizar el número como un índice de esa matriz. Así que si usted quiere un '0' utilizar miembros '0' de la matriz (63), para el 1 utilizas miembro 1 de la matriz (valor 6) etc.
Si quieres el punto digital luz así, simplemente añadir '128' al valor que se envía.

 The coding then is as follows /* Using the 74HC595 shift register with a 7 segment display */ int latchpin = 5;// connect to pin 12 on the '595 int clockpin = 7; // connect to pin 11 on the '595 int datapin = 6; // connect to pin 14 on the '595 // the array contains the binary value to make digits 0-9// uncomment the proper line for common cathode or common anode int segment[10] = {63,6,91,79,102,109,125,7,127,111 }; // for common cathode //int segment[10] = {192,249,164,176,153,146,130,248,128,144 }; // for common anode //These values are always the right ones if you follow the rule of Q0->A, Q1->B etc. void setup() { pinMode(latchpin, OUTPUT); pinMode(clockpin, OUTPUT); pinMode(datapin, OUTPUT); } void loop() { digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 0); // clear the display digitalWrite(latchpin, HIGH); delay(1000); for (int lus=0; lus<10; lus++) // counts from 0 to 9, using the values in the array // those values correspond to the binary outputs 0~9 // to get the digital point: add 128 { digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, segment[lus]+128); digitalWrite(latchpin, HIGH); delay(800); } digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 0); // clear the display digitalWrite(latchpin, HIGH); delay(800); digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 128); // light the decimal point digitalWrite(latchpin, HIGH); delay(800); } 

Artículos Relacionados

Cómo hacer tu cumpleaños en un protoboard utilizando una pantalla de siete segmentos.

Cómo hacer tu cumpleaños en un protoboard utilizando una pantalla de siete segmentos.

Esta es una guía paso a paso para enseñarte cómo crear tu cumpleaños utilizando un protoboard, una pantalla de siete segmentos y un compañero de la protoboard.Paso 1: Conocer sus limitaciones El primer paso para hacer su circuito de cumpleaños sería
Control de una pantalla de 7 segmentos de 4 dígitos con una Raspberry Pi

Control de una pantalla de 7 segmentos de 4 dígitos con una Raspberry Pi

http://www.raspberrypi.org/forums/viewtopic.php?f=...Aquí es una forma de control de dígitos de 7 segmentos 4 con un Raspberry Pi.Por favor vote como realmente quiero ganar un concurso en mi vida :-)No lo siento fotos :-(Paso 1: Los cables! Se trata
Nombre en pantalla de 7 segmentos Atmel Avr

Nombre en pantalla de 7 segmentos Atmel Avr

En este instructable (mi primer uno!) Me gustaría mostrarles algo que hice para un proyecto escolar. La asignación original fue la siguiente: "en MSVS (o Microsoft visual studio) código en lenguaje ensamblador: escriba su nombre como una cadena hexad
Controlado por I2C la pantalla LED 7 segmentos

Controlado por I2C la pantalla LED 7 segmentos

siete exhibiciones de segmento son excelentes para la visualización de los números.  Se puede se puede ver en la oscuridad y no consume demasiada energía sobre todo si el brillo es sofocado detrás con una resistencia.  El mayor inconveniente es que c
Cómo fabricar, configurar e instalar una cámara de sistema de copia de seguridad en una silla de ruedas

Cómo fabricar, configurar e instalar una cámara de sistema de copia de seguridad en una silla de ruedas

sistemas de cámara de vista posterior usados en automóviles pueden fabricados, configurados e instalados en sillas de ruedas de manera que los usuarios pueden aumentar su campo de visión. Nuestro objetivo es diseñar a una guía paso a paso que permite
Cómo hacer una exhibición de segmento siete - Arduino Tutorial

Cómo hacer una exhibición de segmento siete - Arduino Tutorial

Una exhibición de segmento siete, es una forma de dispositivo de pantalla electrónica para exhibir números decimales que se muestra una matriz de puntos alternativa a los más complejos.Displays de siete segmentos se utilizan en relojes digitales, con
Conectar una pantalla LCD y un Sensor de distancia por ultrasonidos a un Arduino

Conectar una pantalla LCD y un Sensor de distancia por ultrasonidos a un Arduino

Cuando empecé a jugar con los Arduinos, ésta fue la primera creación poco hasta me. La orientación del vídeo es un poco pobre. Esta fue mi primera ve las cosas así que pido disculpas que no era tabaco de hasta entonces. De todas formas, muy simple de
Configurar diferentes fondos de pantalla para múltiples monitores

Configurar diferentes fondos de pantalla para múltiples monitores

ha rastreado a través del panel de control busca una manera configurar diferentes fondos para cada uno de los monitores, pero por desgracia, su búsqueda sirvió nada.Lamentablemente esta característica no fue programada en windows. La configuración de
Cómo agregar una pantalla VFD de MatrixOrbital a su caja de Linux

Cómo agregar una pantalla VFD de MatrixOrbital a su caja de Linux

cubre este instructable añadiendo un VFD de MatrixOrbital a su caja de linux. Como todos frikis buenos tengo una caja linux en mi red de casa. Añadiendo una pantalla fluorescente de vacío y corriente LCDProc puede visualizar las estadísticas de salud
Cómo utilizar Pi2 frambuesa con una pantalla de computadora portátil usando VNC Server

Cómo utilizar Pi2 frambuesa con una pantalla de computadora portátil usando VNC Server

¡ Ah! Su tiempo de Navidad y usted encontrara una Frambuesa Pi2, experimentar con, bien Felicidades por eso!!.Pero para realmente utilizar la frambuesa, necesitas una pantalla para ver la salida. Esta máquina maravillosa tiene una salida HDMI pero al
Hacer un coche de espía James Bond (con armas) y una pantalla de Halloween de escuela Spy

Hacer un coche de espía James Bond (con armas) y una pantalla de Halloween de escuela Spy

aquí están las instrucciones necesarias para convertir un Mazda 6 (mi Aston Martin está en la tienda) en un coche del espía James Bond. También incluyo algunas instrucciones sobre el tema general interactivo (escuela Spy) que hemos tenido este año.Ca
Pantalla de 7 segmentos con linkit uno

Pantalla de 7 segmentos con linkit uno

Hola,En este tutorial os voy a contar acerca de visualización de 0-9 dígitos de 7 segmento visualización mediante display de segmentos de Linkit one.7 es muy útil y eficaz para representar valores numéricos y es realmente un display de 8 segmentos de
Pantalla de 7 segmentos generador de números aleatorios (RNG SSD)

Pantalla de 7 segmentos generador de números aleatorios (RNG SSD)

Esta es mi segunda vez construido aplicación basada en arduino. Fácil y gratificante ver su programa de trabajo previsto.Paso 1: partesUtilicé para comenzar con las siguientes partes:-Uno Funduino (idéntico al arduino uno) (en mi opinión)-siete cable
Inicio Aviso: Arduino + nube mensajes en una pantalla grande

Inicio Aviso: Arduino + nube mensajes en una pantalla grande

En la era de los teléfonos móviles, usted esperaría que la gente sería responder a la llamada 24/7.O... no. Una vez mi esposa llega a casa, el teléfono permanece enterrado en su bolso de mano, o su batería está descargada. No tenemos una línea de tie