Solução 2 do Exercício 6 - Aula 2
Ir para navegação
Ir para pesquisar
//Programa: DECODIFICADOR BCD para 7 segmentos (ANODO COMUM) 7447 E ARDUINO //Autor: FERNANDA ARGOUD
//Definicao dos pinos de entrada
#define A 4 #define B 5 #define C 6 #define D 7
void setup()
{
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
}
void loop() {
int i, j, k, l;
for(i=1; i>=0; i--) //como o 7447 é ATIVO BAIXO,
for(j=1; j>=0; j--) // e o display 7 seg é ANODO COMUM
for(k=1; k>=0; k--) // (o pino comum é ligado em VCC (nível HIGH, "1")
for(l=1; l>=0; l--) // os leds de display 7 seg vão acender com nível LOW ("0")
{ digitalWrite(A, i);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
delay(1000);
Serial.print("1 ");
digitalWrite(PinoA0, HIGH);
digitalWrite(PinoA1, LOW);
digitalWrite(PinoA2, LOW);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("2 ");
digitalWrite(PinoA0, LOW);
digitalWrite(PinoA1, HIGH);
digitalWrite(PinoA2, LOW);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("3 ");
digitalWrite(PinoA0, HIGH);
digitalWrite(PinoA1, HIGH);
digitalWrite(PinoA2, LOW);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("4 ");
digitalWrite(PinoA0, LOW);
digitalWrite(PinoA1, LOW);
digitalWrite(PinoA2, HIGH);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("5 ");
digitalWrite(PinoA0, HIGH);
digitalWrite(PinoA1, LOW);
digitalWrite(PinoA2, HIGH);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("6 ");
digitalWrite(PinoA0, LOW);
digitalWrite(PinoA1, HIGH);
digitalWrite(PinoA2, HIGH);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("7 ");
digitalWrite(PinoA0, HIGH);
digitalWrite(PinoA1, HIGH);
digitalWrite(PinoA2, HIGH);
digitalWrite(PinoA3, LOW);
delay(1000);
Serial.print("8 ");
digitalWrite(PinoA0, LOW);
digitalWrite(PinoA1, LOW);
digitalWrite(PinoA2, LOW);
digitalWrite(PinoA3, HIGH);
delay(1000);
Serial.println("9 ");
digitalWrite(PinoA0, HIGH);
digitalWrite(PinoA1, LOW);
digitalWrite(PinoA2, LOW);
digitalWrite(PinoA3, HIGH);
delay(1000);
Serial.println("Limpa o display...");
digitalWrite(PinoA0, HIGH);
digitalWrite(PinoA1, HIGH);
digitalWrite(PinoA2, HIGH);
digitalWrite(PinoA3, HIGH);
delay(1000);
}