Armazenar dados do sd card em variaveis para poder manipula-las

Bom dia  tudo bem?

Eu estava vendo seu video : https://www.youtube.com/watch?v=aTDmJY5QVvM

E estou com uma grande dúvida, eu estou usando o micro sd card que vem na shield wifi.
Estou guardando dados como vazão, do tipo:

23.21
12.08
0.23

etc.... dessa maneira.

Gostaria do seguinte , e confesso que enrosquei nessa parte, queria pegar linha por linha desse arquivo txt e guardar numa variavel para poder manipular.

do tipo linha 0 -->> dado = 23.21 vou la e manipulo
linha 1 -->> dado =12.08 vou la e manipulo etc......

ao final deletar esse arquivo txt.


Pode me ajudar por favor? :)

Exibições: 1447

Responder esta

Respostas a este tópico

Amigo, ainda nessa parada? Vou te dar uma dica: se não consegue fazer de um jeito, tenha jogo de cintura pra tentar resolver seu problema por outra via.

O que quero dizer com isso? vc está insistindo em possuir um único arquivo com várias linhas, sendo que cada linha possui dados de determinada leitura. Aí vc quer dar um loop pra capturar cada linha e enviar pro servidor. Vc já se perguntou como vc irá lidar com o problema de releitura ou reenvio de dados que já tenham sido enviados? Vc terá que implantar um mecanismo de controle para que seu arduino saiba que determinada linha do arquivo já foi lida e enviada com sucesso pro servidor. Se vc insistir em fazer dessa forma, creio que será muito mais difícil.

Então sugiro que considere serialmente em fazer daquele jeito que o Eiju te mostrou no outro tópico que vc abriu sobre esse assunto. Lá ele fala pra criar um arquivo txt para cada leitura do sensor. Portanto, cada arquivo terá apenas uma única linha e vc terá um monte de arquivos. Fazendo dessa maneira, basta mandar o arduino procurar por arquivos txt, abri-los um por vez, ler o conteúdo, guardar o conteúdo numa variável, enviar pro servidor, checar se o valor foi enviado corretamente, fechar o arquivo txt e apagar o arquivo caso o envio pro servidor tenha sido bem sucedida. Finalizado essa primeira rotina, repete-se, mas aí vc terá certeza que o próximo arquivo se tratará de dado inédito, pois o antigo já foi apagado por ter sido bem sucedido.

Vai por esse caminho e resolva de vez essa etapa do seu projeto.

Imhugo meu amigo, obrigado pela atenção, vou partir para essa linha apartir de agora.

Eu não tinha conseguido até o momento é fazer isso  String dado = file.read(); pois me retornava 0 e não o que ele lia no sd card, voce saberia me dizer que tipo de variavel suportaria? 

Valeu parceiro abraço

eu nunca mexi com sd card no arduino, companheiro. O pouco que sei foi lendo alguns tutoriais, mas nunca coloquei pra rodar na prática. Vc já colocou pra rodar o tutorial que existe no site oficial do arduino? 

http://www.arduino.cc/en/Tutorial/ReadWrite

Ali ensina a gravar o dado num arquivo e depois abrir o arquivo para ler o conteúdo. A princípio, eu não notei nenhum ponto que pudesse gerar alguma complicação. Pareceu tudo muito simples.

Será que o seu problema não é na questão de armazenar na sua string "dado" todos os caracteres já lidos com file.read()? Será que vc não terá que ir acumulando os caracteres recebidos e por fim juntar tudo dentro de "dado"?

Em outras palavras: Talvez vc esteja esperando que file.read() te solte todo o conteúdo de uma vez para ser possível armazenar em "dado". Penso que os dados vêm caracter por caracter e portanto "dado" é substituído pelo novo caracter lido. Talvez vc tenha que ir acumulando o que for chegando, ao invés de simplesmente gravar em "dado"

Parceiro consegui aqui, tive que usar referencias da tabela ASCII para conversao dos caracteres, obrigado!

Bom dia amigo.

Sei que já faz muito tempo deste tópico, mas estava pesquisando pois estou com o mesmo problema de conversão que você teve.

Saberia me informar como conseguiu converter os dados?

Desde já agradeço pela atenção.

o cara pede ajuda, todos se empenham, ai quando resolve, ao invés de postar a solucao, para que fique registrado e ajudar a outras pessoas, ele agradece e desaparece, ai o topico nao serve de nada! eh phoda neh? 

Não esquente com isso Daniel, uma grande porção de pessoas não conhecem o espirito de um forum, temos diversos exemplos aqui quase todos os dias.

Abra um tópico se precisar que trataremos de ajudar.

Abs.

Amigo, eu fiz esse código alguns meses atrás para ajudar um colega daqui, caso queira ver.


http://pastebin.com/HHiPEjCb

Só lembrando que nesse meu exemplo ele está preparado para ler apenas 4 linhas, especificado pelas linhas abaixo:

String nomes[4];
for(int i = 0; i < 4; i++) {


Mais já lhe dar uma boa base para desenvolver sua própria solução:

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço