RTC DS3231 + 24C32 (REF: 0356)

2,95 

Hay existencias

Cantidad Descuento
1 - 5 -
6 - 10 2%
11 - 15 3%
16 + 5%
SKU: 0356 Categorías: , Etiquetas: , , ,

Descripción

Un Reloj de Tiempo Real (RTC) es un chip que nos permite conservar la hora y obtener su valor cuando lo deseemos. Este modelo RTC DS3231 (DS-3231 / MW-084) es la versión mejorada del RTC DS1307 además, cuenta con una pila botón para seguir manteniendo la hora cuando se quita la alimentación del circuito principal. La precisión de este modelo alcanza valores de desviación de 1-2 segundos cada 6 días, al estar compensado en temperatura internamente.

La comunicación desde el Arduino se realiza mediante el bus i2c, de manera sencilla y con muy pocos conductores. Adicionalmente, este módulo incorpora una memoria EEPROM i2c 24C32 de 32K que permite almacenar algunos valores para registros y mediciones.

Incluye portapilas para pila CR2032 (pila no incluida), que permite conservar la hora durante grandes periodos de tiempo (meses o años). Sus dimensiones son de 27 x 28 x 8.4 mm (aproximadamente)

  • Compensación automática de meses de 31 días y años bisiestos
  • Número de alarmas configurables: 2
  • Incluye memoria AT24C32 (32Kb) – dirección por defecto: 0x57
  • Interfaz i2c 400kHz
  • Portapilas: CR2032
  • Dimensiones: 38 x 22 x 14 mm
  • Peso: 8g
  • Tensión de funcionamiento: 3,3 – 5,5 V
  • Temperatura: 0 – 40 ºC

Más información: Hoja de datos 24C32

Conexionado:

  • Pin SCL: al pin A5 de Arduino UNO/nano
  • Pin SDA: AL pin A4 de Arduino UNO/nano
  • Pin Vcc: A 5V de Arduino
  • Pin GND: A masa de Arduino

Código de ejemplo (basado en la librería RTClib):

#include <Wire.h>
#include "RTClib.h"

RTC_DS3231 rtc;
String DiasDeLaSemana[7] = { "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" };
// *** CONFIGURACIÓN ***
void setup() {
   Serial.begin(9600); // Configuración Monitor Serie
   delay(1000); 
   if (!rtc.begin()) { // Inicializa RTC
      Serial.println(F("Error de conexion"));
      while (1);
   }
   // Si se ha perdido la corriente, fijar fecha y hora
   if (rtc.lostPower()) {
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Datos de fecha y hora de compilación del código
      // La línea siguiente permite fijar la fecha y hora a mano
      // 14 de Enero de 2016 a las 23:00:00
      // rtc.adjust(DateTime(2016, 1, 21, 23, 0, 0));
   }
}
// *** Función para imprimir datos por pantalla ***
void printDate(DateTime date) {
   Serial.print(date.year(), DEC);    Serial.print('/');
   Serial.print(date.month(), DEC);   Serial.print('/');
   Serial.print(date.day(), DEC);     Serial.print(" (");
   Serial.print(DiasDeLaSemana[date.dayOfTheWeek()]);  Serial.print(") ");
   Serial.print(date.hour(), DEC);     Serial.print(':');
   Serial.print(date.minute(), DEC);   Serial.print(':');
   Serial.print(date.second(), DEC);   Serial.println();
}
// *** CÓDIGO PRINCIPAL ***
void loop() {
   DateTime now = rtc.now(); // Lee datos del RTC
   printDate(now);
   delay(5000);
}

Valoraciones

No hay valoraciones aún.

Solo los usuarios registrados que hayan comprado este producto pueden hacer una valoración.

También te recomendamos…