• Welcome to LusoRobótica - Robótica em Português.
 

Real Time Clock DS1307 (RTC) + Arduino

Started by tr3s, 13 de March de 2009, 01:06

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ricardo-reis

o ds1307 só por si n faz isso.. mas podes programar o arduino para que, a uma dada hora:minuto:segundo, mande o impulso k keres pró pino que te interessar..

vdr

Então tenho de fazer um loop de getTime  até que tenha obtido a minha hora? Ou há outra opção?

ricardo-reis

sim.. comparas casa hora:minuto:segundo recebido do ds com a hora:minuto:segundo a que tu queres enviar o tal impulso pró pino x do arduino.. parece-me a forma mais simples de o implementar..

vdr

Isto é um pouco off-topic mas sabes-me dizer que operações devo evitar no meu programa de modo a que ele consuma o menos possivel?

ricardo-reis

isso parece-me um bocado irrelevante porque acho que é tudo igual.. quanto mt, se te preocupa tanto o consumo do arduino, procura por informação acerca de como baixar o clock do arduino..

Njay

Quote from: vdr on 20 de February de 2010, 20:12
Isto é um pouco off-topic mas sabes-me dizer que operações devo evitar no meu programa de modo a que ele consuma o menos possivel?
Tens que usar modos de sleep. O que estás a usar para alimentar o Arduino?

ricardo-reis

Quote from: Njay on 20 de February de 2010, 23:36
Tens que usar modos de sleep. O que estás a usar para alimentar o Arduino?

hmmm.. Njay, e que tal abrires um tópico a falar sobre isso? (acho que ainda não há e é daquelas coisas que pode interessar a mt boa gente..)  :)

metRo_

O Arduino não é propriamente algo que esteja concebido para gastar pouco por isso se isso é algo importante devias optar por utilizar só o necessário.
A maxim-ic tem alguns RTC que possuem funções de alarme e assim, só não sei que tempos estão envolvidos etc, mas ve aqui: http://para.maxim-ic.com/en/search.mvp?fam=rtc&374=I%3Csup%3E2%3C/sup%3EC&tree=timers

vdr

QuoteTens que usar modos de sleep. O que estás a usar para alimentar o Arduino?

Quando acabar o projecto, deverá ficar ligado a um transformador.

Quote
Inserir Citação
O Arduino não é propriamente algo que esteja concebido para gastar pouco por isso se isso é algo importante devias optar por utilizar só o necessário.
A maxim-ic tem alguns RTC que possuem funções de alarme e assim, só não sei que tempos estão envolvidos etc, mas ve aqui: http://para.maxim-ic.com/en/search.mvp?fam=rtc&374=I%3Csup%3E2%3C/sup%3EC&tree=timers

Encontrei o DS1678 - http://datasheets.maxim-ic.com/en/ds/DS1678.pdf - mas não faço ideia de como fazer o código para operar com ele como foi feito pelo metro_ para o RTC do tópico  :-[



ricardo-reis

n foi feito pelo metro, foi mm feito pelo tr3s..

se a alimentação vai ser um transformador, qual é o problema relativo aos consumos? :)

metRo_

Sim, como já foi dito foi o tr3s e não eu que fez o código.
Visto que esse também comunica por I2C o código do três pode-te ajudar e podes aproveitar para aprender I2C porque depois e saberes como funciona uma vez ficas a saber utilizar I2C para sempre ;)

AcidDagger

Eu tenho uma board antiga com um cristal desses, se ouver alguem perto de Torres Novas que o quiser...

OxyGen

Boas... uma pergunta: porque é que o endereço para acesso ao RTC é #define DS1307_I2C_ID 0x68  // ID no bus i2c do RTC ds1307

Estive a ler o datasheet de uma ponta à outra e não encontrei nada disso...
OxyGen #

TigPT

Quote from: OxyGen on 27 de July de 2010, 14:30
Boas... uma pergunta: porque é que o endereço para acesso ao RTC é #define DS1307_I2C_ID 0x68  // ID no bus i2c do RTC ds1307

Estive a ler o datasheet de uma ponta à outra e não encontrei nada disso...
Na página 12 indica no diagrama de comunicações:
http://pdfserv.maxim-ic.com/en/ds/DS1307.pdf

1101000 = 0xD0, contudo como o bit da direita (menor peso informa escrita ou leitura, temos que shiftar todo o endereço 1 para a direita já que o arduino utiliza a Wire que só controla i2c com 7 bits tratando a biblioteca de escritas / leituras

Assim:
0110100 = 0x68 é o endereço a 7bits!

OxyGen

Acho que não podias ter dado melhor resposta... muitissimo obrigado xD
OxyGen #