auxilio código rtc ds 3231

pessoal está dando um erro no meu código acredito ser algo simples porem sou iniciante no arduino se puderem ajudar.

segue código

#include “Wire.h”
#define DS3231_ADDRESS 0x68

int segundos;
int minutos;
int horas;
int diadasemana;
int diadomes;
int mes;
int ano;
byte zero = 0x00;
int rele1 = 7;
int rele2 = 8;
int rele3 = 9;
int rele4 = 10;

bool ligarele1;
bool ligarele2;
bool ligarele3;
bool ligarele4;
RTCDateTime dataehora;

void setup()
{
pinMode(rele1, OUTPUT);
digitalWrite(rele1, HIGH);
pinMode(rele2, OUTPUT);
digitalWrite(rele2, HIGH);
pinMode(rele3, OUTPUT);
digitalWrite(rele3, HIGH);
pinMode(rele4, OUTPUT);
digitalWrite(rele4, HIGH);
ligarele1 = false;
ligarele2 = false;
ligarele3 = false;
ligarele4 = false;
Wire.begin();
Serial.begin(9600);

rtc.setDateTime(11 DATE 12__, _20_TIME 00);
}
byte ConverteParaBCD(byte val) { //Converte o número de decimal para BCD
return ( (val / 10 * 16) + (val % 10) );
}
byte ConverteparaDecimal(byte val) { //Converte de BCD para decimal
return ( (val / 16 * 10) + (val % 16) );
}
void Mostrarelogio()
{
Wire.beginTransmission(DS3231_ADDRESS);
Wire.write(zero);
Wire.endTransmission();
Wire.requestFrom(DS3231_ADDRESS, 7);
int segundos = ConverteparaDecimal(Wire.read());
int minutos = ConverteparaDecimal(Wire.read());
int horas = ConverteparaDecimal(Wire.read() & 0b111111);
int diadasemana = ConverteparaDecimal(Wire.read());
int diadomes = ConverteparaDecimal(Wire.read());
int mes = ConverteparaDecimal(Wire.read());
int ano = ConverteparaDecimal(Wire.read());
//Mostra a data no Serial Monitor
Serial.print(“Data: “);
Serial.print(diadomes);
Serial.print(”/”);
Serial.print(mes);
Serial.print("/");
Serial.print(ano);
Serial.print(" “);
Serial.print(“Hora : “);
Serial.print(horas);
Serial.print(”:”);
Serial.print(minutos);
Serial.print(”:");
Serial.print(segundos);
switch (diadasemana)
{
case 0: Serial.println(", Domingo");
case 1: Serial.println(", Segunda");
case 2: Serial.println(", Terca");
case 3: Serial.println(", Quarta");
case 4: Serial.println(", Quinta");
case 5: Serial.println(", Sexta");
case 6: Serial.println(", Sabado");
}

if ((horas >= 8) and (minutos <= 00) and (!ligarele1)) {
ligarele1 = true;
digitalWrite(rele1, LOW);
}
if ((horas >= 8) and (minutos <= 30) and (!ligarele2)) {
ligarele2 = true;
digitalWrite(rele2, LOW);
}
if ((horas >= 9) and (minutos <= 00) and (!ligarele3)) {
ligarele3 = true;
digitalWrite(rele3, LOW);
}
if ((horas >= 9) and (minutos <= 30) and (!ligarele4)) {
ligarele4 = true;
digitalWrite(rele4, LOW);
}

if ((horas >= 20) and (minutos <= 00) and (ligarele1)) {
ligarele1 = false;
digitalWrite(rele1, HIGH);
}
if ((horas >= 20) and (minutos <= 30) and (ligarele2)) {
ligarele2 = false;
digitalWrite(rele2, HIGH);
}
if ((horas >= 21) and (minutos <= 00) and (ligarele3)) {
ligarele3 = false;
digitalWrite(rele3, HIGH);
}
if ((horas >= 21) and (minutos <= 30) and (ligarele4)) {
ligarele4 = false;
digitalWrite(rele4, HIGH);
}

} void loop()
{
Mostrarelogio();
delay(1000);
}

Edite seu post e coloque o código dentro de tags [ code]seu código aqui[ /code] para facilitar a leitura, assim como descrito em How to use this forum - please read item 7.

pessoal está dando um erro no meu código

Qual o erro?
O que o código faz? O que era para fazer?

#include "Wire.h"
#define DS3231_ADDRESS 0x68

DS3231 rtc;              //Criação do objeto do tipo DS3231
RTCDateTime dataehora;   //Criação do objeto do tipo RTCDateTime

int segundos;
int minutos;
int horas;
int diadasemana;
int diadomes;
int mes;
int ano;
byte zero = 0x00;
int rele1 = 7;
int rele2 = 8;
int rele3 = 9;
int rele4 = 10;

bool ligarele1;
bool ligarele2;
bool ligarele3;
bool ligarele4;


rtc.setDateTime(_12_DATE_12_, _10_TIME_12_);

void setup()
{

dataehora = rtc.getDateTime();     //Atribuindo valores instantâneos de 
                                                         //data e hora à instância dataehora esta linha deve ser comentada após a primeira gravação no Arduino.

pinMode(rele1, OUTPUT);
digitalWrite(rele1, HIGH);
pinMode(rele2, OUTPUT);
digitalWrite(rele2, HIGH);
pinMode(rele3, OUTPUT);
digitalWrite(rele3, HIGH);
pinMode(rele4, OUTPUT);
digitalWrite(rele4, HIGH);
ligarele1 = false;
ligarele2 = false;
ligarele3 = false;
ligarele4 = false;
Wire.begin();
Serial.begin(9600);
}
byte ConverteParaBCD(byte val){ //Converte o número de decimal para BCD
return ( (val/10*16) + (val%10) );
}
byte ConverteparaDecimal(byte val) { //Converte de BCD para decimal
return ( (val/16*10) + (val%16) );
}
void Mostrarelogio()
{
Wire.beginTransmission(DS3231_ADDRESS);
Wire.write(zero);
Wire.endTransmission();
Wire.requestFrom(DS3231_ADDRESS, 7);
int segundos = ConverteparaDecimal(Wire.read());
int minutos = ConverteparaDecimal(Wire.read());
int horas = ConverteparaDecimal(Wire.read() & 0b111111); 
int diadasemana = ConverteparaDecimal(Wire.read()); 
int diadomes = ConverteparaDecimal(Wire.read());
int mes = ConverteparaDecimal(Wire.read());
int ano = ConverteparaDecimal(Wire.read());
//Mostra a data no Serial Monitor
Serial.print("Data: ");
Serial.print(diadomes);
Serial.print("/");
Serial.print(mes);
Serial.print("/");
Serial.print(ano);
Serial.print(" ");
Serial.print("Hora : ");
Serial.print(horas);
Serial.print(":");
Serial.print(minutos);
Serial.print(":");
Serial.print(segundos);
switch(diadasemana)
{
case 0:Serial.println(", Domingo");
case 1:Serial.println(", Segunda");
case 2:Serial.println(", Terca");
case 3:Serial.println(", Quarta");
case 4:Serial.println(", Quinta");
case 5:Serial.println(", Sexta");
case 6:Serial.println(", Sabado");
}

if ((horas >= 8) and (minutos <= 00) and (!ligarele1)) {
ligarele1 = true;
digitalWrite(rele1, LOW);}
if ((horas >= 8) and (minutos <= 30) and (!ligarele2)) {
ligarele2 = true;
digitalWrite(rele2, LOW);}
if ((horas >= 9) and (minutos <= 00) and (!ligarele3)) {
ligarele3 = true;
digitalWrite(rele3, LOW);}
if ((horas >= 9) and (minutos <= 30) and (!ligarele4)) {
ligarele4 = true;
digitalWrite(rele4, LOW);}

if ((horas >= 20) and (minutos <= 00) and (ligarele1)) {
ligarele1 = false;
digitalWrite(rele1, HIGH);}
if ((horas >= 20) and (minutos <= 30) and (ligarele2)) {
ligarele2 = false;
digitalWrite(rele2, HIGH);}
if ((horas >= 21) and (minutos <= 00) and (ligarele3)) {
ligarele3 = false;
digitalWrite(rele3, HIGH);}
if ((horas >= 21) and (minutos <= 30) and (ligarele4)) {
ligarele4 = false;
digitalWrite(rele4, HIGH);}


}void loop()
{
Mostrarelogio();
delay(1000);
}

desculpa o erro

bem o projeto é ligar 4 relés em horário pré determinado com o auxilio do rtc ds 3231.
o projeto é ligar uma luminaria de leds. ou seja cada canal do relé vai controlar uma carga de leds(mas isso é detalhe.)
a questão é que eu não consigo gerar o código completamente.

a questão é que eu não consigo gerar o código completamente.

Como chegou a essa conclusão?
Obteve algum erro ao compilar? Poste o erro aqui.
O código não funciona como esperado? O que acontece na realidade diferente do esperado?

bem cheguei a esta conclusão pois o código não foi gerado por min, foi ajuda de um programador mas perdi contato com ele. em fim programa estava pela metade, o programa original não continha as linhas para gravar o horário e a data no rtc, aquelas linhas comentadas.
em busca na internet eu achei algo sobre e inclui as linhas mas dá erro.
o erro que dá que existem linhas não declaradas. não consigo postar aqui pos estou na empresa e este pc não tem o programa do Arduino para poder rodar código.
o código postado aqui contem as linhas para ajustar a data e hora mas não sei se estão certos de acordo com meu programa além do erro que acontece.

o erro que dá que existem linhas não declaradas. não consigo postar aqui pos estou na empresa e este pc não tem o programa do Arduino para poder rodar código.

Assim que possível, copie o erro do Arduino ao compilar e poste aqui.

Não tenho o hardware para testar, então você é o único que pode dizer se o programa funciona como o esperado.

./opt/arduino-builder/arduino-builder -compile -core-api-version 10611 -hardware opt/arduino-builder/hardware -hardware ./opt/cores -tools opt/arduino-builder/tools -tools ./opt/tools -built-in-libraries opt/libraries/latest -logger humantags -fqbn arduino:avr:uno -build-cache /tmp -build-path /tmp/158826676/build -verbose -prefs runtime.tools.avr-gcc.path=./opt/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2 -prefs runtime.tools.avrdude.path=./opt/tools/avrdude/6.3.0-arduino14 -prefs runtime.tools.arduinoOTA.path=./opt/tools/arduinoOTA/1.2.1 -libraries /tmp/158826676/custom -libraries /tmp/158826676/pinned /tmp/158826676/sketch_dec12a

Using library Wire at version 1.0 in folder: /home/ubuntu/opt/cores/arduino/avr/libraries/Wire

/tmp/158826676/sketch_dec12a/sketch_dec12a.ino:4:1: error: 'DS3231' does not name a type

DS3231 rtc; //Criação do objeto do tipo DS3231

^

/tmp/158826676/sketch_dec12a/sketch_dec12a.ino:5:1: error: 'RTCDateTime' does not name a type

RTCDateTime dataehora; //Criação do objeto do tipo RTCDateTime

^

/tmp/158826676/sketch_dec12a/sketch_dec12a.ino:26:1: error: 'rtc' does not name a type

rtc.setDateTime(12_DATE_12, 10_TIME_12);

^

/tmp/158826676/sketch_dec12a/sketch_dec12a.ino: In function 'void setup()':

/tmp/158826676/sketch_dec12a/sketch_dec12a.ino:31:1: error: 'dataehora' was not declared in this scope

dataehora = rtc.getDateTime(); //Atribuindo valores instantâneos de

^

/tmp/158826676/sketch_dec12a/sketch_dec12a.ino:31:13: error: 'rtc' was not declared in this scope

dataehora = rtc.getDateTime(); //Atribuindo valores instantâneos de

^

exit status 1

compilei o projeto no arduino online e deu esta mensagem

Está faltando incluir a biblioteca do DS3231 (no começo do código):

#include <DS3231.h>

Caso não tenha esta biblioteca instalada, pergunte a quem fez o código para te fornecer a biblioteca que usou.

Em 10 segundos de pesquisa, encontrei 4 bibliotecas:

acho que ele não utilizou biblioteca mas fez código todo do 0

acho que ele não utilizou biblioteca mas fez código todo do 0

Realmente, pelo código ele utiliza nada da biblioteca para tomada de decisão.

Exclua as seguintes linhas:

DS3231 rtc;              //Criação do objeto do tipo DS3231
RTCDateTime dataehora;   //Criação do objeto do tipo RTCDateTime
rtc.setDateTime(_12_DATE_12_, _10_TIME_12_);
dataehora = rtc.getDateTime();     //Atribuindo valores instantâneos de
                                                         //data e hora à instância dataehora esta linha deve ser comentada após a primeira gravação no Arduino.

Teste novamente.

Dica: Use CTRL+T no Arduino IDE para formatar seu código, dói os olhos de ver essa bagunça.

boa noite
segue codigo

#include "Wire.h"
#define DS3231_ADDRESS 0x68



int segundos;
int minutos;
int horas;
int diadasemana;
int diadomes;
int mes;
int ano;
byte zero = 0x00;
int rele1 = 7;
int rele2 = 8;
int rele3 = 9;
int rele4 = 10;

bool ligarele1;
bool ligarele2;
bool ligarele3;
bool ligarele4;




void setup()
{


  pinMode(rele1, OUTPUT);
  digitalWrite(rele1, HIGH);
  pinMode(rele2, OUTPUT);
  digitalWrite(rele2, HIGH);
  pinMode(rele3, OUTPUT);
  digitalWrite(rele3, HIGH);
  pinMode(rele4, OUTPUT);
  digitalWrite(rele4, HIGH);
  ligarele1 = false;
  ligarele2 = false;
  ligarele3 = false;
  ligarele4 = false;
  Wire.begin();
  Serial.begin(9600);
}
byte ConverteParaBCD(byte val) { //Converte o número de decimal para BCD
  return ( (val / 10 * 16) + (val % 10) );
}
byte ConverteparaDecimal(byte val) { //Converte de BCD para decimal
  return ( (val / 16 * 10) + (val % 16) );
}
void Mostrarelogio()
{
  Wire.beginTransmission(DS3231_ADDRESS);
  Wire.write(zero);
  Wire.endTransmission();
  Wire.requestFrom(DS3231_ADDRESS, 7);
  int segundos = ConverteparaDecimal(Wire.read());
  int minutos = ConverteparaDecimal(Wire.read());
  int horas = ConverteparaDecimal(Wire.read() & 0b111111);
  int diadasemana = ConverteparaDecimal(Wire.read());
  int diadomes = ConverteparaDecimal(Wire.read());
  int mes = ConverteparaDecimal(Wire.read());
  int ano = ConverteparaDecimal(Wire.read());
  //Mostra a data no Serial Monitor
  Serial.print("Data: ");
  Serial.print(diadomes);
  Serial.print("/");
  Serial.print(mes);
  Serial.print("/");
  Serial.print(ano);
  Serial.print(" ");
  Serial.print("Hora : ");
  Serial.print(horas);
  Serial.print(":");
  Serial.print(minutos);
  Serial.print(":");
  Serial.print(segundos);
  switch (diadasemana)
  {
    case 0: Serial.println(", Domingo");
    case 1: Serial.println(", Segunda");
    case 2: Serial.println(", Terca");
    case 3: Serial.println(", Quarta");
    case 4: Serial.println(", Quinta");
    case 5: Serial.println(", Sexta");
    case 6: Serial.println(", Sabado");
  }

  if ((horas >= 8) and (minutos <= 00) and (!ligarele1)) {
    ligarele1 = true;
    digitalWrite(rele1, LOW);
  }
  if ((horas >= 8) and (minutos <= 30) and (!ligarele2)) {
    ligarele2 = true;
    digitalWrite(rele2, LOW);
  }
  if ((horas >= 9) and (minutos <= 00) and (!ligarele3)) {
    ligarele3 = true;
    digitalWrite(rele3, LOW);
  }
  if ((horas >= 9) and (minutos <= 30) and (!ligarele4)) {
    ligarele4 = true;
    digitalWrite(rele4, LOW);
  }

  if ((horas >= 20) and (minutos <= 00) and (ligarele1)) {
    ligarele1 = false;
    digitalWrite(rele1, HIGH);
  }
  if ((horas >= 20) and (minutos <= 30) and (ligarele2)) {
    ligarele2 = false;
    digitalWrite(rele2, HIGH);
  }
  if ((horas >= 21) and (minutos <= 00) and (ligarele3)) {
    ligarele3 = false;
    digitalWrite(rele3, HIGH);
  }
  if ((horas >= 21) and (minutos <= 30) and (ligarele4)) {
    ligarele4 = false;
    digitalWrite(rele4, HIGH);
  }


} void loop()
{
  Mostrarelogio();
  delay(1000);
}

desta forma é a forma original a qual o programador me ajudou
dá certo compila
porem quando eu aplico no arduino e o rtc. meus reles ficam malucos e no monitor serial do arduino o horario fica maluco não respeitando a hora em sequancia.

a questão toda agora é
como fazer para o rtc respeitar a hora minutos e segundos???/

meus reles ficam malucos e no monitor serial do arduino o horario fica maluco não respeitando a hora em sequancia.

Copie e cole aqui o que aparece no terminal do Arduino depois de uns 5 minutos de funcionamento do programa (dentro de tags [ code]).

Confirme se este endereço está certo:

#define DS3231_ADDRESS 0x68

ok hoje noite faço.
como confirmar o endereço?

DS3231 - Datasheet na página 17 ele fala que o endereço é 1101000 em binário que é igual a 68 em hexadecimal, então seu código está certo.

Faça o primeiro passo do meu post anterior, que é pegar o que aparece no terminal

olá segue

Data: 30/85/105 Hora : 32:0:1Data: 0/21/80 Hora : 22:45:35Data: 1/1/0 Hora : 0:0:20, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 105/35/45 Hora : 30:11:112Data: 80/22/0 Hora : 0:88:22Data: 0/112/11 Hora : 1:1:0, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 45/22/88 Hora : 25:85:30Data: 0/0/1 Hora : 0:21:0Data: 11/30/85 Hora : 0:1:1Data: 88/0/21 Hora : 45:35:105Data: 1/1/1 Hora : 0:28:80, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 85/105/35 Hora : 11:112:0Data: 21/80/30 Hora : 8:22:45, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 1/0/112 Hora : 1:0:0, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 35/45/22 Hora : 45:30:11Data: 33/0/0 Hora : 21:0:88Data: 112/11/30 Hora : 1:1:1, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 22/88/0 Hora : 35:105:85Data: 0/1/1 Hora : 36:80:21, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 30/85/105 Hora : 32:0:1Data: 0/21/80 Hora : 22:45:35Data: 1/1/0 Hora : 0:0:39, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 105/35/45 Hora : 30:11:112Data: 80/41/0 Hora : 0:88:22Data: 0/112/11 Hora : 1:1:0, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 45/22/88 Hora : 25:85:30Data: 0/0/1 Hora : 0:21:0Data: 11/30/85 Hora : 0:1:1Data: 88/0/21 Hora : 45:35:105Data: 1/1/1 Hora : 0:47:80, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 85/105/35 Hora : 11:112:0Data: 21/80/49 Hora : 8:22:45, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 1/0/112 Hora : 1:0:0, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 35/45/22 Hora : 45:30:11Data: 52/0/0 Hora : 21:0:88Data: 112/11/30 Hora : 1:1:1, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 22/88/0 Hora : 35:105:85Data: 0/1/1 Hora : 15:80:21, Domingo
, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 30/85/105 Hora : 32:0:1Data: 0/21/80 Hora : 22:45:35Data: 1/1/0 Hora : 0:0:58, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado
Data: 105/35/45 Hora : 30:11:112Data: 80/1/1 Hora : 0:88:22Data: 0/112/11 Hora : 1:1:0, Segunda
, Terca
, Quarta
, Quinta
, Sexta
, Sabado

pelo que entendi é o que você queria que aparecesse no monitor serial isso?

Por enquanto deixe o seu código de lado e use uma das bibliotecas mencionadas na resposta #7.

Carregue um dos exemplos para verificar o funcionamento do seu módulo DS3231.

Caso os exemplo não funcionem, vai ser necessário comprar outro módulo

entendi.
farei se possivel amanha noite hoje não tenho tempo
mas obrigado por enquanto.

então baixei alguns daquelas bibliotecas.
e usei esta como exemplo
mas não sei o que é para acontecer pode me ajudar?

/*
DS3231_set.pde
Eric Ayars
4/11

Test of set-time routines for a DS3231 RTC

*/

#include <DS3231.h>
#include <Wire.h>

DS3231 Clock;

byte Year;
byte Month;
byte Date;
byte DoW;
byte Hour;
byte Minute;
byte Second;

void GetDateStuff(byte& Year, byte& Month, byte& Day, byte& DoW, 
		byte& Hour, byte& Minute, byte& Second) {
	// Call this if you notice something coming in on 
	// the serial port. The stuff coming in should be in 
	// the order YYMMDDwHHMMSS, with an 'x' at the end.
	boolean GotString = false;
	char InChar;
	byte Temp1, Temp2;
	char InString[20];

	byte j=0;
	while (!GotString) {
		if (Serial.available()) {
			InChar = Serial.read();
			InString[j] = InChar;
			j += 1;
			if (InChar == 'x') {
				GotString = true;
			}
		}
	}
	Serial.println(InString);
	// Read Year first
	Temp1 = (byte)InString[0] -48;
	Temp2 = (byte)InString[1] -48;
	Year = Temp1*10 + Temp2;
	// now month
	Temp1 = (byte)InString[2] -48;
	Temp2 = (byte)InString[3] -48;
	Month = Temp1*10 + Temp2;
	// now date
	Temp1 = (byte)InString[4] -48;
	Temp2 = (byte)InString[5] -48;
	Day = Temp1*10 + Temp2;
	// now Day of Week
	DoW = (byte)InString[6] - 48;		
	// now Hour
	Temp1 = (byte)InString[7] -48;
	Temp2 = (byte)InString[8] -48;
	Hour = Temp1*10 + Temp2;
	// now Minute
	Temp1 = (byte)InString[9] -48;
	Temp2 = (byte)InString[10] -48;
	Minute = Temp1*10 + Temp2;
	// now Second
	Temp1 = (byte)InString[11] -48;
	Temp2 = (byte)InString[12] -48;
	Second = Temp1*10 + Temp2;
}

void setup() {
	// Start the serial port
	Serial.begin(57600);

	// Start the I2C interface
	Wire.begin();
}

void loop() {

	// If something is coming in on the serial line, it's
	// a time correction so set the clock accordingly.
	if (Serial.available()) {
		GetDateStuff(Year, Month, Date, DoW, Hour, Minute, Second);

		Clock.setClockMode(false);	// set to 24h
		//setClockMode(true);	// set to 12h

		Clock.setYear(Year);
		Clock.setMonth(Month);
		Clock.setDate(Date);
		Clock.setDoW(DoW);
		Clock.setHour(Hour);
		Clock.setMinute(Minute);
		Clock.setSecond(Second);

		// Test of alarm functions
		// set A1 to one minute past the time we just set the clock
		// on current day of week.
		Clock.setA1Time(DoW, Hour, Minute+1, Second, 0x0, true, 
			false, false);
		// set A2 to two minutes past, on current day of month.
		Clock.setA2Time(Date, Hour, Minute+2, 0x0, false, false, 
			false);
		// Turn on both alarms, with external interrupt
		Clock.turnOnAlarm(1);
		Clock.turnOnAlarm(2);

	}
	delay(1000);
}

tem que aparecer algo no monitor serial?
pois não aparece nada

mas não sei o que é para acontecer pode me ajudar?

Tinha vários exemplos, porque usou esse DS3231_set.pde?

tem que aparecer algo no monitor serial?

Você leu o código para saber o que faz?

Como ele tem "set" no nome e de acordo com o código, presume-se que você tem que entrar com valores no Serial para definir a data/hora.

Essa biblioteca do Eric Ayars é muito antiga (5 anos) e não tem uma boa documentação.

Use esta do Rinky-Dink:
DS3231 - Rinky-Dink
E leia o manual da biblioteca:
DS3231 - Manual

Teste com algum exemplo e verifique se o módulo está funcionando corretamente.

ok amigo obrigado pela paciência em estar dando este suporte.
vou ler manual e baixar programa e testar hoje noite.