Arduíno

Ir a Arduíno en tecnoloxia.org

Display 7 segmentos

191px-seven_segment_display-animated

[INeverCry CC By-SA Wikimedia Commons]

317px-seven_segment_02_pengo

[Peter Halasz CC By-SA Wikimedia Commons]

Descrición:

Un display ou visualizador de 7 segmentos é un compoñente electrónico que se utiliza para representar números. O display está composto por 7 LEDs, os cales se acenden ou apagan en función do número a representar.

Montaxe:

Poden ser de ánodo común ou cátodo común. Isto é que o pin común pódese conectar a Vcc ou a GND respectivamente.

[tecnoloxia.org CC By-SA from CrocodileClips]

  • Ánodo común: Os pins comúns debemos conectalos a Vcc, cunha resistencia de protección, por exemplo de 330Ω. Cada LED actívase cun 1 e desactívase cun 0.
  • Cátodo común: Os pins comúns debemos conectalos a GND, cunha resistencia de protección, por exemplo de 330Ω. Cada LED actívase cun 0 e desactívase cun 1.

Na seguinte táboa podemos ver que pins teñen que estar activos para acender cada un dos números. Non inclúo o punto, que deixaremos desconectado, pois cun díxito non imos traballar con decimais.

[tecnoloxia.org CC By-SA]

decimal BCD Cátodo común Ánodo común
A B C D a b c d e f g a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1
2 0 0 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0
3 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0
4 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0
5 0 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0
6 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0
7 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1
8 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0
9 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0
Apagado 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1

Programas

Imos controlar o display 7 segmentos de dúas maneiras. Primeiro conectando directamente todos os seus pins ao Arduíno e utilizando un array (variable multidimensional), e despois utilizando un rexistro de desprazamento ou Shift Register, o que nos permite aforrar pins de Arduíno para telos dispoñibles para outros compoñentes do noso proxecto. Utiliza o que mellor che conveña para o teu proxecto.

1. Con arrays

7seg_anodocomun_fritzing

[tecnoloxia.org CC By-SA from Fritzing]

1. Con arrays: Un display 7-segmentos de ánodo común conectariámolo do seguinte xeito cunha placa Arduíno. Por simplificar utilízase unha única resistencia de protección, pero para mellor funcionamento deberiamos conectar unha resistencia por LED do display.

Se fose de cátodo común deberiamos conectar os pins comúns a GND.

Para enviar o díxito que queremos escribir no display creamos un array de m filas e n columnas:
tipo nome[m][n]={ táboa };

Cada fila corresponde a un díxito, e cada valor 0 e 1 aos valores que teñen que tomar as saídas dixitais a, b, c, d , e, f, g para un display.

Se queremos que vaia mostrando os díxitos dun en un , substituímos a función loop anterior por esta:

2. Con Shift Register

shiftregister

[tecnoloxia.org CC By-SA]

2. Con Shift Register: Un rexistro de desprazamento é un circuíto secuencial que cumpre as seguintes funcións:

  • É capaz de almacenar un conxunto de n bits.
  • Permite realizar a conversión de datos de serie a paralelo e viceversa.

Nós imos utilizar o 74HC595 (Shift Register de 8 bits serial-in, parallel-out) para cargar datos en serie e que o rexistro os vaia cargando nas saídas en paralelo. Con isto aforramos pins do Arduíno pois, por exemplo, con só tres pins de Arduíno podemos controlar 8 saídas dixitais.

shiftregister_conexion

[tecnoloxia.org CC By-SA]

A forma de conectalo é a que se mostra na figura.

Hai tres pins importantes que conectaremos á placa Arduíno, no noso caso aos pins 8, 11 e 12:

  • DATA IN ou DS: pin para enviar los bits en serie
  • Clock ou SH_CP: indica cando hai que ler o bit.
  • LATCH ou ST_CP: Cando os 8 bits de entrada se leron no rexistro, o LATCH escribe estes bits nos pins de saída do chip e mantenos ata que se reciba novos datos.

Propostas:

  1. Display descendente. Fai que se vaian amosando os díxitos de forma descendente, desde o 9 ata o 0.
  2. Conta atrás. Prememos nun pulsador para iniciar unha conta atrás na que se van amosando os díxitos de forma descendente, desde o 5 ata o 0. Ao chegar a 0 soa unha melodía cun zumbador.
  3. Contador. Fai que cada vez que premamos un pulsador sume un díxito a un contador, e que este se mostre nun display. Pon un límite de ata 9, e que a partir de entón se poña de novo a 0.
  4. Contar e descontar. Fai que cada vez que premamos un pulsador sume un díxito a un contador, e que este se mostre nun display. Outro pulsador fai que se desconten os números. Pon un límite superior de 9 e un límite inferior de 0.
  5. Que pulsador? Conecta dous pulsadores e fai que cada vez que prememos nun deles indique na pantalla cal dos pulsadores foi pulsado primeiro, o 1 ou o 2.