Go Down

Topic: Libelium microSD module +Arduino Mega (Read 3358 times) previous topic - next topic

Faris

Hi zusammen,
Ich hab da ein Problem ich möchte das Libelium microSD module  mit meinen Arduino Mega verbinden oder zum funktionieren bringen.

hab das Testprogramm von Libelium als erstes am ARduino Duemilanove getestet, hatte dort auch funktioniert. Als ich es auf dem Mage testen wollt bringt es mir

[hola.txt] - file content
[hola.txt] - ..error!

.... ka warum ...
ist der selbe Aufbau wie beim kleinen Board, hab auch die Library eingefügt.

hier das test Programm vom Hersteller :

#include "SDuFAT.h"

// define the pin that powers up the SD card
#define MEM_PW 8

// help string to be sent to the serial port
#define HELP "H help\nL file info\nD delete\nP append string\nW init file and write\nR dump to serial\nA append text\n"

// variable used when reading from serial
byte inSerByte = 0;

void setup(void)
{
// on my MicroSD Module the power comes from a digital pin
// I activate it at all times
pinMode(MEM_PW, OUTPUT);
digitalWrite(MEM_PW, HIGH);

// configure the serial port to command the card and read data
Serial.begin(19200);
}

void loop(void)
{
// Arduino expects one of a series of one-byte commands
// you can get some help by sending an 'H' over the serial port
if (Serial.available() > 0) {
  int result = 0;
  inSerByte = Serial.read();
  switch (inSerByte) {
  case 'H':
    Serial.println(HELP);
    result = 3; // special output for help message
    break;
  case 'L':
    result = SD.ls("hola.txt");
    break;
  case 'R':
    result = SD.cat("hola.txt");
    break;
  case 'W':
    result = SD.write("hola.txt");
    break;
  case 'A':
    result = SD.append("hola.txt");
    break;
  case 'P':
    result = SD.println("hola.txt","\nhola caracola");
    break;
  case 'D':
    result = SD.del("hola.txt");
    break;
  default:
    result = 2; // value for unknown operation
    break;
  }
 
  // print a status message for the last issued command
  // for help (result == 3) won't print anything
  if (result == 1) SD.printEvent(ERROR, "hola.txt");
  else if (result == 2) SD.printEvent(WARNING, "unknown command");
  else if (result == 0) SD.printEvent(SUCCESS, "hola.txt");
}
}

uwefed

Hast Du das gemacht? http://www.libelium.com/tienda/catalog/images/arduino/arduino_mega_Sd.pdf
Grüße Uwe

Faris

AAhhh ... man sollte sich das Bild besser ansehen  
dachte das man es genauso anschileßen kann wie das Duemilanove, aber dem war nicht so.

Danke dir für die Hilfe.
Es geht nun.


Faris

Also für alle die es wissen möchten.

- Jumper umstecken auf, Power from ICSP con.
- einen Verbindung von Pin 53 auf den SS stecken.
- SD modul auf den ISCP Stecken vom Mega

und dann einfach testen ...

uwefed

Schön, daß ich Dir helfen konnte
Grüße Uwe

benny66766

Ich habe genau die gleiche Ausgangssituation und mich an alle Schritte gehalten. Jedoch funktioniert es nicht so richtig.

Daten:
--------
-> Arduino Mega
-> Anschluss nach PDF (pin51 als CS und shield auf icsp gesteckt)
-> SDuFAT auf chip geladen.
-> microSD Karte 2GB auf FAT16 partitioniert und Beispiel-Datei 'hola.txt' (ETX Zeichen vorhanden).

Ich kann über die arduino 0017 IDE im terminal mit 19200 Baud über COM3 das Gerät ansprechen. Mit 'H' erscheint das Menü, bei unbekannten Befehlen gibt er dies auch aus.

Jedoch wird bei allen anderen Befehlen kein korrekter Ablauf ausgeführt. Das Gerät bleibt irgendwie hängen.

Bsp.:
A - Append Text -> Ich werde zur Eingabe von Text aufgefordert und schreibe z.B. 'abcdf.' ... dann kommt nur '[hola.txt] - add string' und nix weiter ... und auf der karte ist auch nix nachher drauf...

Was mache ich falsch?

Danke für die Antwort,
Gruss

uwefed

Hallo benny66766

Frage am Rande: Wieso benutzt Du noch den IDE 0017? der IDE 0018 ist aktuell.

Einige blöde Fragen:
Hast Du die Datei hola.txt mit einem Editor erstellt? (entschuldige, daß ich ein 2. mal frage.)
Ist sie groß genug?
http://blushingboy.net/p/SDuFAT/page/SDuFAT-basic/

Grüße Uwe



benny66766

Auf die IDE 0018 kann ich wechseln, dass stimmt...
Ich benutze die mitgelieferte Beispiel-Datei 'hola.txt' aus dem ZIP-Paket.

Sollte ich vielleicht mal eine eigene Datei erstellen? Und warum die Frage ob mit einem Editor? Was gibt es da zu beachten?

Zudem schließe ich wie in dem Bild gezeigt (PDF) das Ganze am ICSP an, könnte es da noch weitere Dinge zu beachten geben?, z.B. nicht angesteckt zu lassen, wenn der Flashspeicher beschrieben wird (code-upload)?

Im Beispielcode ist bei mir nix geändert worden, ist es da wichtig z.B. nicht weiterhin Pin 8 als Powerpin zu belassen? (obwohl das doch unerheblich ist, weil die Versorgung am ICSP bestimmt stattfindet, oder?)

Vielen Dank für die Antwort und Gruss,

benny66766

Die andere Sache war noch, dass ich nie so richtig wusste, wo ich das ganze Paket in meiner IDE hintun sollte. Nun liegt alles im Verzeichnis ./hardware/libraries ...

Von dort aus lade ich auch die Projektdatei .pde ...
Die Header-Dateien werden auch gefunden und alles als maschinen-code erfolgreich auf dem ATMega übertragen...

Könnt es da Probleme geben?

benny66766

#9
Aug 24, 2010, 09:02 am Last Edit: Aug 24, 2010, 09:02 am by benny66766 Reason: 1
Zusätzlich habe ich gelesen, dass man eine Microsd-Karte benötigt welche den SPI-Mode unterstützt. Da ich mir eine sehr billige und  herrenlose 2GB-Karte gekauft habe, kann ich dies nicht garantieren...

Könnte das Thema auch von Bedeutung sein?

Danke und Gruss,

benny66766

Hast Du vielleicht noch eine Idee, Uwe?

Vielen Dank und Gruss, Benny

uwefed

Hallo benny66766
Du führst selbstgespräche.
Ich antworte Dir heut Abend
Uwe

benny66766

Hallo Uwe,
ich wollte nochmal nachhaken...   :-/

Gruss, Benny

Go Up