collapse

* Links de Robótica

* Posts Recentes

Compra coletiva AOYUE 474A++ Desoldering Station por Hugu
[Hoje às 22:47]


arduino robot por senso
[Hoje às 22:35]


lcd 3 wires por fergas
[Hoje às 22:00]


Fazer gerador de funções por r_dias96
[Hoje às 20:57]


Voltmeter ICL7107 por c3dr1c
[Hoje às 19:47]


Esquema ATMega(Pino AREF) por dio123
[Hoje às 18:08]


Portuguese Makers Hangout - Episode 2 por msaleiro
[Hoje às 14:57]


Compra Colectiva N7-2013 @Mouser [Domingo 28Abril] por tarquinio
[Hoje às 14:47]


The Super Supercapacitor por Hugu
[Ontem às 20:43]


Free Energy por Njay
[Ontem às 13:23]


Limpar Serial buffer por ivitro
[Ontem às 10:57]


Vendo arduino por pmj_pedro
[19 de Maio de 2013, 20:23]

Autor Tópico: Real Time Clock DS1307 (RTC) + Arduino  (Lida 54234 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: 807
  • 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: 717
    • 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..

Online senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 6.054
  • 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: 717
    • 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: 807
  • 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: 717
    • 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: 807
  • 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: 717
    • 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: 717
    • 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: 807
  • 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: 293
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