fbpx
RTC DS1302: Reloj de tiempo real

RTC DS1302: Reloj de tiempo real

RTC DS1302: Reloj de tiempo real

RTC DS1302: Reloj de tiempo real

Introducción

Con esta guía rápida, usted aprenderá a configurar un reloj en tiempo real mediante un módulo DS1302 y mostrar sus datos en un display mediante el bus I2C.

¿Qué es un módulo RTC?

Un módulo RTC (Real Time Clock) o "Reloj de tiempo real" consiste en un circuito integrado alimentado por una batería el cual, en todo momento, registra la fecha, día de la semana y hora al igual que un reloj digital convencional. Sólo que estos datos únicamente podrán ser consultados mediante comunicación I2C.


¿Para qué se utiliza?

Por lo general se encuentran en en ordenadores personales, servidores y sistemas embebidos, sin embargo los RTC están presentes en la mayoría de los aparatos electrónicos.

Sirven para tener en todo momento disponible y actualizada la fecha, día y hora independientemente de la alimentación de la placa.


¿Cómo funciona?

El RTC contiene un reloj/calendario en tiempo real y 31 bytes de RAM estática. Se comunica con un microprocesador a través de una interfaz serial simple.

Los datos se transfieren desde el reloj hacia la RAM (o viceversa) 1 byte a la vez o en ráfagas de hasta 31 bytes. Está diseñado para funcionar con muy baja potencia y retener datos e información de reloj en menos de 1μW. Tiene pines de alimentación dual, uno para el primario, proporcionado por el Arduino y otro para el respaldo, proporcionado por la pila.

Te puede interesar

Módulo de Tarjeta SD: Cómo usar este modulo con Arduino

Módulo de Tarjeta SD: Cómo usar este modulo con Arduino

Introducción

Esta guía muestra cómo usar un adaptador de tarjeta SD para proyectos de Arduino que requieren mucha capacidad de almacenamiento.

Algunos proyectos pueden recopilar una gran cantidad de datos, como la lecturas de datos de sensores leídos periodicamente, los que se desea almacenar permanentemente.

Este artículo le mostrará cómo conectar y usar un módulo de tarjeta SD genérico con un Arduino.

¿Qué es un lector de tarjetas SD?

Un lector SD es un dispositivo que permite emplear como almacenamiento una tarjeta SD, que podemos incorporar en nuestros proyectos con Arduino.

Existe varios protolos en el Arduino se comunica via el bus SPI, I2C o UART. Es preferible emplear SPI por su alta tasa de transferencia.

Esquema de conexiones

La conexión es sencilla y similar tanto para lectores SD como Micro SD.
Alimentacion: conectamos el modulo a 5V y Gnd.
Datos: conectamos los pines del bus SPI a los correspondientes de Arduino.

La conexión del modulo SD es la siguiente:

modulo micro sd - conexiones modulo sd - conexiones

Código de ejemplo

Para realizar la lectura y escritura en la tarjeta SD empleamos la librería SD.h (incluida en el IDE estándar de Arduino).

      
// Iniciar la tarjeta SD
SD.begin(cspin);

// Comprobar si existe un archivo x
// (devuelve true o false)
SD.exists(filename);

// Borrar un archivo
SD.remove(filename);

// Abrir un archivo
// mode: FILE_READ para sólo lectura
//       FILE_WRITE para lectura y escritura
SD.open(filepath, mode);

// Crear un directorio
SD.mkdir(directory);

// Eliminar un directorio
SD.rmdir(dirname);
      
    

Funciones del objeto file

      
// Obtener el tamaño de un archivo
file.size()
 
// Comprobar si quedan bytes por leer
file.available()
 
// Leer un byte del archivo
file.read()
 
// Escribir un byte en el archivo
file.write(data)
 
// Escribir una variable en un archivo 
//(en forma similar a Serial.Print)
file.print(data)

// Cerrar el archivo
file.close()
      
    

Lectura de Archivos

OBJETIVO Realizar la lectura de un archivo de texto e imprimir el contenido al puerto Serial
REQUISITOS Crear un archivo de texto "dataFile.txt", con datos diferente por cada linea, guardarlo en la raiz la tarjeta SD.

Contenido del archivo "dataFile.txt"

      
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.
      
    
      
#include <SD.h>

File dataFile;

void setup(){
  Serial.begin(9600);
  Serial.print(F("Iniciando SD ..."));
  if (!SD.begin(9)){
    Serial.println(F("Error al iniciar"));
    return;
  }
  Serial.println(F("Iniciado correctamente"));

  // Abrir fichero y mostrar el resultado
  dataFile = SD.open("datalog.txt"); 
  if (dataLine){
    string dataLine;
    while (dataFile.available()){
      dataLine = dataFile.read(); 
      Serial.write(dataLine);  
      // Se muestra el contenido en el puerto serial
    }
    dataFile.close();
  }else{
    Serial.println(F("Error al abrir el archivo"));
  }
}

void loop(){
}
      
    

Escritura de Archivos

OBJETIVO Registrar periódicamente la lectura de un evento
REQUISITOS

Para simular la lectura de un sensor realizamos una función readSensor que emula la captura de datos de un sensor.
En el ejemplo simplemente devuelve siempre 0 pero, en un caso real, esta función se sustituiría por una función que realice la lectura de un sensor o una entrada analógica.

      
#include <SD.h>

File logFile;

void setup(){
  Serial.begin(9600);
  Serial.print(F("Iniciando SD ..."));
  if (!SD.begin(9))
  {
    Serial.println(F("Error al iniciar"));
    return;
  }
  Serial.println(F("Iniciado correctamente"));
}

// Funcion que simula la lectura de un sensor
int readSensor(){
  return random(300);
}

void loop(){
  // Abrir archivo y escribir valor
  logFile = SD.open("datalog.txt", FILE_WRITE);

  if (logFile) { 
    int value = readSensor;
    logFile.print("Time(ms)=");
    logFile.print(millis());
    logFile.print(", value=");
    logFile.println(value);
    logFile.close();
  } 
  else {
    Serial.println("Error al abrir el archivo");
  }
  delay(500);
}
      
    
Formas de Pago
Metodos de Envio
Envíos a
todo el país
Soporte
Soporte
en línea
d1-mini-top

Wemos D1 Mini

Sin voto
sonoff_basic_-_wifi_wireless_smart_switch

Sonoff Basic - WiFi Smart Switch

Sin voto
sonoff_th10

Sonoff TH10/TH16

Sin voto
sonoff_rf_1_1_1

Sonoff RF - WiFi + RF Smart Switch

Sin voto
4ch_pro_3

Sonoff 4CH Pro - R2

Sin voto
pow-r2-04_2

Sonoff Pow R2

Sin voto
sonoff_th_10_th16_am2301-1

Sonoff Sensor - Si7021 - Temperatura Humedad

Sin voto
im121218034_1

Sonoff RF Remote Control - 433MHz 4-Button

Sin voto