SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
NOTA DE APLICACIÓN
AN-U003
Control de un display 7-segmentos de 3 dígitos
usando USBee
AN-U003
Naxus Sistemas Inteligentes
Cra. 84A #5 - 12
Cali, Colombia
www.naxuscolombia.com
contacto@naxuscolombia.com
Revisión 1.0 Página 2
AN-U003
Índice de contenido
1.INTRODUCCIÓN......................................................................................4
2.RECURSOS.............................................................................................4
3.DESCRIPCIÓN DEL MONTAJE.....................................................................5
4.DESCRIPCIÓN DEL SOFTWARE..................................................................6
5.CÓDIGO.................................................................................................7
6.BIBLIOGRAFÍA........................................................................................9
Revisión 1.0 Página 3
AN-U003
1. INTRODUCCIÓN
Los displays 7 segmentos son ampliamente utilizados para interfaces HMI
(Interfaces Humano-Máquina por sus siglas en inglés). Esta nota de
aplicación describe el manejo de un display de 3 digitos de 7 segmentos
usando USBee. Se presentan las nociones generales sobre manejo de
dígitos 7 segmentos y se describe la librería 7seg.h que hace parte del
software desarrollado para USBee.
Figura 1: Display de 3
dígitos, 7 segmentos
2. RECURSOS
A continuación se describen los recursos necesarios para realizar el
montaje:
• Tarjeta de desarrollo USBee.
• Cable mini USB para programación de USBee.
• Tarjeta de prototipado rápido 7SEG (Figura 1) o en su defecto un
display de 3 dígitos 7 segmentos, ánodo común.
Revisión 1.0 Página 4
AN-U003
3. DISPLAYS 7 SEGMENTOS
3.1 Generalidades
Los displays 7 segmentos están conformados por un conjunto de LEDs en
una disposición predefinida, que permite generar tanto caracteres
numéricos como alfanuméricos. La figura 2 ilustra la distribución de estos
leds en un dígito 7 segmentos y la nomenclatura utilizada.
(a) (b)
Figura 2: (a) LEDs que componen un display 7 segmentos, y (b) distribución para un display de cátodo
común
La figura 3 ilustra la generación de caracteres numéricos con un dígito 7
segmentos.
Figura 3: Generación de caracteres numéricos con un display 7 segmentos
Revisión 1.0 Página 5
AN-U003
Los displays 7 segmentos se pueden encontrar tanto de cátodo común como
de ánodo común. La diferencia radica en la polaridad de las señales a, b, c,
d, e, f, g y DP que se debe utilizar para encenderlos. Un display 7
segmentos de cátodo común las señales son activas altas, y se activarán
con 1 lógicos (típicamente 5V), mientras que los de ánodo común tienen
señales activas bajas, lo que implica que se activan con 0 lógicos (GND o
tierra). La figura 4 ilustra ejemplos de conexión de displays 7 segmentos de
ánodo común y de cátodo común.
(a) (b)
Figura 4: Ejemplos de conexión para (a) ánodo común, y (b) cátodo común
3.2 Identificación de pines
Cuando se adquiere un display 7 segmentos, es común no contar con la
hoja de datos del mismo, solamente se conoce si es de ánodo o cátodo
común. Una manera de identificar la disposición de pines es utilizar un
multímetro funcionando en modo de probador de diodos. Si el display es de
ánodo común, sitúe la punta negra en uno de los pines del display, y
comience a probar continuidad con la punta roja del multímetro los otros
pines. Verifique en qué momento se enciende uno de los LEDs del display.
Cuando uno se haya encendido, el pin que toque con la punta roja es el
ánodo común del dispositivo. En caso tal que no haya encendido ningún
LED, es probable que la punta negra esté localizada justamente en el ánodo
común, así que cambie la ubicación de la punta negra y comience el
procedimiento nuevamente. Para displays de cátodo común el
procedimiento es idéntico, sólo utilice las puntas a la inversa: seleccione un
pin con la punta roja, y con la punta negra comience a probar continuidad
Revisión 1.0 Página 6
AN-U003
en los otros pines.
3.3 Displays 7 segmentos multiplexados
Existen displays 7 segmentos que incluyen más de un dígito, como se
observa en la figura 5.
Figura 5: Display 7 segmentos de 3
dígitos
Generalmente los displays que disponen de más de dos dígitos cuentan con
el bus de señales a-g (o bus de datos) multiplexado. Esto quiere decir que
los dígitos comparten el bus de datos y cuentan con otras señales para
activar cada dígito, que son los ánodo o cátodo común de cada dígito. Este
bus también se denomina bus de control. La figura ilustra mejor esta
configuración.
Figura 6: Esquemático de un display 7 segmentos de tres dígitos
Revisión 1.0 Página 7
AN-U003
Esto implica que se ahorran pines de conexión (un solo bus de datos para
todos los dígitos), aunque solamente se podrá tener encendido un dígito al
tiempo, lo que pareciera ser una desventaja. Sin embargo, en este tipo de
configuraciones se aprovecha el hecho de que la visión humana retiene las
imágenes unos milisegundos. Esto quiere decir que, si se actualiza cada
dígito a una frecuencia más rápida a la del ojo, engañaríamos el sentido de
la vista haciéndole creer que los tres dígitos están encendidos al mismo
tiempo. Si la frecuencia de actualización de los dígitos está muy cercana a
la que el ojo puede detectar, notaremos un parpadeo en el display. Si
aumentamos esta frecuencia, el parpadeo desaparece. Justamente esta
configuración es la que se aprovechará en esta nota de aplicación.
4. DESCRIPCIÓN DEL MONTAJE
Las siguientes imágenes ilustran la conexión requerida para probar el
programa de ejemplo, ya sea utilizando la tarjeta de prototipado rápido
7SEG o un display 7 segmentos de ánodo común. El pinout del display
utilizado es descrito en la figura.
Figura 7: Pinout del display de 3
dígitos 7 segmentos utilizado
Como se puede observar, el bus de datos está en color naranja y el bus de
control en color violeta. Se requiere del uso de transistores PNP (Ej:
2N3906) en el caso de que no se utilice la tarjeta 7SEG. No se han
conectado resistencias al montaje ya que las salidas de USBee permiten
conexión directa de LEDs. Sin embargo si es importante limitar el uso de
corriente, disponga de sus respectivas resistencias a las líneas.
Revisión 1.0 Página 8
AN-U003
Figura 8: Conexión de un display de 3 dígitos 7 segmentos de ánodo común
Figura 9: Conexión de la tarjeta 7SEG que incluye un display de 3 dígitos 7 segmentos de ánodo
común
Revisión 1.0 Página 9
AN-U003
5. DESCRIPCIÓN DEL SOFTWARE
Para el control del display 7 segmentos se utilizarán las librerías USBee
<7seg.h> y la rutina de retardos <util/delay.h>, disponible en avr-libc [2].
A continuación se describen brevemente las funciones de la librería 7seg.h.
FUNCIÓN DESCRIPCIÓN
d7seg_init Rutina que se encarga de configurar el hardware utilizado
para el control del display 7 segmentos. Se recomienda
configurar inicialmente el archivo de cabecera 7seg.h,
para cambiar el puerto de conexión del display,
específicamente los valores de D7SEG_PORT, D7SEG_EN y
D7SEG_EN1, D7SEG_EN2 y D7SEG_EN3. Recibe como
parámetro el valor inicial
d7seg_put Rutina que actualiza el número a mostrar en el display.
Como parámetro recibe el número en cuestión.
d7seg_error Rutina que muestra en el display la palabra "Out".
d7seg_refresh Rutina que debe ser llamada constantemente para
refrescar el display.
Para mayor información sobre la librería y sus funciones, remitase a la
documentación Doxygen de la misma.
6. CÓDIGO
A continuación se presenta el código utilizado para el ejemplo. Los archivos
se pueden conseguir en la siguiente URL:
http://ww.naxuscolombia.com/productos/tarjetas-de-desarrollo/an-u003/.
Ejemplo:
main-7seg.c
/***************************************************************
 * NAXUS SISTEMAS INTELIGENTES 
 * 
 * Nota de aplicacion AN­U003: Control de un display 7 segmentos 
Revisión 1.0 Página 10
AN-U003
 * 
 * Copyright 2010­2011 
 **************************************************************/ 
#include <avr/io.h> 
#include "7seg.h" 
int main(void) 
{ 
//val es la variable de cuentas y deb la que permite implementar el 
antirebote por software 
unsigned char val = 0, deb = 0; 
 
//inicializacion del display 
d7seg_init(0); 
 
//la entrada PB3 la utilizaremos para leer los pulsos. Por lo tanto se 
configura como entrada. 
PORTB &= ~(1<<PB3); 
 
//Muestra el mensaje "Out" 
 
d7seg_error(); 
 
while(1) 
{ 
//si llega un pulso 
if(PINB & (1<<PB3)) 
{ 
//sistema antirebote 
if(!deb) 
{ 
val++; 
deb = 1; 
//actualiza el valor a mostrar en el display 
d7seg_put(val); 
} 
} 
else 
deb = 0; 
 
 
//Esta funcion se debe estar llamando constantemente, ya que es 
la encargada de actualizar el display  
d7seg_refresh(); 
} 
return 1; 
}
Revisión 1.0 Página 11
AN-U003
7. BIBLIOGRAFÍA
1. "Display 7 segmentos"
[online]http://es.wikipedia.org/wiki/Visualizador_de_siete_segmentos
2. "7 segment display" [online] http://en.wikipedia.org/wiki/Seven-
segment_display
Revisión 1.0 Página 12

Más contenido relacionado

La actualidad más candente

Boletin 3 tv chino
Boletin 3   tv chinoBoletin 3   tv chino
Boletin 3 tv chinoJulio Moran
 
Descubra como reparar monitores de pc, en 8 dias dia ii
Descubra como reparar monitores de pc, en 8 dias   dia iiDescubra como reparar monitores de pc, en 8 dias   dia ii
Descubra como reparar monitores de pc, en 8 dias dia iisena
 
Descubra como reparar monitores de pc, en 8 dias, dia viii
Descubra como reparar monitores de pc, en 8 dias, dia viiiDescubra como reparar monitores de pc, en 8 dias, dia viii
Descubra como reparar monitores de pc, en 8 dias, dia viiisena
 
5 instrumentacion basica y simulacion
5 instrumentacion basica y simulacion5 instrumentacion basica y simulacion
5 instrumentacion basica y simulacionKRNFORD
 
Descubra como reparar monitores de pc, en 8 dias, dia vii
Descubra como reparar monitores de pc, en 8 dias, dia viiDescubra como reparar monitores de pc, en 8 dias, dia vii
Descubra como reparar monitores de pc, en 8 dias, dia viisena
 
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PMultiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PFernando Marcos Marcos
 
Descubra como reparar monitores de pc, en 8 dias, dia iii
Descubra como reparar monitores de pc, en 8 dias, dia iiiDescubra como reparar monitores de pc, en 8 dias, dia iii
Descubra como reparar monitores de pc, en 8 dias, dia iiisena
 
Proyecto 7 segmentos v1.
Proyecto 7 segmentos v1.Proyecto 7 segmentos v1.
Proyecto 7 segmentos v1.Adán Silva
 
Camila barrera y maryi mendieta laboratorio monitor
Camila barrera y maryi mendieta laboratorio monitorCamila barrera y maryi mendieta laboratorio monitor
Camila barrera y maryi mendieta laboratorio monitorMaryi Mendieta
 
Descubra como reparar monitores de pc, en 8 dias, dia iv
Descubra como reparar monitores de pc, en 8 dias, dia ivDescubra como reparar monitores de pc, en 8 dias, dia iv
Descubra como reparar monitores de pc, en 8 dias, dia ivsena
 
25458297 taller-de-electronica-1
25458297 taller-de-electronica-125458297 taller-de-electronica-1
25458297 taller-de-electronica-1ninguna
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...SANTIAGO PABLO ALBERTO
 
Multiplexeo dedisplay
Multiplexeo dedisplayMultiplexeo dedisplay
Multiplexeo dedisplaysystemgil
 
Proyecto micro
Proyecto microProyecto micro
Proyecto microjhompix
 
Práctica ordenador del taller
Práctica ordenador del tallerPráctica ordenador del taller
Práctica ordenador del tallerivan_GT
 

La actualidad más candente (18)

Boletin 3 tv chino
Boletin 3   tv chinoBoletin 3   tv chino
Boletin 3 tv chino
 
Descubra como reparar monitores de pc, en 8 dias dia ii
Descubra como reparar monitores de pc, en 8 dias   dia iiDescubra como reparar monitores de pc, en 8 dias   dia ii
Descubra como reparar monitores de pc, en 8 dias dia ii
 
Descubra como reparar monitores de pc, en 8 dias, dia viii
Descubra como reparar monitores de pc, en 8 dias, dia viiiDescubra como reparar monitores de pc, en 8 dias, dia viii
Descubra como reparar monitores de pc, en 8 dias, dia viii
 
5 instrumentacion basica y simulacion
5 instrumentacion basica y simulacion5 instrumentacion basica y simulacion
5 instrumentacion basica y simulacion
 
Descubra como reparar monitores de pc, en 8 dias, dia vii
Descubra como reparar monitores de pc, en 8 dias, dia viiDescubra como reparar monitores de pc, en 8 dias, dia vii
Descubra como reparar monitores de pc, en 8 dias, dia vii
 
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PMultiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
 
Descubra como reparar monitores de pc, en 8 dias, dia iii
Descubra como reparar monitores de pc, en 8 dias, dia iiiDescubra como reparar monitores de pc, en 8 dias, dia iii
Descubra como reparar monitores de pc, en 8 dias, dia iii
 
Proyecto 7 segmentos v1.
Proyecto 7 segmentos v1.Proyecto 7 segmentos v1.
Proyecto 7 segmentos v1.
 
Camila barrera y maryi mendieta laboratorio monitor
Camila barrera y maryi mendieta laboratorio monitorCamila barrera y maryi mendieta laboratorio monitor
Camila barrera y maryi mendieta laboratorio monitor
 
Descubra como reparar monitores de pc, en 8 dias, dia iv
Descubra como reparar monitores de pc, en 8 dias, dia ivDescubra como reparar monitores de pc, en 8 dias, dia iv
Descubra como reparar monitores de pc, en 8 dias, dia iv
 
Proyecto2
Proyecto2Proyecto2
Proyecto2
 
25458297 taller-de-electronica-1
25458297 taller-de-electronica-125458297 taller-de-electronica-1
25458297 taller-de-electronica-1
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
 
Micro2 tema 4
Micro2 tema 4Micro2 tema 4
Micro2 tema 4
 
Multiplexeo dedisplay
Multiplexeo dedisplayMultiplexeo dedisplay
Multiplexeo dedisplay
 
Instrucciones avanzadas v2_2
Instrucciones avanzadas v2_2Instrucciones avanzadas v2_2
Instrucciones avanzadas v2_2
 
Proyecto micro
Proyecto microProyecto micro
Proyecto micro
 
Práctica ordenador del taller
Práctica ordenador del tallerPráctica ordenador del taller
Práctica ordenador del taller
 

Similar a Nota de Aplicacion AN-U003

Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 
Guía de laboratorio 9
Guía de laboratorio 9Guía de laboratorio 9
Guía de laboratorio 9CUN
 
Display de-7-elementos-protoboard
Display de-7-elementos-protoboardDisplay de-7-elementos-protoboard
Display de-7-elementos-protoboardMarcelo Vargas
 
Reparacion de monitores
Reparacion de monitoresReparacion de monitores
Reparacion de monitoresjosesuruy
 
Practica 2 manejo del código bcd en display de 7 segmentos.
Practica 2 manejo del código bcd en display de 7 segmentos.Practica 2 manejo del código bcd en display de 7 segmentos.
Practica 2 manejo del código bcd en display de 7 segmentos.JavierDeJesusCamacho1
 
Programando Wiring con NXProg
Programando Wiring con NXProgProgramando Wiring con NXProg
Programando Wiring con NXProgalepusto
 
Arduino: Display de 7 segmentos y como crear un dado electrónico
Arduino: Display de 7 segmentos y como crear un dado electrónicoArduino: Display de 7 segmentos y como crear un dado electrónico
Arduino: Display de 7 segmentos y como crear un dado electrónicoSANTIAGO PABLO ALBERTO
 
Manual cableado displays_7segmentos_2012_rev1.0_castellano
Manual cableado displays_7segmentos_2012_rev1.0_castellanoManual cableado displays_7segmentos_2012_rev1.0_castellano
Manual cableado displays_7segmentos_2012_rev1.0_castellanofelipe tejada
 
PCB voltímetro digital casero con ICL7107 Electrónica
PCB voltímetro digital casero con ICL7107 Electrónica PCB voltímetro digital casero con ICL7107 Electrónica
PCB voltímetro digital casero con ICL7107 Electrónica SANTIAGO PABLO ALBERTO
 
Lcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a pasoLcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a pasoMaxwellGrahamBell
 
Hoja de datos programador NXProg
Hoja de datos programador NXProgHoja de datos programador NXProg
Hoja de datos programador NXProgalepusto
 
Contador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionContador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionJimena Rachel
 
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...ErickJonathanCorzoNe
 
Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)nidiau
 
Monitores_180604
Monitores_180604Monitores_180604
Monitores_180604SPDUQUE
 
Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)nidiau
 
Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)nidiau
 

Similar a Nota de Aplicacion AN-U003 (20)

Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Guía de laboratorio 9
Guía de laboratorio 9Guía de laboratorio 9
Guía de laboratorio 9
 
Display de-7-elementos-protoboard
Display de-7-elementos-protoboardDisplay de-7-elementos-protoboard
Display de-7-elementos-protoboard
 
Reparacion de monitores
Reparacion de monitoresReparacion de monitores
Reparacion de monitores
 
Practica 2 manejo del código bcd en display de 7 segmentos.
Practica 2 manejo del código bcd en display de 7 segmentos.Practica 2 manejo del código bcd en display de 7 segmentos.
Practica 2 manejo del código bcd en display de 7 segmentos.
 
Programando Wiring con NXProg
Programando Wiring con NXProgProgramando Wiring con NXProg
Programando Wiring con NXProg
 
Arduino: Display de 7 segmentos y como crear un dado electrónico
Arduino: Display de 7 segmentos y como crear un dado electrónicoArduino: Display de 7 segmentos y como crear un dado electrónico
Arduino: Display de 7 segmentos y como crear un dado electrónico
 
Manual cableado displays_7segmentos_2012_rev1.0_castellano
Manual cableado displays_7segmentos_2012_rev1.0_castellanoManual cableado displays_7segmentos_2012_rev1.0_castellano
Manual cableado displays_7segmentos_2012_rev1.0_castellano
 
PCB voltímetro digital casero con ICL7107 Electrónica
PCB voltímetro digital casero con ICL7107 Electrónica PCB voltímetro digital casero con ICL7107 Electrónica
PCB voltímetro digital casero con ICL7107 Electrónica
 
Practica7 transferencia registro
Practica7 transferencia registroPractica7 transferencia registro
Practica7 transferencia registro
 
Lcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a pasoLcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a paso
 
Proyecto1
Proyecto1Proyecto1
Proyecto1
 
3. visualizadores
3. visualizadores3. visualizadores
3. visualizadores
 
Hoja de datos programador NXProg
Hoja de datos programador NXProgHoja de datos programador NXProg
Hoja de datos programador NXProg
 
Contador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionContador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacion
 
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
 
Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)
 
Monitores_180604
Monitores_180604Monitores_180604
Monitores_180604
 
Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)
 
Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)Cardenas uchima duque_monitores_180604 (1)
Cardenas uchima duque_monitores_180604 (1)
 

Más de alepusto

Manual del robot NXBOT
Manual del robot NXBOTManual del robot NXBOT
Manual del robot NXBOTalepusto
 
ParkNET - Testing Value Proposition
ParkNET - Testing Value PropositionParkNET - Testing Value Proposition
ParkNET - Testing Value Propositionalepusto
 
ParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis ProjectParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis Projectalepusto
 
Venture lab second assignment presentation
Venture lab second assignment presentationVenture lab second assignment presentation
Venture lab second assignment presentationalepusto
 
Manual SinaProg
Manual SinaProgManual SinaProg
Manual SinaProgalepusto
 
Hoja datos AVR-Board
Hoja datos AVR-BoardHoja datos AVR-Board
Hoja datos AVR-Boardalepusto
 
Hoja datos microSD
Hoja datos microSDHoja datos microSD
Hoja datos microSDalepusto
 
Manual Atmel FLIP
Manual Atmel FLIPManual Atmel FLIP
Manual Atmel FLIPalepusto
 
Navegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaNavegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaalepusto
 
Hoja de datos USB2TTL
Hoja de datos USB2TTLHoja de datos USB2TTL
Hoja de datos USB2TTLalepusto
 
Hoja datos DP8
Hoja datos DP8Hoja datos DP8
Hoja datos DP8alepusto
 
Hoja de datos LD8
Hoja de datos LD8Hoja de datos LD8
Hoja de datos LD8alepusto
 
Nota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBeeNota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBeealepusto
 
Hoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee DuoHoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee Duoalepusto
 

Más de alepusto (14)

Manual del robot NXBOT
Manual del robot NXBOTManual del robot NXBOT
Manual del robot NXBOT
 
ParkNET - Testing Value Proposition
ParkNET - Testing Value PropositionParkNET - Testing Value Proposition
ParkNET - Testing Value Proposition
 
ParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis ProjectParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis Project
 
Venture lab second assignment presentation
Venture lab second assignment presentationVenture lab second assignment presentation
Venture lab second assignment presentation
 
Manual SinaProg
Manual SinaProgManual SinaProg
Manual SinaProg
 
Hoja datos AVR-Board
Hoja datos AVR-BoardHoja datos AVR-Board
Hoja datos AVR-Board
 
Hoja datos microSD
Hoja datos microSDHoja datos microSD
Hoja datos microSD
 
Manual Atmel FLIP
Manual Atmel FLIPManual Atmel FLIP
Manual Atmel FLIP
 
Navegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaNavegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fuga
 
Hoja de datos USB2TTL
Hoja de datos USB2TTLHoja de datos USB2TTL
Hoja de datos USB2TTL
 
Hoja datos DP8
Hoja datos DP8Hoja datos DP8
Hoja datos DP8
 
Hoja de datos LD8
Hoja de datos LD8Hoja de datos LD8
Hoja de datos LD8
 
Nota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBeeNota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBee
 
Hoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee DuoHoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee Duo
 

Nota de Aplicacion AN-U003

  • 1. NOTA DE APLICACIÓN AN-U003 Control de un display 7-segmentos de 3 dígitos usando USBee
  • 2. AN-U003 Naxus Sistemas Inteligentes Cra. 84A #5 - 12 Cali, Colombia www.naxuscolombia.com contacto@naxuscolombia.com Revisión 1.0 Página 2
  • 3. AN-U003 Índice de contenido 1.INTRODUCCIÓN......................................................................................4 2.RECURSOS.............................................................................................4 3.DESCRIPCIÓN DEL MONTAJE.....................................................................5 4.DESCRIPCIÓN DEL SOFTWARE..................................................................6 5.CÓDIGO.................................................................................................7 6.BIBLIOGRAFÍA........................................................................................9 Revisión 1.0 Página 3
  • 4. AN-U003 1. INTRODUCCIÓN Los displays 7 segmentos son ampliamente utilizados para interfaces HMI (Interfaces Humano-Máquina por sus siglas en inglés). Esta nota de aplicación describe el manejo de un display de 3 digitos de 7 segmentos usando USBee. Se presentan las nociones generales sobre manejo de dígitos 7 segmentos y se describe la librería 7seg.h que hace parte del software desarrollado para USBee. Figura 1: Display de 3 dígitos, 7 segmentos 2. RECURSOS A continuación se describen los recursos necesarios para realizar el montaje: • Tarjeta de desarrollo USBee. • Cable mini USB para programación de USBee. • Tarjeta de prototipado rápido 7SEG (Figura 1) o en su defecto un display de 3 dígitos 7 segmentos, ánodo común. Revisión 1.0 Página 4
  • 5. AN-U003 3. DISPLAYS 7 SEGMENTOS 3.1 Generalidades Los displays 7 segmentos están conformados por un conjunto de LEDs en una disposición predefinida, que permite generar tanto caracteres numéricos como alfanuméricos. La figura 2 ilustra la distribución de estos leds en un dígito 7 segmentos y la nomenclatura utilizada. (a) (b) Figura 2: (a) LEDs que componen un display 7 segmentos, y (b) distribución para un display de cátodo común La figura 3 ilustra la generación de caracteres numéricos con un dígito 7 segmentos. Figura 3: Generación de caracteres numéricos con un display 7 segmentos Revisión 1.0 Página 5
  • 6. AN-U003 Los displays 7 segmentos se pueden encontrar tanto de cátodo común como de ánodo común. La diferencia radica en la polaridad de las señales a, b, c, d, e, f, g y DP que se debe utilizar para encenderlos. Un display 7 segmentos de cátodo común las señales son activas altas, y se activarán con 1 lógicos (típicamente 5V), mientras que los de ánodo común tienen señales activas bajas, lo que implica que se activan con 0 lógicos (GND o tierra). La figura 4 ilustra ejemplos de conexión de displays 7 segmentos de ánodo común y de cátodo común. (a) (b) Figura 4: Ejemplos de conexión para (a) ánodo común, y (b) cátodo común 3.2 Identificación de pines Cuando se adquiere un display 7 segmentos, es común no contar con la hoja de datos del mismo, solamente se conoce si es de ánodo o cátodo común. Una manera de identificar la disposición de pines es utilizar un multímetro funcionando en modo de probador de diodos. Si el display es de ánodo común, sitúe la punta negra en uno de los pines del display, y comience a probar continuidad con la punta roja del multímetro los otros pines. Verifique en qué momento se enciende uno de los LEDs del display. Cuando uno se haya encendido, el pin que toque con la punta roja es el ánodo común del dispositivo. En caso tal que no haya encendido ningún LED, es probable que la punta negra esté localizada justamente en el ánodo común, así que cambie la ubicación de la punta negra y comience el procedimiento nuevamente. Para displays de cátodo común el procedimiento es idéntico, sólo utilice las puntas a la inversa: seleccione un pin con la punta roja, y con la punta negra comience a probar continuidad Revisión 1.0 Página 6
  • 7. AN-U003 en los otros pines. 3.3 Displays 7 segmentos multiplexados Existen displays 7 segmentos que incluyen más de un dígito, como se observa en la figura 5. Figura 5: Display 7 segmentos de 3 dígitos Generalmente los displays que disponen de más de dos dígitos cuentan con el bus de señales a-g (o bus de datos) multiplexado. Esto quiere decir que los dígitos comparten el bus de datos y cuentan con otras señales para activar cada dígito, que son los ánodo o cátodo común de cada dígito. Este bus también se denomina bus de control. La figura ilustra mejor esta configuración. Figura 6: Esquemático de un display 7 segmentos de tres dígitos Revisión 1.0 Página 7
  • 8. AN-U003 Esto implica que se ahorran pines de conexión (un solo bus de datos para todos los dígitos), aunque solamente se podrá tener encendido un dígito al tiempo, lo que pareciera ser una desventaja. Sin embargo, en este tipo de configuraciones se aprovecha el hecho de que la visión humana retiene las imágenes unos milisegundos. Esto quiere decir que, si se actualiza cada dígito a una frecuencia más rápida a la del ojo, engañaríamos el sentido de la vista haciéndole creer que los tres dígitos están encendidos al mismo tiempo. Si la frecuencia de actualización de los dígitos está muy cercana a la que el ojo puede detectar, notaremos un parpadeo en el display. Si aumentamos esta frecuencia, el parpadeo desaparece. Justamente esta configuración es la que se aprovechará en esta nota de aplicación. 4. DESCRIPCIÓN DEL MONTAJE Las siguientes imágenes ilustran la conexión requerida para probar el programa de ejemplo, ya sea utilizando la tarjeta de prototipado rápido 7SEG o un display 7 segmentos de ánodo común. El pinout del display utilizado es descrito en la figura. Figura 7: Pinout del display de 3 dígitos 7 segmentos utilizado Como se puede observar, el bus de datos está en color naranja y el bus de control en color violeta. Se requiere del uso de transistores PNP (Ej: 2N3906) en el caso de que no se utilice la tarjeta 7SEG. No se han conectado resistencias al montaje ya que las salidas de USBee permiten conexión directa de LEDs. Sin embargo si es importante limitar el uso de corriente, disponga de sus respectivas resistencias a las líneas. Revisión 1.0 Página 8
  • 9. AN-U003 Figura 8: Conexión de un display de 3 dígitos 7 segmentos de ánodo común Figura 9: Conexión de la tarjeta 7SEG que incluye un display de 3 dígitos 7 segmentos de ánodo común Revisión 1.0 Página 9
  • 10. AN-U003 5. DESCRIPCIÓN DEL SOFTWARE Para el control del display 7 segmentos se utilizarán las librerías USBee <7seg.h> y la rutina de retardos <util/delay.h>, disponible en avr-libc [2]. A continuación se describen brevemente las funciones de la librería 7seg.h. FUNCIÓN DESCRIPCIÓN d7seg_init Rutina que se encarga de configurar el hardware utilizado para el control del display 7 segmentos. Se recomienda configurar inicialmente el archivo de cabecera 7seg.h, para cambiar el puerto de conexión del display, específicamente los valores de D7SEG_PORT, D7SEG_EN y D7SEG_EN1, D7SEG_EN2 y D7SEG_EN3. Recibe como parámetro el valor inicial d7seg_put Rutina que actualiza el número a mostrar en el display. Como parámetro recibe el número en cuestión. d7seg_error Rutina que muestra en el display la palabra "Out". d7seg_refresh Rutina que debe ser llamada constantemente para refrescar el display. Para mayor información sobre la librería y sus funciones, remitase a la documentación Doxygen de la misma. 6. CÓDIGO A continuación se presenta el código utilizado para el ejemplo. Los archivos se pueden conseguir en la siguiente URL: http://ww.naxuscolombia.com/productos/tarjetas-de-desarrollo/an-u003/. Ejemplo: main-7seg.c /***************************************************************  * NAXUS SISTEMAS INTELIGENTES   *   * Nota de aplicacion AN­U003: Control de un display 7 segmentos  Revisión 1.0 Página 10
  • 11. AN-U003  *   * Copyright 2010­2011   **************************************************************/  #include <avr/io.h>  #include "7seg.h"  int main(void)  {  //val es la variable de cuentas y deb la que permite implementar el  antirebote por software  unsigned char val = 0, deb = 0;    //inicializacion del display  d7seg_init(0);    //la entrada PB3 la utilizaremos para leer los pulsos. Por lo tanto se  configura como entrada.  PORTB &= ~(1<<PB3);    //Muestra el mensaje "Out"    d7seg_error();    while(1)  {  //si llega un pulso  if(PINB & (1<<PB3))  {  //sistema antirebote  if(!deb)  {  val++;  deb = 1;  //actualiza el valor a mostrar en el display  d7seg_put(val);  }  }  else  deb = 0;      //Esta funcion se debe estar llamando constantemente, ya que es  la encargada de actualizar el display   d7seg_refresh();  }  return 1;  } Revisión 1.0 Página 11
  • 12. AN-U003 7. BIBLIOGRAFÍA 1. "Display 7 segmentos" [online]http://es.wikipedia.org/wiki/Visualizador_de_siete_segmentos 2. "7 segment display" [online] http://en.wikipedia.org/wiki/Seven- segment_display Revisión 1.0 Página 12