ado
{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.…
ão é 000,1%
então na teoria consegui entender um pouco, mas quando parti para pratica, não consegui fazer nada.Rsrrsrs
e agora qualquer tecla que preciono começa somente a primeira contagem.
o codigo é esse,
void loop() { int Botao = analogRead (0);
if (Botao < 99) { lcd.clear(); lcd.setCursor(5, 0); lcd.print("Tempo"); lcd.setCursor(2, 1); lcd.print("2 Segundos");
}
else if (Botao < 800) { lcd.clear(); lcd.setCursor(7, 1); lcd.print("1"); delay(1000); lcd.setCursor(7, 1); lcd.print("2"); }
if (Botao < 200) { lcd.clear(); lcd.setCursor(5, 0); lcd.print("Tempo"); lcd.setCursor(2, 1); lcd.print("5 Segundos");
}
else if (Botao < 800) { lcd.clear(); lcd.setCursor(7, 1); lcd.print("1"); delay(1000); lcd.setCursor(7, 1); lcd.print("2"); lcd.setCursor(7, 1); lcd.print("3"); delay(1000); lcd.setCursor(7, 1); lcd.print("4"); delay(1000); lcd.setCursor(7, 1); lcd.print("5");}
}
desde sempre lhe agradeço.
…
t não contrei um padrão para ligação no arduino com este número de pinos, então seguindo a dica de um membro daqui fui número a número testando para ver qual o padrão.
Coloco aqui pra evitar este retrabalho de quem precisar, segue abaixo o padrão:
Nº - PINOS TECLADO1 - 1 + 42 - 2 + 43 - 3 + 44 - 1 + 55 - 2 + 5 6 - 3 + 57 - 1 + 68 - 2 + 69 - 3 + 6* - 1 + 70 - 2 + 7# - 3 + 7
pino 4 - row 0
pino 5 - row 1
pino 6 - row 3
pino 7 - row 4
pino 1 - col 1
pino 2 - col 2
pino 3 - col 3…
ora: 24-hour format, from 0 to 23 //Minuto: from 0 to 59 //Second: from 0 to 59{ wdt_disable(); // DESABILITA A FUNÇÃO WDT NESTA PARTE DO PROGRAMA. delay(1000); while( i> 0 && i<8) { lcd.setCursor(0,0); LerTecla(); if(i==1){lcd.print(" Entre com Ano ");} if(i==2){lcd.print(" Entre com Mes ");} if(i==3){lcd.print(" Entre com Dia ");} if(i==4){lcd.print(" Entre cm Semana");} if(i==5){lcd.print(" Entre com Hora ");} if(i==6){lcd.print(" Entre com Minut");} if(i==7){lcd.print(" Entre com Segun");} if(UP){acertahora[i]++;estouro = 0;UP = 0;} //alteração custela if (DOWN && acertahora[i] >= 0){acertahora[i]--;estouro = 0; DOWN = 0;} //alteração custela if (SELECT){i ++;estouro = 0; SELECT = 0; delay(200);} //alteração custela if(acertahora[1] < 1 ){acertahora[1] = 13;} if(acertahora[2] > 12){acertahora[2] = 1;} if(acertahora[2] == 0){acertahora[2] = 12;} if(acertahora[3] > 31){acertahora[3] = 1;} if(acertahora[3] == 0){acertahora[3] = 31;} // 1 domigo 2 segunda 3 terca 4 quarta 5 quinta 6 sexta 7 sabado if(acertahora[4] > 7){acertahora[4] = 1;} if(acertahora[4] == 0){acertahora[4] = 7;} if(acertahora[5] > 23){acertahora[5] = 0;} if(acertahora[5] == -1){acertahora[5] = 23;} if(acertahora[6] > 59){acertahora[6] = 0;} if(acertahora[6] == -1){acertahora[6] = 59;} if(acertahora[7] > 59){acertahora[7] = 0;} if(acertahora[7] == -1){acertahora[7] = 59;} lcd.setCursor(9, 1); lcd.print(acertahora[i], DEC);lcd.print(" "); if(estouro == 90){ i = 0 ; estouro = 0;} lcd.clear(); }
DS1307.setDate(acertahora[1], acertahora[2], acertahora[3], acertahora[4], acertahora[5], acertahora[6], acertahora[7]); // AQUI ENVIAMOS OS DADOS DEFINIDOS PARA O REAL TIME CLOK lcd.clear(); }Quero incluir essse case para quando eu selecionar o acertahora[4] mostre switch(acertahora[4]) { case 1:lcd.print("Dom"); break; case 2:lcd.print("Seg"); break; case 3:lcd.print("Ter"); break; case 4:lcd.print("Quar"); break; case 5:lcd.print("Qui"); break; case 6:lcd.print("Sex"); break; case 7:lcd.print("Sab"); }…