Pages: [1]   Go Down
Author Topic: Arduino Mega+ethernet shield sd-karte auslesen?  (Read 1008 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Guten Tag.
 seit 2 stunden versuche ich meine micro SD auslesen. Dafür nehme ich Standard Programm.
Vor dem beginn zeigt mir das er kein SD finden kann, obwohl SD karte da & und funktioniert.
Was mache ich falsch? bitte um schnelleres Antwort. vielen Dank. Mfg Eugen
Logged

Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 5
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Schneller als was? </zynismus off>

Welches Ethernet-Shield, welches "Standard-Programm", welche SD-Karte? </Kristallkugel off>

Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

danke für schneller antwort
sd karte im ethernet shield
http://www.watterott.com/de/Arduino-Ethernet-Shield
Egal welche exampel von SD library, funktioniert nicht
Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast du den pin 10 zu pin 53 geändert ?
Das musst du unbedingt machen, sonst klappt da gar nichts !

Grüße
Lorenz
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

das habe ich als erstes gemacht. problem war das arduino mega hat 50 - MISO (DO), 51 - MOSI (DI), 52 - SCK und nicht wie Arduino Uno 13-11. muss ich 3 Kabel einlöten.Aber sonst funktioniert. UNd Noch SD karte muss in FAT16 formatiert sein!!
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 49
Posts: 2741
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Was sagt das cardinfo Beispielprogramm ?
Verdrahtungsfehler / Keine Karte oder Formatierung unbekannt oder ...
Logged

Augsburg, Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ich hatte auch Probleme mit dieser Konfiguration. Ich habe dann durch vieles Probieren folgendes Setup gefunden
das auf meinem Arduino Mega 2560 mit Ethernet-Shield und SD-Card funktioniert:

Code:
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUDP.h>
#include <Dns.h>
#include <SD.h>
.
.
.
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
unsigned int localPort = 8888;               // local port to listen for UDP packets
.
.
.
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetServer server(80);

.
.
.

// A UDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
DNSClient Dns;


// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 4;


void setup() {


  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ;   // wait for serial port to connect. Needed for Leonardo only
  }
  Serial.println("Start setup");

  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(10, OUTPUT);
  digitalWrite(10, HIGH);
 
  Serial.print("Initializing SD card...");
 
  // see if SD card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
  }else {
    Serial.println("card initialized.");
  }
 
  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
  }
 
  // give the Ethernet shield a second to initialize:
  delay(1000);
 
  Udp.begin(localPort);
  Dns.begin(Ethernet.dnsServerIP() );

  Serial.println("waiting for sync");
  setSyncProvider(getNtpTime);
  while(timeStatus()== timeNotSet)
     ; // wait until the time is set by the sync provider
  digitalClockDisplay();
 
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  Serial.println("End setup");
}

Da sind auch noch ein paar Zeilen aus meinem "Produktiv-Sketch" drinnen, die kannst du ja ignorieren.
Ich weiss auch nicht warum es auf dem Mega (!!) mit genau diesen Werten geht aber es tut es definitiv.

Gruss
Jürgen
Logged

Pages: [1]   Go Up
Jump to: