Pořídil jsem si Ethernet Shield W5100 z Číny.
A nejsem schopen na něm rozchodit SD kartu. Arduino + různé SD moduly mi chodí, s několika kartami. Ale na shieldu se se mnou prostě nebaví.
Mezi různými sketchemi jsem zkoušel tuto z HWkitchen:
Kód: Vybrat vše
#include <SPI.h>
#include <SD.h>
File myFile;
int const pinSS = 10;
int const pinCS = 4;
void setup()
{
// i když se pin nepoužívá, musí být definován jako výstup!
pinMode(pinSS, OUTPUT);
// začátek sériové komunikace
Serial.begin(9600);
Serial.print("inicializace SD karty...");
// pokud není karta dostupná, tak:
if (!SD.begin(pinCS))
{
Serial.println(" inicializace selhala!");
while (1);
}
Serial.println(" inicializace uspesna!");
// soubor, který chceme otevřít a psát do něj (FILE_WRITE)
// se jmenuje test.txt (popřípadě vložte celou cestu k souboru)
myFile = SD.open("test.txt", FILE_WRITE);
// pokud se soubor načte a otevře, tak:
if (myFile)
{
Serial.println("Zapisuji do test.txt");
// zapiš do souboru
myFile.println("dneska sviti slunce");
// zavři soubor
myFile.close();
Serial.println("uspesne zapsano");
}
// pokud se nepodaří soubor načíst a otevřít, tak:
else
{
Serial.println("soubor se nepodarilo otevrit");
}
// přečtění souboru:
Serial.println("\ncteni ze souboru\n");
// otevři soubor test.txt pro čtení, mód je defaultně nastavený na FILE_READ
myFile = SD.open("test.txt");
// pokud se soubor načte a otevře, tak:
if (myFile)
{
Serial.println("soubor obsahuje: ");
// čti ze souboru, dokud je co
while (myFile.available())
{
Serial.write(myFile.read());
}
// zavři soubor
myFile.close();
}
// pokud se nepodaří soubor načíst a otevřít, tak:
else
{
Serial.println("soubor se nepodarilo otevrit");
}
}
void loop()
{
// jelikož chceme, aby kód proběhl jenom jednou, tak zde nic nebude
}
Taková blbost, práce s kartou a já na tom trávím už druhé odpoledne.
Nakopne mě někdo správným směrem?