Módulo de reloj en tiempo real DS1302


El DS1302 es un módulo de reloj en tiempo real (RTC) que se utiliza para mantener la fecha y la hora actualizadas, incluso cuando el dispositivo al que está conectado está apagado. Este módulo contiene un reloj-calendario en tiempo real con 31 bytes de RAM estática, lo que permite almacenar información de segundos, minutos, horas, días, semanas, meses y años.

El DS1302 se comunica con un microprocesador a través de una interfaz serial simple y está diseñado para funcionar con muy baja potencia, lo que le permite retener datos e información del reloj con un consumo mínimo de energía. Además, incluye un porta pilas para una batería de botón tipo CR2032 que asegura la actualización continua de la fecha y la hora.

Este módulo en tiempo real se utiliza cuando necesitamos guardar y leer la fecha y la hora en un proyecto. Se debe instalar la batería CR2032 para que no se pierda la configuración, ya que si el módulo se desconecta de la fuente de alimentación, estos datos se borrarán y deberán reconfigurarse antes de su uso.

Conexión a una placa Arduino

Para conectar el módulo DS1302 a un Arduino, sigue estos pasos:

  1. Conexiones de Hardware:
    • VCC: Conéctalo al pin de 5V del Arduino.
    • GND: Conéctalo al pin GND del Arduino.
    • CLK: Conéctalo al pin digital 6 del Arduino.
    • DAT: Conéctalo al pin digital 7 del Arduino.
    • RST: Conéctalo al pin digital 8 del Arduino.
  2. Instalación de la Librería:
    • Abre el Arduino IDE.
    • Ve a Herramientas > Gestionar Bibliotecas….
    • Busca y instala la librería Rtc by Makuna.
  3. Código de Ejemplo:
    • Abre un nuevo sketch en el Arduino IDE y copia el siguiente código:
#include <ThreeWire.h>
#include <RtcDS1302.h>

ThreeWire myWire(7, 6, 8); // DAT, CLK, RST
RtcDS1302<ThreeWire> Rtc(myWire);

void setup() {
  Serial.begin(9600);
  Rtc.Begin();
  
  // Configura la fecha y hora inicial (solo la primera vez)
  RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);
  Rtc.SetDateTime(compiled);
}

void loop() {
  RtcDateTime now = Rtc.GetDateTime();
  Serial.print("Fecha y Hora: ");
  Serial.print(now.Day());
  Serial.print("/");
  Serial.print(now.Month());
  Serial.print("/");
  Serial.print(now.Year());
  Serial.print(" ");
  Serial.print(now.Hour());
  Serial.print(":");
  Serial.print(now.Minute());
  Serial.print(":");
  Serial.println(now.Second());
  delay(1000);
}

Este código inicializa el módulo DS1302 y muestra la fecha y hora en el monitor serial

Conexión a un Seeduino

Para usar este módulo con el microcontrolador Seeeduino XIAO, podemos usar la biblioteca virtuabotixRTC.h. Descargue los archivos como ZIP e instálelos a través de la administración de bibliotecas.

El siguiente código se utiliza para configurar el día y la hora. Solo se ejecuta una vez. Para utilizarlo en los proyectos, la línea myRTC.setDS1302Time(xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx) debe ser comentada o eliminada tan pronto como se haya establecido el día y la hora.

(También puede probar otras bibliotecas y sus ejemplos. Si busca «DS1302» en Administración de bibliotecas, será necesario reajustar el siguiente código).

#include <virtuabotixRTC.h>                   // Library use

//Wiring SCLK -> 3, I/O -> 2, CE -> 1
//Or CLK -> 3 , DAT -> 2, Reset -> 1

// If you change the wiring change the pins here also
virtuabotixRTC myRTC(3, 2, 1);

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

    // Set the current date, and time in the following format:
    // seconds, minutes, hours, day of the week, day of the month, month, year.

    myRTC.setDS1302Time(00, 26, 10, 3, 1, 5, 2024);

    // Here you write your actual time/date as shown above but remember to  
    // "comment/remove" this function once you're done
    // The setup is done only one time and the module will continue.
    // counting it automatically
}

void loop() {
 
   // This allows for the update of variables for time or
   // accessing the individual elements.
   MyRTC.updateTime();                                 

   // Start printing elements as individuals.
   Serial.print("Current Date / Time: ");
   // You can switch between day and month if you're using American system.
   Serial.print(myRTC.dayofmonth);                     
   Serial.print("/");
   Serial.print(myRTC.month);
   Serial.print("/");
   Serial.print(myRTC.year);
   Serial.print(" ");
   Serial.print(myRTC.hours);
   Serial.print(":");
   Serial.print(myRTC.minutes);
   Serial.print(":");
   Serial.println(myRTC.seconds);

   // Delay so the program doesn't print non-stop
   delay(1000);
}

Nueva forma de conectarnos a nuestra Raspberry Pi


Sin bien es cierto que VNC es más que suficiente y ofrece un gran número de funciones adicionales, no es una aplicación sencilla de configurar. La nueva solución a este problema, la ha creado el propio fabricante de este pequeño ordenador y se llama Raspberry Pi Connect.

¿Qué es Raspberry Pi Connect?

Raspberry Pi Connect es una nueva función introducida en Raspberry Pi OS 64 (anteriormente conocido como Raspbian) que nos permite conectarte de forma remota a una Raspberry Pi desde cualquier dispositivo con un navegador web, sin necesidad de instalar ningún software adicional. Esto significa que se puede acceder a nuestra Raspberry Pi desde un ordenador portátil, smartphone o tablet, ya sea que esté en casa o en cualquier otro lugar del mundo.

Para utilizar Raspberry Pi Connect, solo tiene que seguir estos pasos:

  1. Actualize su Raspberry Pi a Raspberry Pi OS 64. Puede hacerlo descargando la última imagen del sistema operativo desde el sitio web de Raspberry Pi e instalándola en la tarjeta SD.
  2. Habilite Raspberry Pi Connect en tu Raspberry Pi. Para ello, abra el menú de inicio y seleccione «Configuración» > «Red y Raspberry Pi» > «Raspberry Pi Connect». A continuación, active la casilla «Habilitar Raspberry Pi Connect».
  3. Acceda a su Raspberry Pi desde un navegador web. Abra un navegador web en su dispositivo y escriba la dirección IP de su Raspberry Pi en la barra de direcciones. La dirección IP se puede encontrar en la configuración de red de su Raspberry Pi.
  4. Introduzca la contraseña de su Raspberry Pi cuando se le solicite. Una vez introducida la contraseña, podrá acceder a tu Raspberry Pi de forma remota.

Raspberry Pi Connect utiliza VNC (Virtual Network Computing) para proporcionar acceso remoto a su Raspberry Pi. VNC es un protocolo que te permite controlar un ordenador de forma remota como si estuvieras sentado delante de él.

Raspberry Pi Connect es una herramienta muy útil para acceder a tu Raspberry Pi de forma remota. Es fácil de usar y no requiere ninguna configuración complicada.

Aquí hay algunos casos de uso para Raspberry Pi Connect:

  • Acceder a los archivos de su Raspberry Pi desde cualquier lugar.
  • Ejecutar aplicaciones en su Raspberry Pi de forma remota.
  • Configurar y administrar su Raspberry Pi.
  • Solucionar problemas de su Raspberry Pi.

Instalación desde una RPI ya configurada

Esa nueva funcionalidad, utiliza una conexión peer-to-peer entre los dispositivos mediante WebRTC. Si la latencia de la conexión es muy elevada, este nuevo servicio utilizará los servidores de Raspberry en Reino Unido utilizando nuestra cuenta (si no tenemos una, debemos crearla) donde se muestran todos los dispositivos asociados y cifrando la conexión para que nadie más que nosotros, tenga acceso al dispositivo.

En un principio, la idea de la Fundación Raspberry es que se trate de un servicio completamente gratuito. De momento, Raspberry Pi Connect se encuentra en fase beta, por lo que la experiencia de usuario puede no ser la mejor de todas en algún momento y presentar algún problema de funcionamiento. Como hemos comentado más arriba, esta nueva función solo es compatible con Raspberry Pi 5, Raspberry Pi 4 y Raspberry Pi 400, ya que este solo es compatible con 64 bits y para instalarla tan solo debemos realizar los pasos que os mostramos a continuación.

Cómo instalar Raspberry Pi Connect

En primer lugar, Raspberry Pi Connect necesita que su Raspberry Pi esté ejecutando una distribución de 64 bits de Raspberry Pi OS Bookworm que utilice el servidor de ventanas Wayland. Esto a su vez significa que, por ahora, necesitará una Raspberry Pi 5, Raspberry Pi 4 o Raspberry Pi 400.

Asumiendo que estás usando uno de estos modelos, asegúrese de que tiene la última versión de Raspberry Pi OS Bookworm desde Raspberry Pi Imager, para activar esta nueva función, tan solo debemos acceder a terminal y ejecutar los siguientes comandos:

sudo apt update

sudo apt upgrade

sudo apt install rpi-connect

Una vez ha finalizado la instalación, debemos reiniciar el dispositivo utilizando el comando:

sudo reboot

Al iniciar sesión, en la parte superior del escritorio, se mostrará un nuevo icono con forma circular con dos puntos.

Debemos pulsar ahí y, seguidamente, en Sign para introducir los datos de la cuenta de Raspberry Pi que debemos crear para utilizar este servicio. Para acceder a las Raspberry Pi utilizando Raspberry  Pi Connect debemos visitar la URL connect.raspberrypi.com

Seguidamente, introducimos los datos de nuestra cuenta y se mostrarán todos los dispositivos asociados. Para conectarlos, lo único que debemos hacer es seleccionar sobre este y automáticamente, se mostrará el escritorio del dispositivo

Conexiones peer-to-peer y retransmitidas

Si tiene una Raspberry Pi, deberíamos probar Raspberry Pi Connect pues es una forma sencilla y segura de acceder a tu Raspberry Pi desde cualquier lugar. …pero ,por el momento, el servicio Raspberry Pi Connect cuenta con un único servidor de retransmisión (TURN), situado en el Reino Unido. Esto significa que si rpi-connect decide retransmitir el tráfico, la latencia puede ser bastante alta. Si pasa el ratón por encima del icono del candado de su navegador mientras está conectado, verá si su conexión está siendo retransmitida o no, para que pueda saber si los cambios en su configuración de red podrían mejorar la conectividad. La intención de la fundación es que Raspberry Pi Connect siga siendo gratuito ( para usuarios individuales con conexiones no retransmitidas, sin límite en el número de dispositivos pero aún no saben cuántas personas necesitarán retransmitir su tráfico a través de sus TURN; asi que prometen vigilar el uso del ancho de banda y decidiran cómo tratar estas conexiones en el futuro.

Raspberry Pi Connect está en fase beta, así que tenga en cuenta que puede encontrarse con alguna limitación o imperfección.