Go Down

Topic: Presentacion y duda con Arduino Uno y RTC con DS1302 (Read 746 times) previous topic - next topic

WiN_GoldeS

Hola no he visto hilo de presentaciones, asi pues ademas de proponer una duda aprovecho para presentarme.

Soy de Sevilla, y he empezado a interesarme por arduino hace poco cuando investigando sobre acuarios (otro de mis hobbies) vi que podia automatizarlo mediante este sistema asi que compre los siguientes materiales:

-Placa XDRduino
-Modulo RTC con con el chip DS13302
-Placa 8 reles

Lo primero a lo que le quiero meter mano es al tema de encender las distintas fases de luz, y para ello he pensado que lo logico seria poder controlar la hora.
He visto muchos ejemplos sobre relojescon este tipo de modulos rtc y muchos he intentado cargarlos no con buenos resultados si no por unas cosas por otras, pero basicamente todos me han fallado en una cosa, ninguna de las pruebas me ha dado un una secuencia de tiempo logica, para ello copio un pedazo de las lecturas del monitor:

Monday 02.00.2000 -- 00:01:08
Monday 02.00.2000 -- 00:01:09
Monday 02.00.2000 -- 00:00:00
Monday 02.00.2000 -- 00:00:01
Monday 02.00.2000 -- 00:00:00

El programa demostracion que uso es:

// DS1302:  CE pin    -> Arduino Digital 2
//          I/O pin   -> Arduino Digital 3
//          SCLK pin  -> Arduino Digital 4

#include <DS1302.h>

// Init the DS1302
DS1302 rtc(2, 3, 4);

void setup()
{
 // Set the clock to run-mode, and disable the write protection
 rtc.halt(false);
 rtc.writeProtect(false);
 
 // Setup Serial connection
 Serial.begin(9600);

 // The following lines can be commented out to use the values already stored in the DS1302
 rtc.setDOW(FRIDAY);        // Set Day-of-Week to FRIDAY
 rtc.setTime(12, 0, 0);     // Set the time to 12:00:00 (24hr format)
 rtc.setDate(6, 8, 2010);   // Set the date to August 6th, 2010
}

void loop()
{
 // Send Day-of-Week
 Serial.print(rtc.getDOWStr());
 Serial.print(" ");
 
 // Send date
 Serial.print(rtc.getDateStr());
 Serial.print(" -- ");

 // Send time
 Serial.println(rtc.getTimeStr());
 
 // Wait one second before repeating :)
 delay (1000);
}


Pero supongo, por los resultados que he ido viendo que el problema esta en alguna pieza fisica.
Por eso  os pregunto que puede fallarme.
Ante todos dar las gracias por la ayuda y espero que con tiempo pueda ayudar a otros al igual que vosotros a mi.
Saludoss  

Go Up