Ir ao conteúdo
  • Cadastre-se

Datalloger Arduino + SD Card: Como colocar data correta na criação do Arquivo?


MicSG

Posts recomendados

É mais fácil fazer um programa de PC para atualizar quando detectar modificações no arquivo F5Rua4D.gif.

 

 

 

Se quiser bem feito, terá que projetar um sistema com RTC e bateria como os de uma placa-mãe de computador. Comece com um cristal de 32,768 kHz e lendo sobre redução no consumo de potência do microcontrolador. O objetivo será modificar os bytes do arquivo hexadecimal e assim escrever horário e data corretos toda vez.

 

 

 

Espero ter ajudado GbhmuXl.gif.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@rjjj

12 horas atrás, rjjj disse:

terá que projetar um sistema com RTC e bateria como os de uma placa-mãe de computador.

O sistema com RTC já tenho.

 

12 horas atrás, rjjj disse:

modificar os bytes do arquivo hexadecimal e assim escrever horário e data corretos toda vez.

 

Como irei modificar os bytes do arquivo hexadecimal com o arduino?

Link para o comentário
Compartilhar em outros sites

@MicSG

 

 

Se você dispor de alguma biblioteca do Arduino, ela pode ter uma função de mudar hora e data ou pelo menos uma função de escrever bytes em posições específicas do arquivo. Caso contrário, terá que obter um driver para acessar o cartão SD pelo barramento, que provavelmente é SPI F5Rua4D.gif.

 

 

 

Onde ficam os bytes dentro do arquivo no Windows eu não sei, procure com o Frhed F5Rua4D.gif.

 

 

 

Espero ter ajudado GbhmuXl.gif.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Thiago Miotto

20 minutos atrás, Thiago Miotto disse:

Este arquivo é criado no próprio arduino?

Sim.

 

21 minutos atrás, Thiago Miotto disse:

Ele é salvo num pendrive, ou numa rede, num site?

Num cartão SD. (módulo sd card arduino)

 

21 minutos atrás, Thiago Miotto disse:

Que função você usa para criar e editar o arquivo?

Segue o código abaixo:

#include <SD.h>
#include <SPI.h>

File myFile;
int pinoSS = 53; // pino 53 arduino mega

void setup(){
  Serial.begin(9600);
  pinMode(pinoSS, OUTPUT);
  if (SD.begin()) {
     Serial.println("card initialized.");
   
  }else{
    Serial.println("Card failed, or not present");
     return;
  }

}

void loop(){

  myFile = SD.open("tempo.txt", FILE_WRITE);
   if (myFile) { // Se o Arquivo abrir imprime:
  
  myFile.print("Aqui é colocado o conteudo do arquivo tempo.txt"); // Escreve no Arquivo
  
  
  myFile.close(); // Fecha o Arquivo após escrever
   
  }
  else{
   Serial.println("error opening tempo.txt");
}
}
  
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Num baita dum xute, coloque o conteúdo data/hora adquirido do seu rtc no conteúdo do arquivo ou até mesmo no nome dele. Isto já lhe seria uma referência pra consultas

myFile = SD.open(dia_mes_ano_hora , FILE_WRITE); //dia_mes_ano_hora advindo do rtc devidamente convertido em string
myFile.print("As ");
myFile.print(hora_minuto_segundo); //... o mesmo
myFile.print(" do dia ");
myFile.print(dia_mes_ano); //... o mesmo
myFile.print(" aconteceu isso: "); 
myFile.print(evento); //... o mesmo

 

Pra colocar a data real nos atributos do arquivo, já não (ops! 😁) lhe posso orientar. Seu sistema como um todo deveria ser algo como um DOS.

@micsg 😁

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!