SGrips:
es cómo lo tengo pensado hacer, lo que pasa es que si guardo el valor del día en la variable, la variable cambia de valor también. Ejemplo:
///___ dia 20
int dia = now.day(); // dia vale 20
if(now.day() != dia){ // now.day() 20 = dia 20
//guarda datos en la SD // no guarda
}
//_____dia 21
int dia = now.day(); // dia vale 21
if(now.day() != dia){ // now.day() 21 = dia 21
//guarda datos en la SD // no guarda
}
..
.
la primera asignacion la puedes hacer en el setup que solo se ejecuta la primera vez que enciendes el arduino,luego solo tienes que comprobar en el loop si el dia ha cambiado con respecto a la variable que ya tienes.
int dia;
void setup() {
dia = now.day();
}
void loop(){
if(now.day() != dia){
//guarda datos
dia = now.day();
}
}
si no te deja con el ejemplo que te ha puesto jose, entonces lo que puedes hacer es crear una nueva variable que verifique si se ha escrito el valor por primera vez.
int dia;
int guardado = 0;
void setup() {
}
void loop(){
dia = now.day();
if(now.day() != dia || guardado == 0){
//guarda datos
dia = now.day();
guardado = 1;
}
}
no he trabajado con un arduino due, pero ¿cuál es el error que te da al asignar el valor en el setup?