Módulo RTC Arduino
This tutorial is not available in English
Agora que sabemos como receberemos a informação do módulo, precisamos de uma função (para facilitar durante a programação) que faça esta conversão de BCD para decimal quando recebermos informações do módulo e de decimal para BCD para quando enviarmos informações para o módulo. Estas funções já estão inclusas no código abaixo.
Assim como todos os relógios, este chip atrasa por conta de interferências externas como temperatura e campos magnéticos. Em seu manual, consta que o atraso pode chegar em 1 minuto por mês. Porém se este atraso for muito, existem módulos mais precisos como, por exemplo, o DS3234 que atrasa cerca de 1 minuto por ano.
Bem, no código abaixo é apresentado, de uma forma bem simplificada, uma maneira de se programar o horário real e exibi-lo no monitor serial. Como todas as vezes que abre-se o monitor serial o Arduino reseta, se mantivermos a mesma programação no Arduino o módulo RTC receberá o horário definido na função setDateTime(). Como solucionar este problema? Simples, basta acrescentar // na linha da função setDateTime(); dentro do void setup() para que ela fique comentada e seja ignorada pelo programa e programar novamente o Arduino.
Código:
Assim como todos os relógios, este chip atrasa por conta de interferências externas como temperatura e campos magnéticos. Em seu manual, consta que o atraso pode chegar em 1 minuto por mês. Porém se este atraso for muito, existem módulos mais precisos como, por exemplo, o DS3234 que atrasa cerca de 1 minuto por ano.
Bem, no código abaixo é apresentado, de uma forma bem simplificada, uma maneira de se programar o horário real e exibi-lo no monitor serial. Como todas as vezes que abre-se o monitor serial o Arduino reseta, se mantivermos a mesma programação no Arduino o módulo RTC receberá o horário definido na função setDateTime(). Como solucionar este problema? Simples, basta acrescentar // na linha da função setDateTime(); dentro do void setup() para que ela fique comentada e seja ignorada pelo programa e programar novamente o Arduino.
Código: