ile( 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;
}…
rial : 1 valor : 7
Agora se vc deixar configurado com uma das outras 3 opções, se vc digitar 7 e der enter, terá um resultado diferente:
Serial : 1 valor : 7
Serial : 1 valor : 0
Por que? A própria opção já te dá a dica: é como se vc tivesse dado um ENTER a mais. Assim sendo, o primeiro ENTER que vc deu manualmente enviou o número 7. Mas o ENTER extra enviado pelo serial monitor resultou no valor 0.
Aquele Serial: 1 indica que houve algo na serial, pois vc pediu o comando serial.available()
Em resumo: deixe o serial monitor em NO LINE ENDING (NENHUM FINAL DE LINHA) e seja feliz
Por curiosidade: experimente enviar o A1B2C3 e dê enter e veja o resultado. Há descarte de letras e após cada número vê-se que houve um enter automárico…
oque vc acha que pode tar acontecendo
dentro da minha rede 7 a 10 segundo
no 3g eo msm tempo tbm 7 a 10 segundo
eo outro code 1 a 1,5 segundo e ainda acionando 8 relay de uma vez
Adicionado por moises silva ao 19:10 em 11 outubro 2014
.
preciso de ajuda.
mais ou menos assim:
set 1 set 2 set 3 sets
jogador1 4 6 5 1
jogador2 6 3 7 2
me sugeriram usar multiplexação com 2 ci 74hc595 e arduino...
precisaria de um projeto
preciso de ajuda.
agradecido…
a de 16 displays, sendo catodo comum.
Essa é a configuração de minha placa:
Seg A ----- CI 3 porta 1 Seg B ----- CI 3 porta 4 Seg C ----- CI 3 porta 5 Seg D ----- CI 3 porta 15 Seg E ----- CI 3 porta 7 Seg F ----- CI 3 porta 2 Seg G ----- CI 3 porta 3 Seg d ----- CI 3 porta 6
Display linha 1 da coluna 1 -- CI 1 porta 4(display 1) Display linha 1 da coluna 2 -- CI 1 porta 3(display 2) Display linha 1 da coluna 3 -- CI 1 porta 2(display 3) Display linha 1 da coluna 4 -- CI 1 porta 1(display 4) Display linha 2 da coluna 1 -- CI 1 porta 8(display 5) Display linha 2 da coluna 2 -- CI 1 porta 7(display 6) Display linha 2 da coluna 3 -- CI 1 porta 6(display 7) Display linha 2 da coluna 4 -- CI 1 porta 5(display 8) Display linha 3 da coluna 1 -- CI 2 porta 4(display 9) Display linha 3 da coluna 2 -- CI 2 porta 3(display 10) Display linha 3 da coluna 3 -- CI 2 porta 2(display 11) Display linha 3 da coluna 4 -- CI 2 porta 1(display 12) Display linha 4 da coluna 1 -- CI 2 porta 8(display 13) Display linha 4 da coluna 2 -- CI 2 porta 7(display 14) Display linha 4 da coluna 3 -- CI 2 porta 6(display 15) Display linha 4 da coluna 4 -- CI 2 porta 5(display 16)
Acontece que não funcionou e venho a qui pedi ajuda.
A unica coisa que mexi foi na mascara e ficou assim:
byte digits[] = // DEdCBGFA - segmentos {B11111011, // 0 // DEdCBGFA - segmentos B00011000, // 1 // DEdCBGFA - segmentos B01011101, // 2 // DEdCBGFA - segmentos B00011101, // 3 // DEdCBGFA - segmentos B00011110, // 4 // DEdCBGFA - segmentos B10011111, // 5 // DEdCBGFA - segmentos B11010110, // 6 // DEdCBGFA - segmentos B00011001, // 7 // DEdCBGFA - segmentos B11011011, // 8 // DEdCBGFA - segmentos B10011111, // 9 // DEdCBGFA - segmentos B00100000, // Ponto // DEdCBGFA - segmentos B00000000}; // blank
Alguém poderia me ajudar?…
Adicionado por jose merces ao 22:43 em 20 outubro 2014