Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

 

Acionar display de 7 segmentos são tão divertidos quanto LED de qualquer natureza, mesmo os RGB. As utilidades permitidas são praticamente infinitas! Além de mostrar números é possível realizar alguns “efeitos especiais” com eles.

Vamos acionar apenas um display de 7 segmentos dessa vez, para compreender como eles funcionam.

Usaremos:

Um display de 7 segmentos com ânodo comum


Dois resistores de 560 ohms (verde-azul-marrom)

Também vamos precisar de uma placa de ensaios (proto-board), Arduíno e alguns fios rígidos para as ligações.

Coloque o seu display de 7 segmentos na placa de ensaios, ligue o terra (GND) do Arduino em um dos barramentos laterais e com um fio ligue esse barramento lateral ao outro. Usando o resistor de 560 ohms ligue os pinos comuns do display de 7 segmentos ao terra (que estão nos barramentos laterais).

 

 

Sabendo que os segmentos do display são:

 

Ligaremos os pinos digitais do Arduino ao display na seguinte ordem:

 

Pino

Segmento

3

A

4

B

5

C

6

D

7

E

8

F

9

G

 

 

 

Com o código abaixo se mostra os números de zero até nove, aguardando um segundo entre as trocas de números:

 

{code}

int a = 3, b = 4, c = 5, d = 6, e = 7, f = 8, g = 9;

int num[10][7] = {

{a,b,c,d,e,f},

{b,c},

{a,b,e,d,g},

{a,b,c,d,g},

{b,c,f,g},

{a,c,d,g,f},

{a,c,d,e,f,g},

{a,b,c},

{a,b,c,d,e,f,g},

{a,b,c,f,g}

};

 

void setup() {

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(7,OUTPUT);

pinMode(8,OUTPUT);

pinMode(9,OUTPUT);

}

 

void loop() {

for(int i=0;i<10;i++) {

apaga();

numero(i);

delay(1000);

}

}

 

void apaga() {

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(e,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

}

 

 

void numero(int n) {

for(int i=0;i<sizeof(num)/2;i++) digitalWrite(num[n][i],LOW);

}

{/code}

 

{youtube}gQo7H9TUiWw{/youtube}

 

 

Já com esse segundo código conseguimos um “efeito especial” como mostrado no vídeo logo depois do código fonte:

 

{code}

void setup() {

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(7,OUTPUT);

pinMode(8,OUTPUT);

}

 

void loop() {

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(3,HIGH);

delay(100);

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

delay(100);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

delay(100);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

delay(100);

digitalWrite(6,LOW);

digitalWrite(7,HIGH);

delay(100);

digitalWrite(7,LOW);

digitalWrite(8,HIGH);

delay(100);

}

{/code}

 

{youtube}jh0IS8zq7Sw{/youtube}