Lettore scheda SD

Buongiorno!
Continuo ad avere problemi con la scheda SD. In pratica ho acquistato due lettori con breakout board, li sto provando su diversi Arduini (mega, uno, nano), ma non riesco in alcun modo a farli funzionare. Neppure con gli esempio della libreria SD.h, ogni volta la scheda risulta non inizializzata o non leggibile (come se non fosse neppure inserita).
Ho provato anche con altre schede e formattazioni diverse dalla Fat32. Ho anche controllato più volte le connessioni e utilizzato pure i pin laterali (maschi) di Arduino. Niente.

Qualche aiuto?

Grazie mille!
Alessandro

e su cosa?
non abbiamo il programma
non abbiamo il tipo della scheda
non sappiamo come e con cosa hai formattato le SD
non sappiamo che librerie hai usato (mi sembra ce ne siano almeno 3 per le SD)
dacci almeno queste indicazioni
comunque, partiamo da una domanda semplice
cosa vuol dire che hai provato anche altre formattazioni oltre alla FAT32?
fat 16?
NTFS?
ExFat?
EXT4?
con cosa? windows, linux, strumenti specifici?

Visto che ho provato su diversi tipi di Arduino e varie schede (come scritto nel post), cosa avrei dovuto inserire? Tutte le prove fatte andate a cattivo fine?
Sì: Fat32 exFat, NTFS.
Ovviamente uso Windows.
La libraria è quella inclusa nel IDE.

Se proprio vuole, inserisco l'esempio che ho provato ad usare, ma certamente già lo conoscerà.
Allego anche lo screen dell'errore che appare, ovviamente la scheda è inserita.

/*
  SD card test

  This example shows how use the utility libraries on which the'
  SD library is based in order to get info about your SD card.
  Very useful for testing a card when you're not sure whether its working or not.

  The circuit:
    SD card attached to SPI bus as follows:
 ** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila
 ** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila
 ** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila
 ** CS - depends on your SD card shield or module.
 		Pin 4 used here for consistency with other Arduino examples


  created  28 Mar 2011
  by Limor Fried
  modified 9 Apr 2012
  by Tom Igoe
*/
// include the SD library:
#include <SPI.h>
#include <SD.h>

// set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root;

// change this to match your SD shield or module;
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
// MKRZero SD: SDCARD_SS_PIN
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 native USB port only
  }


  Serial.print("\nInitializing SD card...");

  // we'll use the initialization code from the utility libraries
  // since we're just testing if the card is working!
  if (!card.init(SPI_HALF_SPEED, chipSelect)) {
    Serial.println("initialization failed. Things to check:");
    Serial.println("* is a card inserted?");
    Serial.println("* is your wiring correct?");
    Serial.println("* did you change the chipSelect pin to match your shield or module?");
    while (1);
  } else {
    Serial.println("Wiring is correct and a card is present.");
  }

  // print the type of card
  Serial.println();
  Serial.print("Card type:         ");
  switch (card.type()) {
    case SD_CARD_TYPE_SD1:
      Serial.println("SD1");
      break;
    case SD_CARD_TYPE_SD2:
      Serial.println("SD2");
      break;
    case SD_CARD_TYPE_SDHC:
      Serial.println("SDHC");
      break;
    default:
      Serial.println("Unknown");
  }

  // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
  if (!volume.init(card)) {
    Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
    while (1);
  }

  Serial.print("Clusters:          ");
  Serial.println(volume.clusterCount());
  Serial.print("Blocks x Cluster:  ");
  Serial.println(volume.blocksPerCluster());

  Serial.print("Total Blocks:      ");
  Serial.println(volume.blocksPerCluster() * volume.clusterCount());
  Serial.println();

  // print the type and size of the first FAT-type volume
  uint32_t volumesize;
  Serial.print("Volume type is:    FAT");
  Serial.println(volume.fatType(), DEC);

  volumesize = volume.blocksPerCluster();    // clusters are collections of blocks
  volumesize *= volume.clusterCount();       // we'll have a lot of clusters
  volumesize /= 2;                           // SD card blocks are always 512 bytes (2 blocks are 1KB)
  Serial.print("Volume size (Kb):  ");
  Serial.println(volumesize);
  Serial.print("Volume size (Mb):  ");
  volumesize /= 1024;
  Serial.println(volumesize);
  Serial.print("Volume size (Gb):  ");
  Serial.println((float)volumesize / 1024.0);

  Serial.println("\nFiles found on the card (name, date and size in bytes): ");
  root.openRoot(volume);

  // list all files in the card with date and size
  root.ls(LS_R | LS_DATE | LS_SIZE);
}

void loop(void) {
}

ovviamente usi windows
io ovviamente uso Linux, lo sapevi?
detta in parole povere: non ci sono cose ovvie.....
se non abbiamo indicazioni non ti possiamo aiutare
mi ricordo che anch'io ho avuto un po' di problemi all'inizio, alcune cose non le sapevo
do per assodato che tu abbia usato il corretto collegamento, che scheda e adattatore siano OK e che tu abbia usato il giusto pin di Chipselect, tutte cose che NON posso controllare dato che NON ho ne il tipo del lettore ne il cablaggio, che NON ci hai fornito
quindi:
se hai fatto bene questa parte la scheda o non va oppure è mal formattata (capita, credici, capita, con windows capita)
quindi provala su un pc, scrivi e leggi, e conferma che la scheda sia OK
se la scheda va su un PC formattala in FAT 16, magari on uno di quei tool specifici di formattazione che consigliano tanto sui vari siti per windows (io non ne conosco, non uso quella roba.... ma so che l'utilità di formattazione di windows è bella stramba)
so per certo che la libreria SD è un po' schizzinosa sulle schede, per l'esattezza sull'integrità del file system del volume
mi raccomando formatta in FAT16
ah, da ultimo
ti faccio notare che ti sto aiutando anche se NON mi hai dato alcun elemento ed alcuna ragione per farlo......

Io uso un sistema operativo serio e professionale, gli altri li lascio ai ragazzini smanettoni...

Vedo che non vuole aiutarmi, vabbe', me ne farò una ragione. Propone soluzioni che ho già tentato, altrimenti non avrei scritto il post.
Le ricordo che nessuno la obbliga ad aiutare, soprattutto se questo è il suo "aiutare", molto meglio che non lo faccia. Mi creda!

Saluti

Segnalato ai moderatori

Io ho già segnalato tutte le sue risposte, veda un po' lei...

NON facciamo commenti su Windows vs Linux. Altrimenti il mod prende provvedimenti. Grazie

@alessandro ma un link a quale modulo hai ??
@standard ha ragione, come facciamo a darti delle indicazioni se neppure sappiamo QUALE modulo hai ? Non frega nulla di quale board usi, ma quale modulo ?
In internet ne vendono ennemila modelli !! :slight_smile:

P.S. i due moduli sono identici, comprati da stesso venditore ?

Visti i toni, la discussione è chiusa.

Guglielmo

P.S.: Ricordo comunque a chi viene qui e fa delle richieste di aiuto che ... TUTTI quelli che rispondono lo fanno volontariamente, senza essere pagati e, spesso, togliendo del tempo ad altre cose (es. alla famiglia), quindi, è OBBLIGO di chi viene qui a chiedere aiuto di fornire il MASSIMO dei dettagli: link, foto, sorgenti, schemi di collegamento e quant'altro nonché di rispondere protamente e in modo completo a chi cerca di aiutare. Grazie.