MicroSD SPI Module

Adafruit · Micro SD SPI or SDIO Card Breakout Board PID 4682, только 3,3 В

Хранение файлов, журналов измерений и настроек на microSD через SPI.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает Micro SD SPI or SDIO Card Breakout Board PID 4682, только 3,3 В

Модуль выводит контакты microSD для работы по SPI. Он подходит для локального журнала или файлов конфигурации, но тип карты, файловая система и программа определяют доступную ёмкость и скорость. Карта памяти не входит в понятие универсального модуля.

Платы различаются: одни лишь разводят контакты сокета, другие имеют регулятор и преобразователи уровней. Наличие одного регулятора не делает сигналы устойчивыми к 5 В. Плату с входом 5 В и падением на регуляторе нельзя автоматически питать через этот вход от 3,3 В. Пример ниже относится к Adafruit PID 4682: вывод 3V непосредственно питает карту, регулирования и преобразования логических уровней нет. Плата поддерживает также SDIO, но здесь используется SPI.

Начните с коротких проводов и исправной FAT32-карты. Обеспечьте питание с запасом под импульсы записи, развязку возле сокета и общий GND. Не вытаскивайте карту во время записи. Код закрывает файл до чтения; при отказе питания всё равно возможна потеря последних данных. На Adafruit PID 4682 доступны DET и контакты SDIO; в SPI они имеют альтернативные подписи SI/SO/CS. DET и неиспользуемые линии данных в примере свободны.

Adafruit 4682, пассивная плата microSD SPI/SDIO с питанием и логикой 3,3 В.

MicroSD SPI Module. Фото: Jeff Epler / Adafruit. Оригинал: https://learn.adafruit.com/assets/93587 . Лицензия фотографии: CC BY-SA 3.0, https://creativecommons.org/licenses/by-sa/3.0/ . Изменения: Удалён исходный фон вокруг платы; очищены только видимые просветы сквозных отверстий с сохранением металлических стенок. Пропорциональное масштабирование, размещение на предоставленном фоне и JPEG-сжатие. Геометрия, маркировка и видимые детали не перерисовывались. Цветокоррекция и повышение детализации не применялись. Адаптация фотографии распространяется по той же лицензии. Adafruit 4682, пассивная плата microSD SPI/SDIO с питанием и логикой 3,3 В.

Схема распиновки

Авторская распиновка SLDV LAB: Adafruit 4682, microSD SPI / SDIO. Сторона сокета к вам; контактный ряд снизу, позиции 1–9 слева направо. Для других ревизий и плат требуется отдельная проверка.

Источники: 1, 2. Авторская схема SLDV LAB по фактам документации.

Характеристики

Интерфейс примера
SPI
Файловая система примера
FAT32
Начальная частота SPI
4 МГц
Питание модуля
Adafruit PID 4682: питание входа 3V — только 3,3 В; все сигналы SPI 3,3 В, регулятора и преобразователей уровней 5 В на этой плате нет.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
3VВнешнее стабилизированное 3,3 ВAdafruit PID 4682: не подавать 5 В; мощность источника выбрать по карте.
GNDGND ESP32 и источникаESP32-DevKitC V4 с ESP32-WROOM-32; общая земля.
CLKGPIO18Провод короткий.
SO / D0GPIO19Выход карты, логика 3,3 В.
SI / CMDGPIO23Вход карты, логика 3,3 В.
CS / D3GPIO27Выбран отдельный GPIO, не boot-strapping GPIO5.
DET / D1 / DAT2Не подключатьЭти контакты в SPI-примере не используются.

Подходит для ESP32. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать MicroSD SPI Module. Сначала уточни точную плату модуля, контроллер, среду, питание и задачу. Проверь схему, логические уровни и маркировку контактов; затем дай согласованные подключение, зависимости и полный минимальный пример с обработкой ошибок. Объясни безопасную первичную проверку и ожидаемый результат. Уточни наличие регулятора и преобразователей уровней, файловую систему и максимальную длину проводов. Не считай любую SD-плату совместимой с 5 В.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и ядро
ESP32-DevKitC V4, ESP32-WROOM-32; Arduino-ESP32 3.3.0

Распиновка не относится к ESP32-C3/C6/S3.

SPI
SPI.begin(18, 19, 23, 27)

SCK, MISO, MOSI, CS в таком порядке.

Монтирование
SD.begin(27, SPI, 4000000)

4 МГц для начальной проверки; форматирование не выполняется.

Файл
/sldv.txt

Пример добавляет строку; используйте карту без ценных единственных копий.

Arduino: полный пример записи и чтения microSD

cpp
#include <SPI.h>
#include <SD.h>
const int CS_PIN = 27;
void setup() {
  Serial.begin(115200);
  pinMode(CS_PIN, OUTPUT);
  digitalWrite(CS_PIN, HIGH);
  SPI.begin(18, 19, 23, CS_PIN);
  if (!SD.begin(CS_PIN, SPI, 4000000)) {
    Serial.println("SD mount failed");
    return;
  }
  File file = SD.open("/sldv.txt", FILE_APPEND);
  if (!file) {
    Serial.println("Cannot open file for append");
    return;
  }
  const char line[] = "SLDV SD test\n";
  size_t written = file.write((const uint8_t *)line, sizeof(line) - 1);
  file.close();
  if (written != sizeof(line) - 1) {
    Serial.println("Incomplete write");
    return;
  }
  file = SD.open("/sldv.txt", FILE_READ);
  if (!file) {
    Serial.println("Cannot reopen file");
    return;
  }
  while (file.available()) Serial.write(file.read());
  file.close();
  SD.end();
}
void loop() {}

Полный скетч для указанного ESP32 и Arduino-ESP32 3.3.0. Сверено с API SD/SPI; не компилировалось и не испытывалось на плате. Проверка числа записанных байтов не гарантирует сохранность при внезапном отключении питания.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты