Общие сведения
WEMOS Micro SD Card Shield — это модуль со слотом для подключения Micro SD-карт, предназначенный для установки на платы WeMos: WEMOS D1 mini / WEMOS D1 mini Pro. Модуль позволяет работать с Micro SD-картами по шине SPI, можно не только определять и менять файловую структуру, читать, удалять, редактировать, записывать файлы и каталоги, но и работать с Micro SD-картами на низком уровне.
Характеристики
- Используемые выводы: D5 (CLK), D6 (MISO), D7 (MOSI), D8 (CS), 3V3, GND.
- Шина передачи данных: SPI.
- Тип карт памяти: Micro SD.
- Габариты: 27,6x25,6 мм.
Подключение
- Перед установкой Shield, к его выводам нужно припаять разъемы идущие с ним в комплекте.
- Все Shield WeMos устанавливаются на плату WEMOS D1 mini или WEMOS D1 mini Pro без использования проводов.
- На всех платах WeMos имеется вырез возле вывода 3V3. При установке Shield вырезы всех плат должны находиться с одной и той же стороны (друг над другом).
Подробнее о модуле
На плате WeMos Micro SD Card Shield установлен слот для подключения Micro SD-карт (Micro Secure Digital). Слот подключен к выводам шины SPI: D5 (CLK), D6 (MISO), D7 (MOSI), D8 (CS). Благодаря тому что SD-карты могут работать с шиной SPI, Вы получаете полный доступ ко всем функциям реализованным в SD-картах и можете с ними делать всё, что и при обычном подключении SD-карт к компьютеру. Для работы с SD картами можно воспользоваться библиотекой SD которая входит как в стандартный набор Arduino IDE, а так и в сборку «esp8266 by ESP8266 Community» которую можно установить при настройке Arduino IDE для работы с платами WeMos.
Примеры
Вывод в монитор последовательного порта списка файлов и директорий SD-карты.
#include <SPI.h>
#include <SD.h>
File root;
void setup(){
Serial.begin(74880);
while(!Serial){} // Ждём инициализации работы с шиной UART
Serial.print("Initializing SD card...");
if(!SD.begin(4)){Serial.println("initialization failed!"); return;}
Serial.println("initialization done.");
root = SD.open("/");
printDirectory(root, 0);
Serial.println("done!");
}
void loop(){}
void printDirectory(File dir, int numTabs){
while(true) {
File entry = dir.openNextFile();
if(!entry){break;} // Если файлов больше нет, то прекращаем выполнение функции
for(uint8_t i=0; i<numTabs; i++){Serial.print('\t');}
Serial.print(entry.name());
if(entry.isDirectory()){Serial.println("/"); printDirectory(entry, numTabs+1);
}else{Serial.print("\t\t"); Serial.println(entry.size(), DEC);} // Файлы имеют размер, папки нет
entry.close();
}
}
Первая строка кода setup() инициирует передачу данных в монитор последовательного порта на скорости 74880 бод. Данная скорость выбрана не случайно, именно на этой скорости микроконтроллер ESP8266 отправляет в UART отладочную информацию при старте.
Комплектация
- 1x WeMos Micro SD Card Shield;
- 2x Соединитель типа "ПАПА-ПАПА";
















