Boa noite pessoal tenho essa função de acertar data e hora

void acertartc()// COMANDO PARA ACERTAR A DATA E A HORA.
{
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;}
if(acertahora[4] > 6){acertahora[4] = 0;}
if(acertahora[4] == -1){acertahora[4] = 6;}
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;}

}

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();

}

Gostaria de implementar essa logica do switch(case) no if(acertahora[4] para ao invés de aparecer os números aparecer os dias da semana conforme case abaixo. Qualquer ajuda sera bem vinda.

//valores case RTC
int semana ; // Valores recolhidos

String d_semana; // Para texto LCD

semana == acertahora[4];
//Traduzir valor de dia de semana para texto
switch(semana){
case 1:
d_semana = "DOMINGO";
break;
case 2:
d_semana = "SEGUNDA";
break;
case 3:
d_semana = "TERCA";
break;
case 4:
d_semana = "QUARTA";
break;
case 5:
d_semana = "QUINTA";
break;
case 6:
d_semana = "SEXTA";
break;
case 7:
d_semana = "SABADO";
break;
}

Exibições: 126

Responder esta

Respostas a este tópico

Boa noite, use um vetor de string ex:

String dia[]={DOMINGO, SEGUNDA,TERCA, QUARTA, QUINTA, SEXTA, SABADO};

 lcd.print(dia[0]);//vai imprimir domingo

Bons projetos!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço