Olá.

Estou utilizando um DS1307 em meu projeto, e achei essa biblioteca http://blog.filipeflop.com/modulos/relogio-rtc-ds1307-arduino.html

Eu preciso pegar a data atual e separar os dígitos em um array, digamos que seja dia 12 eu quero pegar o numero 1 e guardar em um array e o 2 em outro array, por exemplo.

data[0] = 1;

data[1] = 2;

Como eu posso fazer ?

Exibições: 270

Respostas a este tópico

Óia isso:

.

.

.

char charBuf[18];

.

.

.

Wire.beginTransmission(0x68);
Wire.write(0); // location pointer
Wire.endTransmission();
//
Wire.requestFrom(0x68, 7); // send 7 bytes
byte secs = Wire.read();
byte mins = Wire.read();
byte hrs = Wire.read();
byte day = Wire.read();
byte date = Wire.read();
byte month = Wire.read();
byte year = Wire.read();
//
charBuf[0] = (char) ((hrs)/16)+48;
charBuf[1] = (char) ((hrs)%16)+48;
charBuf[3] = (char) (((mins)/16))+48;
charBuf[4] = (char) (((mins)%16))+48;
charBuf[6] = (char) (((secs)/16))+48;
charBuf[7] = (char) (((secs)%16))+48;
//
printChar(2, charBuf[0]);
printChar(3, charBuf[1]);
printChar(4, ':');
printChar(5, charBuf[3]);
printChar(6, charBuf[4]);
printChar(7, ':');
printChar(8, charBuf[6]);
printChar(9, charBuf[7]);
printChar(10,' ');
//
//

* printChar aqui é uma função minha para "imprimir" em um mostrador a(s) hora(s)/minuto(s)/segundo(s).

Boa sorte.

Precisa usar a lib wire.

Como vc. está usando um shield aí precisará ver os detalhes. A minha eu fiz usando o CI direto.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço