Advertisement
Ultizin

codigo resumido

Apr 29th, 2024
1,841
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. // Definições das constantes para os pinos do display de 7 segmentos
  2. const int pinosDisplay[8] = {8, 9, 3, 4, 5, 7, 6, 2};
  3.  
  4. void setup() {
  5.   // Define todos os pinos do display como saída
  6.   for (int i = 0; i < 8; i++) {
  7.     pinMode(pinosDisplay[i], OUTPUT);
  8.   }
  9.  
  10.   // Inicia com o display desligado
  11.   desligarDisplay();
  12. }
  13.  
  14. void loop() {
  15.   // Loop para a passagem dos 10 dígitos (0-9)
  16.   for (int digito = 0; digito < 10; digito++) {
  17.     // Define quais segmentos devem estar ligados para cada dígito
  18.     definirSegmentos(digito);
  19.    
  20.     // Liga e desliga de forma alternada o ponto
  21.     digitalWrite(pinosDisplay[7], !digitalRead(pinosDisplay[7]));
  22.    
  23.     // Aguarda 1 segundo para trocar de dígito
  24.     delay(1000);
  25.    
  26.     // Apaga todos os segmentos para apresentar o próximo dígito
  27.     desligarDisplay();
  28.   }
  29. }
  30.  
  31. // Função para desligar todos os segmentos do display
  32. void desligarDisplay() {
  33.   for (int i = 0; i < 7; i++) {
  34.     digitalWrite(pinosDisplay[i], HIGH);
  35.   }
  36. }
  37.  
  38. // Função para definir quais segmentos devem estar ligados para cada dígito
  39. void definirSegmentos(int digito) {
  40.   // Tabela de segmentos para cada dígito (0-9)
  41.   const bool segmentos[10][7] = {
  42.     {LOW, LOW, LOW, LOW, LOW, LOW, HIGH},  // 0
  43.     {HIGH, LOW, LOW, HIGH, HIGH, HIGH, HIGH}, // 1
  44.     {LOW, LOW, HIGH, LOW, LOW, HIGH, LOW},  // 2
  45.     {LOW, LOW, LOW, LOW, HIGH, HIGH, LOW},  // 3
  46.     {HIGH, LOW, LOW, HIGH, HIGH, LOW, LOW}, // 4
  47.     {LOW, HIGH, LOW, LOW, HIGH, LOW, LOW},  // 5
  48.     {LOW, HIGH, LOW, LOW, LOW, LOW, LOW},   // 6
  49.     {LOW, LOW, LOW, HIGH, HIGH, HIGH, HIGH},// 7
  50.     {LOW, LOW, LOW, LOW, LOW, LOW, LOW},    // 8
  51.     {LOW, LOW, LOW, HIGH, HIGH, LOW, LOW}   // 9
  52.   };
  53.  
  54.   // Define os segmentos conforme o dígito atual
  55.   for (int i = 0; i < 7; i++) {
  56.     digitalWrite(pinosDisplay[i], segmentos[digito][i]);
  57.   }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement