Arduino не видит sd карту (модуль)

Le_mur
Offline
Зарегистрирован: 14.10.2018

При запуске скетча пишет: Initializing SD card...initialization failed. Things to check:

Притом подключено  всё правильно, карта отформатирована в FAT32, другая карта тоже не читается. В других темах/форумах пишут, что переподключили CS на другой пин и всё заработало, но мне это не помогло. Пробовал 10, 9, сейчас 4 пин. Заметил, что между 11-м пином и ножкой самого МК, отвечающей за MOSI есть падение напряжения. То же самое с 12-м и MISO. Так и должно быть?
Le_mur
Offline
Зарегистрирован: 14.10.2018

Скетч cardinfo

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Ну раз схемы подключения и указания на используемые компоненты - нет, то и помочь нечем. Тем более, что у других всё работает. Единственное, что могу посоветовать - обратиться к другим, к тем, у кого работает.

b707
Offline
Зарегистрирован: 26.05.2017

Le_mur - у меня настроение хорошее, поэтому распишу подробнее, что хотел сказать DIYMan

Чтобы что-то обсуждать, нужны скетч и схема.

Если вы думаете, что короткого указания "Скетч cardinfo" достаточно - то вы ошибаетесь. Если вы даже ради решения СВОЕЙ проблемы поленились указать в сообщении ссылку на скетч - то уж наивно рассчитывать, что мы полезем лихорадочно рыть гугль, чтобы помочь незнакомому лентяю. И к тому же скетчей с этим названием может быть много - как узнать, каким именно вы пользуетесь? Добавлю - что ссылка на скетч имеет смысл ТОЛЬКО если вы не меняли в нем ни буквы. Если же вы его редактировали - выкладывайте конкретно свой скетч в виде программного кода.

Теперь по схеме. Опять же - вы пишете "все подключено правильно". Такие заявления никого не интересуют, потому что им грош цена. Если бы вы все правильно подключили - у вас бы работало. А раз не работает - начит вам только кажется, что все подключено как надо. Так что схема (именно вашего включения) - абсолютно необходима.

Le_mur
Offline
Зарегистрирован: 14.10.2018
/*
  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?");
    return;
  } else {
    Serial.println("Wiring is correct and a card is present.");
  }

  // print the type of card
  Serial.print("\nCard 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");
    return;
  }


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

  volumesize = volume.blocksPerCluster();    // clusters are collections of blocks
  volumesize *= volume.clusterCount();       // we'll have a lot of clusters
  volumesize *= 512;                            // SD card blocks are always 512 bytes
  Serial.print("Volume size (bytes): ");
  Serial.println(volumesize);
  Serial.print("Volume size (Kbytes): ");
  volumesize /= 1024;
  Serial.println(volumesize);
  Serial.print("Volume size (Mbytes): ");
  volumesize /= 1024;
  Serial.println(volumesize);


  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) {

}

sadman41
Offline
Зарегистрирован: 19.10.2016

Ардуина-то точно такая же, синяя, без доп.стабилизатора на 3.3V?

One is that they are strictly 3.3V devices and the power draw when writing to the card can be fairly high, up to 100mA (or more)! That means that you must have a fairly good 3.3V power supply for the card. Secondly you must also have 3.3V logic to interface to the pins. We've found that SD cards are fairly sensitive about the interface pins - the newest cards are edge triggered and require very 'square' transitions - things like resistor dividers and long wires will have a deleterious effect on the transition speed, so keep wires short, and avoid using resistor dividers for the 3.3V logic lines. We suggest instead using level shifters, such as HEF405074LVX245 or 74AHC125 chips.

Le_mur
Offline
Зарегистрирован: 14.10.2018

Такая же

sadman41
Offline
Зарегистрирован: 19.10.2016

Тогда читайте выше выдержку с сайта Adafruit

Le_mur
Offline
Зарегистрирован: 14.10.2018

Хорошо