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;
}…
in 2
pino 1 do lcd gnd
pino 2 do lcd +5
pino 3 do lcd ligado no pino central de um pot de 10K . É assim que eu ligo o meu lcd na placa uno/duemilanove.
…
Adicionado por O. Sanches ao 23:02 em 15 setembro 2011
e M3 Pin 11+13
Desce> DES - M2 pin 10+7 e M3 pin 11+12
Frente> FRE - M1 pin 9+4 e M4 pin 5+16
A traís> TRA - M1 pin 9+3 e M4 pin 5+15
Esquerda> ESQ - M1 pin 9+3 e M4 pin 5+16
Direita> DIR - M1 pin 9+4 e M4 pin 5+15
LEDs> LUZ - pin 6
A idéia e usar as variáveis dentro do arduino, quando o scadabr mandar um comando ele envia para a variável q controla as 4 saidas digitais das combinações acima.
Obrigado pelo apoio!
Abraços !
…
Oi Eliana,gostaria de saber como você conseguiu ler 4 sensores DS18B20.Estou com problemas na parte de programação.Preciso colocar 5 sensores,mas só consigo colocar 3.
Desde já agradeço
Você esta usando 5 leds para cada segmento ?
Cada tira não são 3 leds somente?
Não entendi a ligação desses fios vermelhos. (ou eles estão desconectados?)
ds, enquanto o Arduino só tem 13 pinos. Vai precisar dum Arduino Uno ou usar expansores de porta, o que é bem mais complicado. Vamos do princípio, para facilitar, vamos supor que eu use só 5 leds e 5 botões:
int led; //declara uma variavel para os ledsint bt; //declara outra variavel para os botoesvoid setup()
{
for (led=3; led<8; led++) // para o led 3 até o led 7 (menor que 8)
{
pinMode (led1, OUTPUT); // define o pino dos leds como saída
}
for (bt=8; bt<13; bt++) // o mesmo para os botoes, como entradas.
{ pinMode (bt, INPUT);
}}void loop()
{ int botoes[10]; // declara um vetor, também chamado de array, de 10 membros.
//imagine uma matriz de 1 linha e 5 colunas.
for (int x=0; x<10; x++) // coloque em cada posicao dessa matriz uma variavel q vc chama de x
{
pinos[x]=x+3; //define que a posicao zero = zero+2 (pino 3, entendeu?), posicao 1= pino 4, posicao 2=pino5
//e assim por diante, sempre somando 3 ao valor da posicao na matriz (a primeira é zero)
}
if(digitalRead(pinos[x]==0)) // daí as condicoes de ligar e desligar
{ digitalWrite(pinos[x+5],LOW); // note que para o pino 3, o pino do led é (pino do botao)+3, ou seja, pino 8 }
else
{
digitalWrite(pinos[x+5],HIGH); delay(10000); }
}
Divirta-se!…
Adicionado por Alexandre ao 16:32 em 28 julho 2015