Rtc_by_Makuna.rar

Bom dia, pessoal. 

Estou querendo aumentar a resolução do  clock do meu sistema para mostrar os centésimos de segundo, quando a tag for reconhecida, devido à uma maior precisão que o projeto requer. Porém, a biblioteca que baixei doShield RTC só veio configurado para mostrar até os segundos. Vocês podem me ajudar? Creio que tenho que implementar no arquivo.h da library do RTC, que no caso estou usando dois: DS3231 e DS1307. 
Queria uma um auxílio como complemento o código. Irei anexar os arquivos da biblioteca.

Att, 

João Pedro.

Exibições: 220

Anexos

Responder esta

Respostas a este tópico

Bom dia, 

O DS3213 e o DS1307 não tem controle dos centésimos de segundo !  O minimo são segundos. 

https://datasheets.maximintegrated.com/en/ds/DS3231.pdf

https://datasheets.maximintegrated.com/en/ds/DS1307.pdf

Ambos RTCs tem saídas SQW - square-wave frequencies (1Hz, 4kHz, 8kHz, 32kHz).

Poderá usar essa onda quadrada para contar pulsos, depois de ler a hora. 

Ou pode fazer isso com a função MILLIS. 

https://www.arduino.cc/reference/en/language/functions/time/millis/

Ah, ok.

E eu tenho como sincronizar essa função milis com a do relógio  RTC?

Bom dia JP,

se seu caso é precisão, sugiro não usar a função millis(),

pois a cada 49 dias, 17 horas,  2 minutos, 47 segundos e 295 milissegundos o contador

retorna a zero, o que pode induzir erros na sua medida.

Procure usar a saída de 8 KHz do seu RTC.

Ela da um pulso a cada 125 micro segundos.

RV

Obrigado.

Vai ser trabalhoso.

O relógio RTC gera uma interrupção a cada segundo. Use a saída SQW (1 Hz) conectada numa porta de interrupção do Arduino (D02 ou D03). 

https://www.arduino.cc/reference/en/language/functions/external-int...

Após o detecção da interrupção, você captura o contador de milisegundos do Arduino. 

O Arduino lê o relógio. Hora, minuto e segundo. Veja que nesse processo, alguns milisegundos serão gastos. 

E após a leitura do código RFID, você captura novamente o contador de milisegundos do Arduino. 

Assim, calculado a diferença dos contadores, determina quantos milisegundos gastou. 

Devem existir outras alternativas para fazer isso. Use a criatividade. 

Obrigado.

JP,

uma solução seria usar o TimerOne.h junto com o  o RTC.

https://www.arduinolibraries.info/libraries/timer-one

RV

Valeu, RV,

Acho que já dá para desenrolar. Qualquer coisa eu falo com vocês.

Att,

Rui bom dia, 

A saída SQW é sincronizada com o relógio RTC. 

Bom dia  José Gustavo Abreu Murta,

a minha sugestão não usa a saiada SQW.

RV

Isso mesmo, 

O timerOne não é sincronizado com o RTC. 

Como faria esse sincronismo?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço