Pessoal,
Segue abaixo o código fonte utilizado na Aula 7 do Curso Arduino Advanced, sobre o Relógio em Tempo Real com Display LCD 16x2.
#include
#include
#include
RTC_DS1307 RTC;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
Serial.begin(9600);
Wire.begin();
RTC.begin();
lcd.begin(16, 2);
if (!RTC.isrunning())
{
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop()
{
DateTime agora = RTC.now();
String relogio_data = "DT: ";
String relogio_hora = "HR: ";
int dia = agora.day();
int mes = agora.month();
int ano = agora.year();
relogio_data += ArrumaZero(dia);
relogio_data += "/";
relogio_data += ArrumaZero(mes);
relogio_data += "/";
relogio_data += ano;
int hora = agora.hour();
int minuto = agora.minute();
int segundo = agora.second();
relogio_hora += ArrumaZero(hora);
relogio_hora += ":";
relogio_hora += ArrumaZero(minuto);
relogio_hora += ":";
relogio_hora += ArrumaZero(segundo);
lcd.setCursor(0, 0);
lcd.print(relogio_data);
lcd.setCursor(0, 1);
lcd.print(relogio_hora);
delay(500);
}
String ArrumaZero(int i)
{
String ret;
if (i < 10) ret += "0";
ret += i;
return ret;
}
Abraços,
Renato
Parabéns Graccula, por mais uma excelente aula de Arduino. Seu curso é de nível profissional, e ainda aberto assim, a comunidade, é incrível essa sua iniciativa. Valeu, grande abraço
ResponderExcluireu tenho uma duvida, na hora de mostrar o ano no lcd eu quero colocar: dd/mm/aa ou invés de dd/mm/aaaa , qual alteração eu devo fazer no código?
ResponderExcluirObrigado pelo comentário!!!
ExcluirParticipe do forum do curso Arduino, poste suas duvidas tecnicas la!!!
Existem tópicos exclusivos separados por aula.
http://www.youtube.com/user/graccula?feature=guide
Abraços
Renato
Ola Renato, parabéns pelas as aulas, realmente são muito boas mesmo.
ResponderExcluirTenho uma duvida eu deixei sem querer a bateria sair do circuito por um tempo e o RTC agora esta com atraso e os segundos demoram para passar depois de uns 10 a 15 min. ele começa a contar os segundos normalmente, e eu não consigo ajustar a hora como eu faço para resetar o RTC ou qual outra maneira eu tenho para resolver esse problema?
Valeu, aloi.
ResponderExcluirSou cliente serialink.
repeti tudo e funcionou...
Manda brasa; manda + videos advanced.
Já estudei todos!
Parabéns pela aula muito bem detalhado.
ResponderExcluir