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.
Tags:
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?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por