Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Programa : Display 7 segmentos - 8 digitos MAX7219
- // Autor : Arduino e Cia
- // Carrega a biblioteca LedControl
- #include "LedControl.h"
- // Definicoes dos pinos e quantidade de modulos no circuito
- LedControl lc=LedControl(7,6,5,1);
- void setup()
- {
- // Inicializa o modulo
- lc.shutdown(0,false);
- // Ajuste do brilho do display
- lc.setIntensity(0,3);
- // Apaga o display
- lc.clearDisplay(0);
- }
- void loop()
- {
- // Envia Arduino e Cia para o display
- writeArduinoOn7Segment();
- // Contagem regressiva
- contagem_regressiva();
- // Mostra numeros no lado esquerdo e direito do display
- numeros_separados();
- // Inicia contador de 0 a 1 milhao
- for (long i=0; i < 1000000; i++)
- {
- printNumber(i);
- }
- delay(500);
- }
- void printNumber(long v)
- {
- // Variavel valor digitos
- int digito1;
- int digito2;
- int digito3;
- int digito4;
- int digito5;
- int digito6;
- int digito7;
- int digito8;
- // Calcula o valor de cada digito
- digito1 = v%10;
- digito2 = (v / 10) % 10;
- digito3 = (v/ 100) % 10;
- digito4 = (v/1000) %10;
- digito5 = (v/10000) %10;
- digito6 = (v/100000) %10;
- digito7 = (v/1000000) %10;
- digito8 = (v/10000000) %10;
- // Mostra o valor de cada digito no display
- lc.setDigit(0,7,(byte)digito8,false);
- lc.setDigit(0,6,(byte)digito7,false);
- lc.setDigit(0,5,(byte)digito6,false);
- lc.setDigit(0,4,(byte)digito5,false);
- lc.setDigit(0,3,(byte)digito4,false);
- lc.setDigit(0,2,(byte)digito3,false);
- lc.setDigit(0,1,(byte)digito2,false);
- lc.setDigit(0,0,(byte)digito1,false);
- delay(00);
- }
- void writeArduinoOn7Segment()
- {
- // Escreve Arduino e Cia no display
- for (int i =0; i<21; i++)
- {
- lc.setChar(0,i,'a',false);
- lc.setRow(0,i-1,0x05);
- lc.setChar(0,i-2,'d',false);
- lc.setRow(0,i-3,0x1c);
- lc.setRow(0,i-4,B00010000);
- lc.setRow(0,i-5,0x15);
- lc.setRow(0,i-6,0x1D);
- lc.setChar(0,i-7,' ',false);
- lc.setChar(0,i-8,'e',false);
- lc.setChar(0,i-9,' ',false);
- lc.setRow(0,i-10,B1001110);
- lc.setRow(0,i-11,B0010000);
- lc.setChar(0,i-12,'a',false);
- lc.setChar(0,i-13,' ',false);
- delay(300);
- }
- }
- void contagem_regressiva()
- {
- for (int x = 8; x >-1;x--)
- {
- lc.setDigit(0,x,x+1, false);
- lc.setChar(0,x+1,' ',false);
- delay(300);
- }
- lc.clearDisplay(0);
- }
- void numeros_separados()
- {
- for (int i =0 ; i<10 ; i++)
- {
- lc.setDigit(0,0,i,false);
- lc.setDigit(0,1,i,false);
- lc.setDigit(0,6,i,false);
- lc.setDigit(0,7,i,false);
- delay(300);
- }
- lc.clearDisplay(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement