Para melhorar a sua experiência este site utiliza cookies. Ao navegar, está a consentir a sua utilização. Saiba mais sobre os nossos cookies.

Módulo RTC DS3231 Relógio Digital de Precisão

7,30 €
Com IVA
ElectroFun
ef16b0024bg

Módulo RTC DS3231 AT24C32 I2C Relógio Digital de Precisão. O Relógio Digital DS3231 é um relógio de tempo real de alta precisão e de baixo consumo de energia.

Quantidade
Por encomenda

O Relógio Digital DS3231 ("Real Time Clock" ou RTC) é um relógio de tempo real de alta precisão e de baixo consumo de energia. Na placa está embutido um sensor de temperatura e um cristal oscilador para melhorar a sua precisão.

Este módulo DS3231 é capaz de fornecer informações como segundos, minutos, dia, data, mês e ano. Correções como meses com menos de 31 dias e anos bissextos são corrigidos automaticamente e pode operar tanto no formato 12 horas como 24 horas.

Em caso de falha de energia o DS3231 aciona automaticamente a bateria que acompanha o módulo para evitar perda de dados. O endereço e as informações são transferidas via protocolo I2C.

Especificações:
• Tensão de operação: 3,3-5V;
• Chip: DS3231;
• Indica segundos, minutos, horas, dias da semana, dias do mês, meses e anos;
• Sensor de temperatura com ± 3 °C de precisão;
• Chip de memória: AT24C32 (capacidade de 32K bytes que podem ser usadas como RAM extendida do microcontrolador);
• Interface I2C;
• Circuito de deteção de falha de energia;
• Consome menos de 500nA no modo bateria com oscilador em funcionamento;
• Faixa de temperatura: 0 a 40°C;
• Dimensões: 38 x 22 x 14mm;
• Peso: 8g.

Inclui:
• 1x Relógio Digital de Precisão RCT DS3231;
• 1x Bateria lítio CR2032. 

Esquema de Ligação:

Código Exemplo: 

#include <DS3231.h>
#include <Wire.h>
#include <LiquidCrystal.h>

//Configuração do LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

//Configuração da biblioteca do DS3231
DS3231 Clock;
bool Century=false;
bool h12;
bool PM;
byte ADay, AHour, AMinute, ASecond, ABits;
bool ADy, A12h, Apm;

byte year, month, date, DoW, hour, minute, second;

void setup() {
	// Iniciar o Interface I2C 
	Wire.begin();
        Clock.setSecond(50);//Setar os segundos
        Clock.setMinute(59);//Setar os minutos
        Clock.setHour(11);  //Setar as horas
        Clock.setDoW(5);    //Setar o dia da semana (1 - Segunda // 2 - Terça // 3 - Quarta // 4 - Quinta // 5 - Sexta // 6 - Sabado // 7 - Domingo) 
        Clock.setDate(31);  //Setar o dia do mês
        Clock.setMonth(5);  //Setar o mês
        Clock.setYear(13);  //Setar o ano (os dois ultimos numeros do ano)

	// Iniciar o serial
	Serial.begin(115200);

        //Iniciar o LCD
        lcd.begin(16, 2); 

}
void ReadDS3231() //Função do DS3231
{
  int second,minute,hour,date,month,year,temperature, day; 
  char nome;

  second=Clock.getSecond(); //Guarda os segundos
  minute=Clock.getMinute(); //Guarda os minutos
  hour=Clock.getHour(h12, PM); //Guarda as horas
  date=Clock.getDate(); //Guarda o dia do mês
  month=Clock.getMonth(Century); //Guarda o mês
  year=Clock.getYear(); // Guarda o ano
  day=Clock.getDoW(); //Guarda o dia da semana (ele guarda o valor de cima)

  temperature=Clock.getTemperature(); //Guarda a temperatura

  //Muda a variavel do dia semana, que é um valor int para o dia em char)
  switch(day){
    case 1: nome = 'S';
    break;
    case 2: nome = 'T';
    break;
    case 3: nome = 'Q';
    break;
    case 4: nome = 'Q';
    break;
    case 5: nome = 'S';
    break;
    case 6: nome = 'S';
    break;
    case 7: nome = 'D';
    break;
    default:
    break;
  }

  //Joga as variaveis na Serial
  Serial.print("20");
  Serial.print(year,DEC);
  Serial.print('-');
  Serial.print(month,DEC);
  Serial.print('-');
  Serial.print(date,DEC);
  Serial.print(' ');
  Serial.print(hour,DEC);
  Serial.print(':');
  Serial.print(minute,DEC);
  Serial.print(':');
  Serial.print(second,DEC);
  Serial.print('n');
  Serial.print("Temperature=");
  Serial.print(temperature); 
  Serial.print('n');
  Serial.print("Dia=");
  Serial.print(nome); 
  Serial.print('n');

  //Primeira Linha do LCD
  lcd.setCursor(0,0);             // Seta a posição no LCD (coluna,linha)
  lcd.print(hour,DEC);      // imprime a mensagem no LCD (lembrando que cada caracter usa um espaço do LCD)
  lcd.setCursor(2,0);
  lcd.print(":");
  lcd.setCursor(3,0);
  lcd.print(minute,DEC);
  lcd.setCursor(5,0);
  lcd.print(":");
  lcd.setCursor(6,0);
  lcd.print(second,DEC); 
  lcd.setCursor(9,0);
  lcd.print(nome); 

  //Segunda linha do LCD
  lcd.setCursor(0,1);
  lcd.print(date,DEC); 
  lcd.setCursor(2,1);
  lcd.print("-"); 
  lcd.setCursor(3,1);
  lcd.print(month,DEC); 
  lcd.setCursor(5,1);
  lcd.print("-"); 
  lcd.setCursor(6,1);
  lcd.print(year,DEC); 

  lcd.setCursor(9,1);
  lcd.print("Temp:");
  lcd.setCursor(14,1);
  lcd.print(temperature,DEC); 

}
void loop() {
  ReadDS3231(); //Chama a função do relógio
  delay(1000);

}
Exibir o selo de confiança
  • Para mais informações sobre a natureza do controlo das opiniões, bem como a possibilidade de entrar em contato com o autor da opinião, consulte a nossa CGU.
  • Não foi fornecido qualquer incentivo para serem escritas estas opiniões
  • As opiniões são publicadas e mantidas por um período de cinco anos
  • As opiniões não podem ser modificadas: se um cliente deseja modificar a sua opinião, então pode fazê-lo contatando as Opiniões Verificadas diretamente para remover a opinião existente e publicar uma nova opinião
  • Os motivos para a eliminação das opiniões estão disponíveis aqui.

5 /5

Baseado em 1 opiniões de clientes

  • 1
    0
  • 2
    0
  • 3
    0
  • 4
    0
  • 5
    1
Classifique as opiniões por :

MANUEL O. publicado o 05/04/2020 seguindo uma ordem feita em 30/03/2020

5/5

Barato, preciso é fácil de programar.

Este comentário foi útil? Sim 0 Não 0

×