Sabemos que cada parte do Display de 7 Segmentos é formado por um LED, que ao serem ligados podem formar números e letras. Observe a seguinte montagem eletrônica feita no TinkerCad utilizando Arduino e o display (comum catódica). Ao lado encontra-se a programação feita para que o display mostrasse o número 2.
Para visualizar o número 2 tivemos que acionar 5 segmentos (conectados nas portas digitais 0, 2, 3, 4 e 5). Agora para visualizarmos os dois dígitos do dia do seu aniversário no visor, quais segmentos devem ser acionados? Realize a programação e anote no espaço abaixo os passos de sua nova programação.
Respostas
void setup()
{
pinMode(0, OUTPUT); //saída para C do display dezena
pinMode(1, OUTPUT); //saída para C do display unidade
pinMode(2, OUTPUT); //saída para D do display unidade
pinMode(3, OUTPUT); //saída para E do display unidade
pinMode(4, OUTPUT); //saída para B do display unidade
pinMode(5, OUTPUT); //saída para A do display unidade
pinMode(6, OUTPUT); //saída para F do display unidade
pinMode(7, OUTPUT); //saída para G do display unidade
pinMode(8, OUTPUT); //saída para D do display dezena
pinMode(9, OUTPUT); //saída para E do display dezena
pinMode(10, OUTPUT); //saída para B do display dezena
pinMode(11, OUTPUT); //saída para A do display dezena
pinMode(12, OUTPUT); //saída para F do display dezena
pinMode(13, OUTPUT); //saída para G do display dezena
}
void loop()
{
digitalWrite(5, HIGH); //acende o A
delay(1000);
digitalWrite(4, HIGH); //acende o B
delay(1000);
digitalWrite(1, HIGH); //acende o C
delay(1000);
digitalWrite(2, HIGH); //acende o D
delay(1000);
digitalWrite(3, HIGH); //acende o E
delay(1000);
digitalWrite(6, HIGH); //acende o F
delay(1000);
//está feito o algarismo 0 para a unidade
digitalWrite(10, HIGH); //acende o B
delay(1000);
digitalWrite(0, HIGH); //acende o C
delay(1000);
//está feito o algarismo 1 para a dezena
}
Explicação:
Bom, vamos começar definindo como nós queremos que os números apareçam no display. Meu aniversário é no dia 10, então preciso fazer o algarismo 1 para a dezena, acendendo os leds b e c, e em outro display farei o algarismo 0 para a unidade acendendo os leds a, b, c, d, e e f.
Com isso em mente, vamos ligar os displays (lembre de escolher o display catódico!!) ao Arduino usando fios e nossa placa de ensaio. Feito isso entramos na parte da programação.
No void setup vamos definir as saídas do Arduino. No pinMode vamos por o número de cada saída e defini-las como OUTPUT já que a informação sairá delas. Após definir todas as saídas vamos para o void loop definir o que cada saída fará. Então poremos digitalWrite para definir o que cada porta fará ("dirá"). Coloque o número da porta equivalente as letras que definimos lá em cima e ponha HIGH; isso quer dizer que essa porta estará "escrevendo", estará em tensão "high", estará com a tensão alta, logo ligada. Eu adicionei um delay de 1000milisegundos só para não sobrecarregar o Arduino, mas é opcional. As saídas em que você não definiu o que ela deve escrever ficarão automaticamente desligadas.
É isso. Meu aniversário é no dia 10, mas você pode mudar para que o display apresente o dia do seu simplesmente mudando as saídas que estarão HIGH no void loop. Você pode tirar algumas ou adicionar, fica a seu critério.
Espero ter ajudado e qualquer dúvida é só me perguntar que eu posso tentar explicar melhor.