/*
= DISPLAY 7 SEGMENTOS 4 DÍGITOS CÁTODO COMUM =
Prof. Jomar
*/
//Declarando todos os pinos dos segmentos e digito do Display
int a = 8; //Pino 11 do display
int b = 13; //Pino 7 do display
int c = 3; //Pino 4 do display
int d = 6; //Pino 2 do display
int e = 7; //Pino 1 do display
int f = 9; //Pino 10 do display
int g = 2; //Pino 5 do display
int dp = 5; //Pino 3 do display
int d1 = 4; //Pino 6 do display
int d2 = 11; //Pino 8 do display
int d3 = 12; //Pino 9 do display
int d4 = 10; //Pino 12 do display
//Funções de exibição dos números no display de 7 segmentos
void zero() { //Função para escrever o nº zero
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
digitalWrite(dp, LOW);
delay(1000);
}
void um() { //Função para escrever o nº um
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp, LOW);
delay(1000);
}
void dois() { //Função para escrever o nº dois
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void tres() { //Função para escrever o nº três
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void quatro() { //Função para escrever o nº quatro
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void cinco() { //Função para escrever o nº cinco
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void seis() { //Função para escrever o nº seis
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void sete() { //Função para escrever o nº sete
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp, LOW);
delay(1000);
}
void oito() { //Função para escrever o nº oito
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void nove() { //Função para escrever o nº nove
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
void pontos() { //Função para escrever ....
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp, HIGH);
delay(1000);
}
void setup() {
//Configura todos os pinos como saída (OUTPUT)
pinMode(d1, OUTPUT); //Dígitos
pinMode(d2, OUTPUT);
pinMode(d3, OUTPUT);
pinMode(d4, OUTPUT);
pinMode(a, OUTPUT); //Segmentos
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
}
void loop() {
//Display cátodo comum - acionamento dos dígitos em nível lógico baixo
digitalWrite(d1, LOW);
digitalWrite(d2, LOW);
digitalWrite(d3, LOW);
digitalWrite(d4, LOW);
//Chamando as funções para impressão de cada número
zero();
um();
dois();
tres();
quatro();
cinco();
seis();
sete();
oito();
nove();
pontos();
}