Go Down

Topic: Problema Reloj DS3231 (Read 120 times) previous topic - next topic

jpc1499

Hola, estoy intentando hacer que la luces de mi casa se prendan y se apaguen a un determinado horario, tengo un DS3231, con un arduino Mega y por ahora estoy probando con leds.

Encontre el siguiente codigo:

Code: [Select]
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
int hora=0;
int minutos=0;
int segundos=0;
int salida=3;
void setup () {
  //Inicializamos el puerto serie, wire y el modulo RTC
    Serial.begin(9600);
    Wire.begin();
    RTC.begin();
    //Si quitamos el comentario de la linea siguiente, se ajusta la hora y la fecha con la del ordenador
    RTC.adjust(DateTime(__DATE__, __TIME__));
        
  pinMode(salida,OUTPUT);

  }
  
void loop () {
    DateTime now = RTC.now();
  hora=(now.hour(),DEC);
  minutos=(now.minute(),DEC);
  segundos=(now.second(),DEC);
    //Imprimimos el dia
    Serial.print(now.day(), DEC);
    Serial.print('/');
    //Imprimimos el mes
    Serial.print(now.month(), DEC);
    Serial.print('/');
    //Imprimimos el año
    Serial.print(now.year(), DEC);
    Serial.print(' ');
    //Imprimimos la hora
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    //Imprimimos los minutos
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    //Imprimimos los segundos
    Serial.print(now.second(), DEC);
    Serial.println();
  
  
  if (now.hour()== 22 && now.minute() ==24)
  {
  digitalWrite(salida,HIGH);
  }
   if (now.hour()== 22 && now.minute() ==25)
  {
  digitalWrite(salida,LOW);
 
  }
  delay(1000);




Pero yo tengo un DS3231 y no se como convertir el codigo con la libreria DS1307 a DS3231. Espero puedan ayudarme, ya que no estoy muy metido en el tema.

Adrian_E

RTC_DS3231 RTC en reemplazo de este RTC_DS1307 RTC;

surbyte

#2
Aug 18, 2018, 12:40 am Last Edit: Aug 18, 2018, 12:40 am by surbyte
Podes usar el DS3231 de igual modo que el DS1307.
Es mucho mas prceciso pero la librería lo soporta sin cambios.


Para un DS1307 usas esto

Code: [Select]
RTC_DS1307 rtc;

Para un DS3231 usas esto
Code: [Select]
RTC_DS3231 rtc;

Lo tienes en los ejemplos de la librería RTClib. Acaso no los viste?

ArduMyth

Encontre el siguiente codigo:
[...]
Pero yo tengo un DS3231 y no se como convertir el codigo con la libreria DS1307 a DS3231. Espero puedan ayudarme, ya que no estoy muy metido en el tema.
En vez de estar buscando códigos por ahí, ve a la documentación de la librerías que uses y revisa tanto las explicaciones como los ejemplos: RTClib

Copiar sin más da cómo resultado estas cosas. Te has quedado sin saber cómo seguir y era cuestión de cambiar una línea...

Lean no sólo copien ;)

Go Up