Pages: [1]   Go Down
Author Topic: Ayuda programación DS 1307  (Read 1206 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola aquí estamos de nuevo necesitando ayuda de los "sabios" del foro.

A ver, estoy liado intentando aplicaciones con tiempos mediante la incorporación a la Arduino de un RTC DS 1307, veo muchos ejemplos, pero muchos de ellos me son de dudosa utilidad debido a que no me funcionan.

Pongo un ejemplo del código y la parte que me está dando el error a ver si alguien me ayuda. Gracias de antemano.
Code:
#include <LiquidCrystal.h>
#include <Wire.h>
#include "RTClib.h"
LiquidCrystal lcd (12,11,5,4,3,2);
[color=red]RTC_DS1307 RTC;[/color] //Linea problemática

void setup()
{
}


¿Qué  hace esa instrucción y cómo demonios se declararía para que funcionara bien?.
« Last Edit: June 20, 2012, 09:41:30 am by sergioc_g » Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Esa "instrucción" está bien. Lo que está haciendo es definir el objeto RTC.

¿Qué error te da?¿Has añadido las librerías al IDE del Arduino?¿Qué librerias?¿Cómo?¿Qué modulo tienes exactamente?¿Has probado los ejemplos del playground?

En cuanto a la utilidad y funcionamiento de los ejemplos, si a todo el mundo le funciona y a ti no...algo estarás haciendo mal.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok. Totalmente de acuerdo de la la forma en que llamaba a la librería RTC no le hacía ni caso, la he añadido desde el IDE (Sketch-->Importar libreria-->RTCLib) y a funcionar, pero siguen los problemas. Uffffff, lo siento...

Pongo el código entero y el error que me da ahora porque estoy saturado, a ver si alguien me da la solución.
Code:
#include <RTClib.h>
#include <Wire.h>
RTC_DS1307 RTC;

void setup()
{  
  Wire.begin();
  RTC.adjust(DateTime(__DATE__, __TIME__));
  DateTime tiempo = RTC.now();  
  [font=Verdana]Serial.print(tiempo.day(),DEC);[/font]
  Serial.print("/");
  Serial.print(tiempo.month(),DEC);
  Serial.print("/");
  Serial.println(tiempo.year(),DEC);
}

void loop()
{
   mostrarReloj();  
}
void mostrarReloj()
{
  DateTime tiempo = RTC.now();  
  Serial.setCursor(0,1);
  Serial.print(tiempo.hour(),DEC);
  Serial.print(":");
  Serial.print(tiempo.minute(),DEC);
  Serial.print("::");
  Serial.print(tiempo.second(),DEC);
}


Ahora el error es 'class DateTime' has no member named 'day'
« Last Edit: June 20, 2012, 09:42:38 am by sergioc_g » Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Primero de todo: Si vas a poner código, utiliza la etiqueta correspondiente, utilizando el botón # (Insert code) que está justo encima de  smiley-wink (y estaría genial que editases los posts que ya has publicado para poner esa etiqueta)

Segundo, cambia el orden de los include:
Code:
#include <Wire.h>
#include <RTClib.h>

Tercero, quita la linea:
Code:
    Serial.setCursor(0,1);
Eso debe ser para un display, en el puerto serie no existe!!!

Con estos cambios, a mí me compila perfectamente.
Logged

Pages: [1]   Go Up
Jump to: