• Matéria: Física
  • Autor: rafaelcorreia16
  • Perguntado 4 anos atrás

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.​

Anexos:

anabiacpa: É pra fazer com o meu aniversário ou o seu?
anabiacpa: O meu é dia 10, pode ser?
felipe2310car: pode ser
biammiranda08: eu tenho quase certeza que vc e da minha sala rafaelcorreia16
rafaelcorreia16: igualmente

Respostas

respondido por: anabiacpa
2

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.

Anexos:
Perguntas similares