Pages: [1]   Go Down
Author Topic: Arduino SDcard e acelerometro MM7361  (Read 1731 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Olá pessoal!
Estou com problemas ao utilizar o acelerometro MM7361 com arduino e SD card, estou utilizando o sketch datalogger exemplo do arduino.
Quando inicializo o arduino com o SD card somente alguns dados são gravados depois a gravação para, eu retirei o acelerometro das entradas analógicas a gravação é feita normalmente.
Alguém saberia me dizer porque isso acontece?
Dados com acelermetro conectado.
350,457,229
351,434,**
Aparece alguns simbolos estranhos.

Dados sem o acelerometro ligado.
23,12,45
45,56,89
...

Grava normalmente.
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3099
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sem ver como conectas o acelerómetro ou o programa que estás a correr, sinceramente não faço a minima ideia do problema.
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Full Member
***
Karma: 0
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah sim, como disse eu estou usando este exemplo: http://arduino.cc/en/Tutorial/Datalogger
Os sinais dos eixos do acelerometro são analógicos 0-3.3v ligados nas entradas analógicas 0,1 e 2 do arduino exatamente como no exemplo.
Se observar o scketch verá que as três entradas são concatenadas em uma só string, quando o arduino eo sd card é ligado sem nada na entrada, é armazenado no sd alguns valores, ruido.
21,23,45 desta forma os dados são salvos normalmente indefinidamente.
Quando eu ligo o acelerometro esses valores aumentam pois em repouso o acelerometro gera 1,5v conventendo em bits seria por volta de 307
307,307,305 dessa forma os dados são gravados somente uma vez no SD e depois para.
Estou suspeitando que seja o tamanho da string, o que você acha?
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3099
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Não me parece que seja o tamanho da String.
O facto de ligares os sensores às entradas analógicas (ao invés de deixar as entradas vazias) apenas interfere se os pinos das entradas analógicas estiverem a fazer outra função qualquer no hardware... o que não me parece que seja. Isto porque quando não tens nada ligado as funções de conversão do AD estão em funcionamento.

Como ligaste o pino de CS ao cartão de memória? Condiz com o programa que tens? Será a versão do Ethernet Shield que estás a usar que provoca isto por não usares o pino de CS correctamente? Apenas estou a supor.

Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Full Member
***
Karma: 0
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Não estou usando shield, e sim breakout sd card, o sistema está funcionando normalmente se os bits não ultrapassarem duas casas decimais.
Se tiver um nivel de tensão na entrada que gere um valor abaixo de 100bits tipo 22,37,44 os dados são gravados se o valor ficar acima de 99 ai começa o problema 101,150, 137.
Eu modifiquei o scketch  para gravar uma entrada em cada linha sem concatenar, funcionou normalmente. Por isso eu ainda acredito que seja o tamanho da string.
12,25,32 grava
123,250,450 não grava


Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3099
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

E estás a usar aquele código que colocaste do exemplo? Tal e qual?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Full Member
***
Karma: 0
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Com esse scketch os dados são gravados uma entrada em cada linha.
450
570
989
...

#include <SD.h>

const int chipSelect = 10;

void setup()
{
  //Serial.begin(9600);
  //Serial.print("Initializing SD card...");
  // pinMode(10, OUTPUT);

}

void loop()
{
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    File dataFile = SD.open("datalog.txt", FILE_WRITE);
    if (dataFile) {
      dataFile.println(sensor);
      dataFile.close();
    }   
  }
}


Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E aí pessoal ainda continuo com o problema alguma ideia?
Logged

Pages: [1]   Go Up
Jump to: