Olá bom dia pessoal. Já faz tempo, eu montei aquele relógio de sete segmentos do Filipe como é até então estava ok. Alguns dias atrás fui ligar o mesmo e acertei as horas do módulo de 3231. Ele funciona normalmente. Só que se desligar o relógio e religar novamente ele trava no horário em que foi acertado. Comprei outro módulo com bateria nova e continua o problema. Aí fui lá em eepron no programa é tentei resetar mas não resolveu. Será que queimou ou travou alguma coisa nas porta A4 e A5 do 328. E se queimou
Como posso mudar para outras portas. Detalhe coloquei outro 328 e funcionou perfeitamente.

Exibições: 715

Responder esta

Respostas a este tópico

Olá Odilon

No Arduino UNO existem mais 2 pinos I2C do lado do RESET, conforme figura, mas fisicamente deve ser a mesma coisa.
Você pode também configurar outros pinos como I2C através da lib SoftwareWire.


Eu comprei um módulo novo com bateria nova. E eu estou usando um Arduino montado por mim. As portas AR e A5 para o módulo do relógio são definidas na biblioteca do módulo?

Sim, no uno por padrão são as portas a4 e a5.

Quem controla isso é a lib wire

Ok obrigado.

Odilon, no Arduino Mega, as portas são 20 e 21.
Veja aqui os modelos: https://www.arduino.cc/en/Reference/Wire
Como você está usando um standalone, deve ser padrão UNO.

Existe uma lib que permite usar outros pinos como I2C: https://github.com/Testato/SoftwareWire

Me diga uma coisa. Não dá pra mudar o endereçamento . Ele vem por defaul os pinos 27 e 28 do ci, scl e sda são portas analógicas que vão dos pinos 23 a 28 totalizando 6 portas. Como faz pra por por ex. Nas portas 25 e 26

Bom dia OM,

não entendi bem seu problema.

Duvidas:

Você diz, "  Só que se desligar o relógio e religar novamente ele trava no horário em que foi acertado.""

Meu entendimento. Você desliga o arduino que junto com o DS3231 compõe o seu relógio. Certo?

Ao religar o valor que usou para acertar o relógio está no seu skectch. Certo?

A rotina de acerto está na função "setup()" Certo?

Se tudo que escrevi for certo, o que ocorre é que ao ligar o arduino, ele  "acerta"novamente o relógio.

Solução: Acerte o relógio, depois recarregue o sketch com a rotina de acerto toda comentada.

RV

 

Na verdade se eu trocar o microcontrolador funciona normalmente. estou achando que os pinos 27 e 28 estão gravadas ou danificadas. Por isso eu gostaria de mudar para outras

Odilon, não acho que o problema seja nos pinos a4 e a5. Pois, caso contrário, o RTC não funcionaria em momento algum.

Mas se quiser trocar o i2c em outro pinos, você deve usar a lib softwarewire.

Aqui tem uma lib para o ds3231 que roda em outros pinos com o softwarewire:

https://github.com/Makuna/Rtc

Você tem que baixar essa lib e a do softwarewire e depois rodar esse exemplo:

https://github.com/Makuna/Rtc/blob/master/examples/DS3231_Simple/DS...

No sketch de exemplo, você deve descomentar a parte do softwarewire e configurar para fazer o i2c pelos pinos 25 e 26, como comentou

Blz. Obrigado. Estou fazendo isso só a título de conhecimento. Claro que é muito mais fácil colocar outro 328. Mas prefiro aprender mais sobre a plataforma.

Oi OM,

regrave o "bootloader": deste processador que apresenta problemas.

Pois como o JAC, bem falou, se tivesse defeito nos ports, nada funcionaria no relógio.

RV

Ok. Vou tentar, e agradeço a todos pela atenção obrigado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço