Interface de uma exibição de sete segmentos com um Arduino

Para muitas aplicações, não há necessidade de utilizar uma exibição de cristais líquidos mais cara para exibir dados. Uma simples exibição de sete segmentos é suficiente.

Se a sua aplicação Arduino só precisa de exibir números, considere a utilização de uma exibição de sete segmentos. O visor de sete segmentos tem sete LEDs dispostos na forma do número oito. São fáceis de utilizar e rentáveis. A figura abaixo mostra um visor típico de sete segmentos.

SSD

Apenas segmentos são de dois tipos: ânodo comum e cátodo comum. A estrutura interna de ambos os tipos é quase a mesma. A diferença é a polaridade dos LEDs e do terminal comum. Num mostrador de sete segmentos de cátodo comum (o que utilizámos nas experiências), todos os sete LEDs mais um LED de ponto têm os cátodos ligados aos pinos 3 e ao pino 8. Para utilizar este mostrador, precisamos de ligar GROUND aos pinos 3 e 8 e, e ligar +5V aos outros pinos para que os segmentos individuais se iluminem. O diagrama seguinte mostra a estrutura interna do mostrador de sete segmentos de catódigo-comum:

Catódico comum
Catódico comum

A exibição do ânodo comum é exactamente o oposto. Num visor de ânodo comum, o terminal positivo de todos os oito LEDs é ligado em conjunto e depois ligado ao pino 3 e ao pino 8. Para ligar um segmento individual, liga-se à terra um dos pinos. O diagrama seguinte mostra a estrutura interna do mostrador de sete segmentos do ânodo comum.

Anodo comum
Anodo comum

Os sete segmentos são rotulados a-g, sendo o ponto “dp”, como mostra a figura abaixo:

ConfiguraçãoSSD
ConfiguraçãoSSD

>p> Para exibir um número particular, liga-se os segmentos individuais como mostra a tabela abaixo:

c>/p>

f

0×7E

on

em em

em

em

em

em

d

0×30

off

p>off

off

p>off br>

2 0×5B

0×6D

on

on

on

off

on

off

on

0×79

on

on

on

on

off

off

on

off

p>off

off

on

0×5B

on

on

off

p>on

on

on

off

em

em

em

em

0×70

on

on

on

off

off

off

8 0×7F

on

on

on

on

on

on

>/td>

0×7B

on

on

on

off

on

0×77

off p>on

on

on

on

em

em

em

em

0×4E

on

off

on p>off

off

on

on

on

on

br>

off

off

on

on

on

0×47

on

off

off

on

on

Digit gfedcba

abcdefg

a

b

d

p>e

g

0 0×3F

em

em

1 0×06

off

on

on

off

on

3 0×4F

on

off

on

4 0×66

0×33

on

on

5 0×6D

off

on

6 0×7D

0×5F

on

em

em

7 0×07

off

0×7F

on

9 0×6F

on

on

A 0×77

on

on

on

B 0×7C

0×1F

off

off

em

em

C 0×39

off

on

on

p>D 0×5E

0×3D

on

off

on

E 0×79

0×4F

on

on

F 0×71

off

on

Experiment 1

Nesta experiência, vamos simplesmente ligar e desligar os LEDs para nos familiarizarmos com o funcionamento de um visor de sete segmentos.

Hardware necessário

  • 1 x exibição de sete segmentos (cátodo comum)
  • 1 x Arduino MEGA 2560
  • 1 x breadboard
    /li>
  • 7 x 220 resistências ohm (1/4 W)
  • fios de jumper
    /li>

>br>>/p>

Diagrama de cablagem

Neste circuito, os pinos de exibição de sete segmentos estão ligados aos pinos Arduino 2-9, como se mostra na tabela abaixo. Os pinos comuns (pino 3 e pino 8) são ligados ao GND e o dp é deixado sem ligação, porque não é usado nesta experiência

br>

>>c>/td>

Pinos de segmento par Arduino pins Wire Color
1(e) 6 orange
2(d) 5 white
3,8(COM) GND n/a
4 yellow
5(dp)
6(b) 3 red
7(a) 2 blue
9(f) 7 cyan
10(g) 8 verde

Código

void setup(){ // define pin modes pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); }void loop() { // loop to turn leds od seven seg ON for(int i=2;i<9;i++) { digitalWrite(i,HIGH); delay(600); } // loop to turn leds od seven seg OFF for(int i=2;i<9;i++) { digitalWrite(i,LOW); delay(600); } delay(1000);}

Segmento_de_Interfacezip

Experimento 2

Descrição

Neste tutorial, vamos fazer uma interface de sete segmentos com o mega Arduino e aprender a exibir uma contagem decrescente a partir de nove com um atraso de um segundo, na exibição de sete segmentos.

Hardware necessário

O hardware necessário para esta experiência é o mesmo que para a Experiência 1.

Diagrama de cablagem

O diagrama de cablagem para esta experiência é o mesmo que o circuito para a Experiência 1.

br>

Código

// make an array to save Sev Seg pin configuration of numbersint num_array = { { 1,1,1,1,1,1,0 }, // 0 { 0,1,1,0,0,0,0 }, // 1 { 1,1,0,1,1,0,1 }, // 2 { 1,1,1,1,0,0,1 }, // 3 { 0,1,1,0,0,1,1 }, // 4 { 1,0,1,1,0,1,1 }, // 5 { 1,0,1,1,1,1,1 }, // 6 { 1,1,1,0,0,0,0 }, // 7 { 1,1,1,1,1,1,1 }, // 8 { 1,1,1,0,0,1,1 }}; // 9 //function headervoid Num_Write(int);void setup() { // set pin modes pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); }void loop() { //counter loop for (int counter = 10; counter > 0; --counter) { delay(1000); Num_Write(counter-1); } delay(3000);}// this functions writes values to the sev seg pins void Num_Write(int number) { int pin= 2; for (int j=0; j < 7; j++) { digitalWrite(pin, num_array); pin++; }}

aac_interface_a_seven_segmento.zip

Vídeo

Dê a este projecto uma tentativa por si mesmo! Obtenha a lista técnica.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *