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=0; i<2; i++) //como o 7447 é ATIVO BAIXO,
for(j=0; j<2; j++) // e o display 7 seg é ANODO COMUM
for(k=0; k<2; k++) // (o pino comum é ligado em VCC (nível HIGH, "1")
for(l=0; l<2; l++) // os leds de display 7 seg vão acender com nível LOW ("0")
{ digitalWrite(A, !i);
digitalWrite(B, !j);
digitalWrite(C, !k);
digitalWrite(D, !l);
delay(2000);
}
}
}
}
// 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);
}