collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[Ontem às 15:31]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: Real Time Clock DS1307 (RTC) + Arduino  (Lida 170139 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #90 em: 30 de Maio de 2012, 17:54 »
Olá,
desenvolvi uma biblioteca para o Arduino que controla o módulo DS1307 RTC.
O código que desenvolvi é mais fácil de usar do que utilizando diretamente a biblioteca Wire.

Para mais informações:
- Discussão no Fórum Arduino (em Inglês)
- Código no GitHub

Gostaria de ter um feedback de quem possui esse módulo para saber se a minha biblioteca funciona perfeitamente. Obrigado!

Boas,

Peço desculpa mas depois de descarregar o dito ficheiro, e copia-lo para o sitio devido, não consigo por a funcionar com o Arduino 1.0.1

Alguem sabe o que fazer ?? Os erros são os seguintes;

\arduino-1.0.1\libraries\DS1307\DS1307.cpp: In function 'char* fromNumberToWeekDay(int)':
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:34: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:37: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:40: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:43: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:46: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:49: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:52: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:55: warning: deprecated conversion from string constant to 'char*'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp: In member function 'void DS1307Class::setDate(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)':
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:75: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:78: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:79: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:80: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:81: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:82: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:83: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:84: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:86: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp: In member function 'void DS1307Class::getDate(int*)':
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:92: error: 'class TwoWire' has no member named 'send'
\arduino-1.0.1\libraries\DS1307\DS1307.cpp:97: error: 'class TwoWire' has no member named 'receive'

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #91 em: 01 de Junho de 2012, 01:30 »
Esse código foi feito com versoes do Arduino IDE bastante antigas. Parece que o novo Arduino IDE 1.0.1 já não mantém retro compatibilidade.
Terás de alterar o código de forma a compilar :S
Tr3s
Daniel Gonçalves

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.921
    • GrcByte - Projectos
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #92 em: 04 de Julho de 2012, 23:55 »
Possa.. sei que em tempos já tinha feito este circuito.. agora voltei a fazer e não sei pq está a dar o resultado mal:

Repete os segundos umas quantas vezes..:

2011-04-22 12:32:17 - day of week: Friday
2011-04-22 12:32:17 - day of week: Friday
2011-04-22 12:32:17 - day of week: Friday
2011-04-22 12:32:17 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:18 - day of week: Friday
2011-04-22 12:32:19 - day of week: Friday
2011-04-22 12:32:19 - day of week: Friday
2011-04-22 12:32:19 - day of week: Friday
2011-04-22 12:32:19 - day of week: Friday
2011-04-22 12:32:19 - day of week: Friday
2011-04-22 12:32:19 - day of week: Friday

Usando este codigo:
Código: [Seleccione]
/*
This example firstly sets the date and time on DS1307 Real-Time Clock.
Please modify the clock values that are hardcoded.
Secondly it reads the date and time from DS1307 Real-Time Clock
and send this information to your PC using USB/Serial (like the ReadDate example).
Make the connections below, upload the code and open Serial Monitor.

Made by Álvaro Justen aka Turicas

Pin connections on DS1307 module:

[DS1307] <--> [Arduino]
5V       <--> 5V
GND      <--> GND
SQW      <--> (not connected)
SCL      <--> Analog Input 5
SDA      <--> Analog Input 4

This software is free software.
*/

#include <Wire.h>
#include <DS1307.h>

char dateTime[20];
int RTCValues[7];

void setup() {
    Serial.begin(9600);
    Serial.print("Setting the value of RTC... ");

    DS1307.begin();
    DS1307.setDate(11, 04, 22, 5, 12, 31, 30);
    //Year: two-digit, from 00 to 99
    //Month: two-digit, from 01 to 12
    //Day of month, from 01 to 31
    //Day of week, from 0 (sunday) to 6 (saturday)
    //Hour: 24-hour format, from 0 to 23
    //Minute: from 0 to 59
    //Second: from 0 to 59
    Serial.println("OK!");
    Serial.println("Reading data from RTC...");
}

void loop() {
    DS1307.getDate(RTCValues);
    sprintf(dateTime, "20%02d-%02d-%02d %02d:%02d:%02d", RTCValues[0],
            RTCValues[1], RTCValues[2], RTCValues[4], RTCValues[5],
            RTCValues[6]);
    Serial.print(dateTime);
    Serial.print(" - day of week: ");
    Serial.println(fromNumberToWeekDay(RTCValues[3]));

    delay(1000);
}


As ligações estão como é suposto..

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #93 em: 05 de Julho de 2012, 01:17 »
Estás a ler a imprimir os dados mais rápido que uma vez por segundo, por isso é que repete o tempo.
Avr fanboy

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.921
    • GrcByte - Projectos
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #94 em: 05 de Julho de 2012, 01:34 »
nao.. pq é capaz de estar muito tempo assim.. já testei com um relógio ao lado e não bate certo!

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #95 em: 05 de Julho de 2012, 10:31 »
Verifica o cristal e a bateria  ;)
Tr3s
Daniel Gonçalves

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.921
    • GrcByte - Projectos
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #96 em: 05 de Julho de 2012, 10:32 »
Verifica o cristal e a bateria  ;)

Pois... a bateria está nos 3v do arduino, quanto ao Cristal vou testar trocar por outro..

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #97 em: 05 de Julho de 2012, 10:53 »
Lembro-me de alguém que teve um problema "Muito" semelhante e afinal era o ground que não estava a ser partilhado correctamente... :P
Tr3s
Daniel Gonçalves

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.921
    • GrcByte - Projectos
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #98 em: 05 de Julho de 2012, 10:57 »
Humm.. eu liguei o pino dos 5V aos 5V do Arduino, e o pino dos 3V +Ground do chip à saída 3V e Ground do Arduino, ou seja, não tenho outra fonte a não ser o Arduino, estou a fazer mal?

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.921
    • GrcByte - Projectos
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #99 em: 05 de Julho de 2012, 23:17 »
Ok, descoberto o mistério mas sem saber pq :) Realmente tem a ver com o ground, da forma que mencionei acima e com o arduino ligado ao portatil não funciona, adicionei um fonte externa e alimentei o chip através da mesma, liguei o ground com o do arduino e já funciona!


Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #100 em: 06 de Julho de 2012, 14:36 »
Ainda bem ;) Fico contente em saber :)
Tr3s
Daniel Gonçalves

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #101 em: 07 de Julho de 2012, 19:16 »
boas eu tenho um time shield ds1307 e o que pretendia era um codigo que fizesse o seguinte:

Por exemplo estas funcoes:

Ligar todas as segundas feiras as 20:00:00 um rele, e desligar á segunda feira também as 23:50:00.
Ligar todos os dias as 08:00:00 um radio  e desligar as 18:00:14
e ligar em um dia especifico do ano um rele por exemplo dia 6/11/2012 as 13:00:00 e desligar as 13:15:00


Alguem me pode ajudar neste sentido, e dizer qual as librarias a instalar?
Obrigado

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #102 em: 23 de Maio de 2013, 10:18 »
Bom dia,
Ontem fui experimentar  RTC, então liguei o arduino, programei as horas e data e depois fiz com para mostrar a data e hora no lcd. Passado +/- meia hora ligo novamente o arduino e as horas estavam certas.

Hoje de manha por volta das 9:50h ligo o arduino e diz-me que são 7:30h, Mas a data mudou e ficou bem. Deixei passar uns minutos e voltei novamente a ligar e diz 7:38h. Assim por olho dá-me a sensação que está a contar bem, mas durante a noite houve uma queda grande nas horas.
Queria saber se alguem sabe o que possa ter passado?
Verifiquei a pilha e tem 3v.

Edit: Fiz uns testes mais curtos e se tiver ligado a alimentação do arduino funciona bem, os segundos batem certos com o do pc.
Se usar a pilha  durante 2 minutos e voltar a ligar o arduino os segundos ficam com uma diferença de 3 segundos em relação ao pc
« Última modificação: 23 de Maio de 2013, 10:56 por dio123 »

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #103 em: 23 de Maio de 2013, 16:44 »
Acho que está resolvido.O problema é das pilhas. Apesar de não apagar a memoria  não conta bem .É o que dá pilha dos chineses.
Usei 2 AA e com 3.2v novas e já não acontece isso. Agora falta logo a noite vou ver se as horas batem certo.


Offline rodriguesf

  • Mini Robot
  • *
  • Mensagens: 74
    • HamTrónica
Re: Real Time Clock DS1307 (RTC) + Arduino
« Responder #104 em: 16 de Julho de 2013, 18:27 »
Boas,

para um projecto arranjei um modulo destes http://www.ebay.com/itm/140927641754?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649,
a questão é que durante a noite(12horas) obtive uma diferença em relação a um relógio normal de 25 segundos a mais,
esta precisão do rtc é normal ou há aqui qualquer coisa mal?

Obrigado
hamtronica.blogspot.com