- DS1307 - clock
- EEPROM 24C32AN - memória
- Bateria de lithium CR2032
Como ele tem uma bateria, as configurações de data e hora serão mantidas mesmo que o módulo seja desligado. Para maiores informações sobre o módulo clique aqui.
Para a este artigo, utilizaremos a biblioteca RTCLib para trabalhar com o módulo que pode ser baixada aqui.
Abaixo uma tabela com a pinagem que deve ser seguida para ligar o módulo ao arduino.
Segue uma foto, ilustrando a ligação.
Segue um código exemplo para testar o módulo.
#include <Wire.h> #include <RTClib.h> //RTC - Real Time Clock RTC_DS1307 RTC; //Inicializacao dos modulos void setup () { //Inicialozacao da serial Serial.begin(9600);//Inicializacao da serial Wire.begin();//Inicializacao do protocolo wire RTC.begin();//Inicializacao do modulo RTC //Verifica se o modulo esta funcionando ou nao if (! RTC.isrunning()) { Serial.println("RTC is NOT running!"); //Ajusta a data/hora do Clock com a data/hora em que o codigo foi compilado, basta descomentar a linha //RTC.adjust(DateTime(__DATE__, __TIME__)); } } void loop () { DateTime now = RTC.now();//Recuperando a data e hora atual Serial.print(now.day(), DEC);//Imprimindo o dia Serial.print('/'); Serial.print(now.month(), DEC);//Recuperando o mes Serial.print('/'); Serial.print(now.year(), DEC);//Recuperando o ano Serial.print(' '); Serial.print(now.hour(), DEC);//Recuperando a hora Serial.print(':'); Serial.print(now.minute(), DEC);//Reci[erando os minutos Serial.print(':'); Serial.print(now.second(), DEC);//Recuperando os segundos Serial.println(); delay(3000);//A leitura sera repetida a cada 3 segundos }
O código acima deve gerar uma saída similar no console serial conforme abaixo.
Até a próxima.
Pois o meu não sai do canto. O tempo não passa, fica uma hora fixa...
ResponderEliminarFernando , Salve !!!!
ResponderEliminarTenho um kit (arduino uno + rtc) identico ao seu. Implementei seu codigo no meu arduino pra ter uma ideia de funcionamento. Mas ai descobri um pequeno problema: enquanto o arduino esta com alimentacao o timer ta correndo blz, mas qdo eu interrompo a alimentacao, o rtc armazena a data e hora em que parou e quando a alimentacao retorna ao inves do timer estar com a hora atualizada ele simplesmente continua da hora em que foi interrompida a alimentacao.
Tem alguma ideia do que possa ser? Ja verifiquei as pinagens (ok), a bateria tambem, ja troquei ate de arduino (mega2560) e continua no mesmo.
Isso é assim mesmo ?
Olá! Você encontrou a solução para este problema? Eu estou passando pela mesma situação, a hora trava quando o arduino não esta alimentado, já tentei um monte de coisas, mas nada ainda.
Eliminarq peça é essa q vc usou para ligar o jumpers no módulo?
ResponderEliminarEste comentário foi removido pelo autor.
ResponderEliminarCaros, talvez seus problemas se resolvam com este outro código aqui:
ResponderEliminarhttp://www.instructables.com/id/Arduino-Aquaponics-Real-Time-Clock-Part-I/step2/Arduino-Library-and-Sketch/
Parabéns. Código enxuto que funcionou perfeitamente!
ResponderEliminar