Tags:
Não entendi como é feita a entrada dos dados, principalmente da freqüência.
Digamos que a entrada seja um chave (0 ou 1) sendo 1 para freqüência maior que 70% e 0 para freqüência menor que 70% (você disse que é apenas 1 bit), todo o seu projeto pode ser resolvido utilizando condições IF.
Por exemplo, para ser aprovado a presença deve estar em 1 e o a soma das questões ser maior que 60% e se for maior que 90% será laureado, logo
if(frequencia==1){
if((A*35)+(B*25)+(C*45)) >= 90)
//codigo para mostrar laureado
}else if(A*35)+(B*25)+(C*45)) >= 60){
//codigo para mostrar aprovado
}else{
//codigo para mostrar reprovado por nota
}else{
//codigo para mostrar reprovado por falta
}
o código para o display é bem simples. Crie uma matriz de array 5x7 contendo cada caracter e um array contendo o pino do display (os 7 pinos)
int caracteres[4][7]={
{1, 1, 1, 0, 1, 1, 1}, //Aprovado
{1, 0, 0, 0, 1, 1, 1}, //Reprovado por falta
{1, 0, 0, 0, 1, 1, 0}, //Reprovado por nota
{0, 1, 1, 1, 0, 0, 0} //Laureado
};
int display[7] = {3, 4, 5, 6, 7, 8, 9}; //3=a 4=b 5=c 6=d 7=e 8=f 9=g
Depois cria uma função para escrever no display assim
void escreveDisplay(int x){
for(int i=0; i<7; i++){
digitalWrite(display[i], caracteres[x][i];
}
}
E dentro do IF você chama essa função, por exemplo, no lugar de "//codigo para mostrar aprovado" você coloca escreveDisplay(0);
Nessa função se você enviar 0 será aprovado, 1 será reprovado por falta, 2 reprovado por nota e 3 laureado.
Obs.: não testei o código, só escrevi.
Se não deseja perder ponto na sua prova, use o corretor ortográfico.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por