shield keypad setando data

Boa Tarde, estou fazendo um trabalho para faculdade, ja consegui uma boa parte, porem so falto o shield lcd keypad, setar a data e conseguir configurar o ip do shield ethernet.

segue codigo

TCC_bonito.ino (13.1 KB)

A data e hora não deveriam estar a ser mostrados no LCD também? Isso deveria trabalhar sem ser necessário um PC por perto, assim, parece-me que não vai dar. Se comunica por ethernet também não seria mal pensado que tivesse algumas funcionalidade remotas (mostrar data e hora actuais e permitir a configurar alguns parâmetros). Os valores de "sensor de luz" não deviam ser dinâmicos (poderem ser configuráveis)? Eles estão definidos no código e nem sequer é através de um "define".

Bom dia! os valores sao fixos, os dos sensores, porem so o que eu precisava é set ( atualizar) a data e hora pelo hardware.

segue codigo que vai mostrar no visor!

void visor() {
// scroll 13 positions (string length) to the left
// to move it offscreen left:
for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
// scroll one position left:
lcd.scrollDisplayLeft();
lcd.clear(); //limpa o display do LCD.
lcd.print("T1: "); //imprime a string no display do LCD.
lcd.print(valorSensorTemp1);
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print("C");
lcd.print(" T2: "); //imprime a string no display do LCD.
lcd.print(valorSensorTemp2);
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print("C");

Serial.println(valorSensorTemp1);
Serial.println(valorSensorTemp2);
Serial.println(valorSensorLuz1);
Serial.println(valorSensorLuz2);

//Exibindo valor da leitura do sensor de luz no display LCD.
lcd.setCursor(0, 1); //posiciona o cursor na coluna 0 linha 1 do LCD.
lcd.print("L1: "); //imprime a string no display do LCD.
lcd.print(valorSensorLuz1);
lcd.print(" L2: "); //imprime a string no display do LCD.
lcd.print(valorSensorLuz2);
delay(500);
}

// scroll 29 positions (string length + display length) to the right
// to move it offscreen right:
for (int positionCounter = 0; positionCounter < 29; positionCounter++) {
// scroll one position right:
lcd.scrollDisplayRight();
lcd.clear();
lcd.print("Data : ");
lcd.print(rtc.getDateStr(FORMAT_SHORT));
lcd.print(" ");
lcd.println(rtc.getDOWStr(FORMAT_SHORT));
lcd.setCursor(0, 1);
lcd.print("Hora : ");
lcd.print(rtc.getTimeStr());
lcd.print(" ");
delay(500);
}

// scroll 16 positions (display length + string length) to the left
// to move it back to center:
for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
// scroll one position left:
lcd.scrollDisplayLeft();
lcd.clear(); //limpa o display do LCD.
lcd.print("T1: "); //imprime a string no display do LCD.
lcd.print(valorSensorTemp1);
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print("C");
lcd.print(" T2: "); //imprime a string no display do LCD.
lcd.print(valorSensorTemp2);
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print("C");

Serial.println(valorSensorTemp1);
Serial.println(valorSensorTemp2);
Serial.println(valorSensorLuz1);
Serial.println(valorSensorLuz2);

//Exibindo valor da leitura do sensor de luz no display LCD.
lcd.setCursor(0, 1); //posiciona o cursor na coluna 0 linha 1 do LCD.
lcd.print("L1: "); //imprime a string no display do LCD.
lcd.print(valorSensorLuz1);
lcd.print(" L2: "); //imprime a string no display do LCD.
lcd.print(valorSensorLuz2);
delay(500);
}

}// fim do visor

Está muito bonito o código, mas pelo menos eu, não o vou ler. Leia as regras do fórum ANTES DE POSTAR! Há regras básicas no fórum e uma delas é exactamente a forma correcta de postar código.