Manual

do

Maker

.

com

RTC do Arduino UNO R4 WiFi

RTC do Arduino UNO R4 WiFi

Já citei em algum dos artigos anteriores, mas até então havia priorizado outras diversões. Chegou o momento de vermos o RTC do Arduino UNO R4 WiFi.

RTC nativo

O RTC é parte integrada da nova MCU utilizada, agora da Renesas - a RA4M1. Para mantê-lo sincronizado, claro, será necessário manter o RTC ligado a uma bateria. Do lado esquerdo da placa, próximo ao plug de alimentação, tem 3 pinos denominados como OFF, GND e VRTC. No pino VRTC deve-se entrar com a alimentação, entre 1.6v e 3.6v.

Tendo reconhecido as características de hardware, vamos agora à configuração.

Set Time

O formato é simples:

  • RTCTime startTime(30, Month::JUNE, 2023, 13, 37, 00, DayOfWeek::WEDNESDAY, SaveLight::SAVING_TIME_ACTIVE)
    
  • RTC.setTime(startTime)
    

Estou transcrevendo parte da documentação, para que eu tenha no blog toda a referência necessária tanto para mim, quanto para você. Assim você poderá navegar tranquilamente entre os artigos relacionados sem sair de um dos sites mais rápidos da Internet!

Aqui no blog você encontrará uma série bem completa com Arduino UNO R4 WiFi, além de ter uma caixa de ferramentas na página de entrada, com um gerador de array para a matriz de LEDs do Arduino. Tudo direto no blog!

Instancie um objeto RTCTime e então especifique os parâmetros definidos como iniciais. A primeira linha do exemplo acima é a configuração do momento inicial e a segunda linha faz o ajuste dessa parametrização definida por você.

Um exemplo completo da operação:

#include "RTC.h"

void setup() {
  Serial.begin(9600);

  RTC.begin();
  
  RTCTime startTime(30, Month::JUNE, 2023, 13, 37, 00, DayOfWeek::WEDNESDAY, SaveLight::SAVING_TIME_ACTIVE);

  RTC.setTime(startTime);
}

void loop(){
}

Get Time

Pegar o horário atual é mais fácil ainda.

  • RTC.getTime(currentTime)
    

Não sei se o exemplo a seguir é de fato um bom exemplo, mas basicamente é isso que deve ser feito:

#include "RTC.h"

void setup() {
  Serial.begin(9600);

  RTC.begin();
  
  RTCTime startTime(30, Month::JUNE, 2023, 13, 37, 00, DayOfWeek::WEDNESDAY, SaveLight::SAVING_TIME_ACTIVE);

  RTC.setTime(startTime);
}

void loop(){
RTCTime currentTime;

// Get current time from RTC
RTC.getTime(currentTime);
}

Outros métodos

A classe RTC oferece outros métodos para pegar a parcial de tempo, como dia, mês, ano, hora, minutos e segundos. Muito melhor do que ficar manipulando um objeto String ou array de char, hum?

  • getDayOfMonth()
    
  • getMonth()
    
  • getYear()
    
  • getHour()
    
  • getMinutes()
    
  • getSeconds()
    

Mais uma vez, a documentação exemplifica a manipulação de cada um desses itens. Podemos concluir enfim que utilizar o RTC do Arduino UNO R4 WiFi é extremamente simples e vantajoso, porque muitos projetos necessitam de temporização precisa, seja lá qual for o motivo, e nada melhor do que ter o recurso nativo no hardware. Que tal um projeto de dispenser de alimentos para pet? Essa placa deve atender em todos os aspectos, já que sua matriz de LEDs é suficiente para uma interface homem-máquina.

E assim que despontar a vontade, farei um vídeo completo sobre essa placa em nosso canal Manual do Maker no Youtube.

Se quiser ver mais artigos sobre o Arduino UNO R4 WiFi, coloque UNO R4 na caixa de Busca rápida aí no início da página.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.