no matching function for call to 'DS1307::DS1307()'

Hello , I have a problem, I want to make a clock with a ds1307 and when compiling I get that error and I don’t like to fix it please :frowning:

code:

// Función: establecer hora y fecha, obtener el tiempo del chip RTC (DS1307) y mostrar
// en el monitor en serie.
// Hardware: RTC de Catalex
//
/****************************************************************************/
#include <Wire.h>
#include “DS1307.h”
#include “U8glib.h”//Librería para el control del display oled
DS1307 clock;//definir un objeto de la clase DS1307
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI // Se habilita esta linea según el display a usar en este caso el driver SH1106
String dia="";
void setup()
{
Serial.begin(9600);
clock.begin();
// clock.fillByYMD(2020,3,25);//Marzo 25,2020
// clock.fillByHMS(20,45,30);//20:45 30"
// clock.fillDayOfWeek(WED);//Miercoles
// clock.setTime();//Escribir hora y fecha en el chip RTC
}
void loop()
{
/Mostrar fecha y hora en el monitor en serie/
clock.getTime();
Serial.print(clock.hour, DEC);
Serial.print(":");
Serial.print(clock.minute, DEC);
Serial.print(":");
Serial.print(clock.second, DEC);
Serial.print(" “);
Serial.print(clock.dayOfMonth, DEC);
Serial.print(”/");
Serial.print(clock.month, DEC);
Serial.print("/");
Serial.print(clock.year+2000, DEC);
Serial.print(" “);
// Impresión del día de la semana
switch (clock.dayOfWeek)
{
case MON:
Serial.print(“Lunes”);
dia=“Lunes”;
break;
case TUE:
Serial.print(“Martes”);
dia=“Martes”;
break;
case WED:
Serial.print(“Miercoles”);
dia=“Miercoles”;
break;
case THU:
Serial.print(“Jueves”);
dia=“Jueves”;
break;
case FRI:
Serial.print(“Viernes”);
dia=“Viernes”;
break;
case SAT:
Serial.print(“Sabado”);
dia=“Sabado”;
break;
case SUN:
Serial.print(“Domingo”);
dia=“Domingo”;
break;
}
Serial.println(” ");
pantalla();//llama a la función “pantalla” para mostrar los datos en el display oled

}

//Mostra datos en en display
void pantalla(){
u8g.firstPage();
do {
draw();//Llama a la función draw
} while( u8g.nextPage() );
// Reconstruye la imagen después de un tiempo
delay(50);
}
void draw(void) {
//Los comandos gráficos para volver a dibujar la pantalla completa deben colocarse aquí
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(0, 20);
u8g.print(“Hora:”);
u8g.print(clock.hour, DEC);
u8g.print(":");
u8g.print(clock.minute, DEC);
u8g.print(":");
u8g.print(clock.second, DEC);
u8g.setPrintPos(0, 40);
u8g.print(“Fecha:”);
u8g.print(clock.dayOfMonth, DEC);
u8g.print("/");
u8g.print(clock.month, DEC);
u8g.print("/");
u8g.print(clock.year+2000, DEC);
u8g.setPrintPos(0, 60);
u8g.print(“Dia:”);
u8g.print(dia);
}

This looks like a a mismatch between the library that you downloaded and the one used in the sketch. Find the right library and your good to go. I’ve downloaded two using the IDE as I was not sure which one you’re using and it compiles without giving your error.

Please edit your post, select all code, click the image above the edit/reply window and next save your post again. That way we don’t have took at code in italics.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.