Помогите с работой с micro SD - ESP-32-WROOM-32E и Mini TF Card module

Не получается создать файл на карте и записать в него… не говоря уже о том, что прочитать с нее.
Я только начал этим всем заниматься и пока вообще не пойму как идет нумерация контактов… Или я неправильно подключаю контакты… хельпъ
смотрел и читал много что, но для себя решил, что ближе к истине оказался где-то здесь:

#include <SD.h>
#include <sd_defines.h>
#include <sd_diskio.h>

//#include <SPI.h>    // эта библиотека нужна или нет? почему она не добавляется с SD ?

#define CS_pin 5
#define POW_pin 1     // у платы ESP32-WROOM-32E это - 3v3 ? А 5v это - 19? 
unsigned long last_time;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  last_time = millis();
  
  Serial.println("Initializing Card");

  pinMode(CS_pin, OUTPUT);
  pinMode(POW_pin,OUTPUT);
  digitalWrite(POW_pin,HIGH);

  checkingOfTheCard();  // Проверка готовности карты
}

void loop() {
  // put your main code here, to run repeatedly:
  writingOnCard(5000);   // запись на карту с установленным временем
}

///////////////////////////////////////////////////////////////////////////////

void checkingOfTheCard(){
  if(!SD.begin(CS_pin)){
    Serial.println("SDcard Failed");
    return;
  }
  Serial.println("SDcard Ready.");
}

boolean writingOnCard(unsigned long timeOfWriting){
  if(millis() - last_time > timeOfWriting){
    String dataString = "Фиксация записи";

    File dataFile = SD.open("log.txt", FILE_WRITE);
    if (dataFile){
      dataFile.println(dataString);
      dataFile.close();
      Serial.println(dataString);
      return true;
    }
    else{
      Serial.println("Could't access file!");
      return false;
    }
  }
}

Когда загружаю в плату, выдает:
Hash of data verified.
Compressed 320560 bytes to 186832…
Writing at 0x00010000… (8 %)
Writing at 0x0001a621… (16 %)
Writing at 0x00023f3e… (25 %)
Writing at 0x00029889… (33 %)
Writing at 0x0002edcc… (41 %)
Writing at 0x00033c85… (50 %)
Writing at 0x00039123… (58 %)
Writing at 0x00041458… (66 %)
Writing at 0x00048800… (75 %)
Writing at 0x00051489… (83 %)
Writing at 0x000567d8… (91 %)
Writing at 0x0005c03a… (100 %)
Wrote 320560 bytes (186832 compressed) at 0x00010000 in 2.7 seconds (effective 946.4 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin…

есть же в примерах для SD карточки, возьми оттуда, точно работает

1 лайк

Спасибо за совет! Использовал “Примеры” для SD и увидел, что они работают, а значит провода я всё-таки правильно подключил. Осталось понять почему не работает мой код )))

файловую систему кто в твоих скетчах обрабатывает?

Видимо Дядя Федя и тетя Мотя… :roll_eyes:
А что это и как с этим бороться?
У этого типа смотрел, вроде не было ничего… Типок

Если примеры с этой же картой работают - значит с файловой системой все в порядке.

Если стандартный пример работает - возьмите его код и постепенно заменяйте своим. После каждого изменения запускайте и проверяйте, не перестало ли работать.

Что за POW пин и нафига он нужен?

Аааа… Это я взял из видоса этого, там так делали, на времени 5:13. А сейчас послушал внимательно и понял, что мне это не нужно. :smirk: