Эта страница только для чтения. Вы можете посмотреть исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Модуль micro SD карты ====== ===== Описание ===== Универсальный модуль со слотом под MicroSD карту. Дешевый и простой в эксплуатации модуль будет полезен в тех случаях, когда требуется дополнительная память для хранения данных. Идеально подходит для хранения картинок, музыки, видео и т.д. ==== Технические характеристики ==== * рабочее напряжение: 4,5-5,5В * потребляемый ток 80 мА * поддержка карт: MicroSD, MicroSDHC * файловая система: FAT 16, FAT 32 * поддержка карт памяти MicroSD: до 2Гб * поддержка карт памяти MicroSDHC: до 32Гб ==== Физические размеры ==== * Модуль (Д х Ш х В): 45 х 24 х 9 мм ==== Плюсы использования ==== * Простое и недорогое решение для работы с данными * Прост в подключении ==== Минусы использования ==== * Не поддерживает карты выше 32 Гб ===== Примеры подключения и использования ===== **Пример 1:** В примере иллюстрируется подключение модуля к контроллеру и тестирование работы карты (Пример взят из среды разработки для Ардуино). (Примеры тестировались на контроллере Smart UNO) ^ Что нужно ^ Кол-во, шт ^ | [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]] | 1 | | [[https://smartelements.ru/collection/moduli/product/modul-microsd-karty|Модуль MicroSD карты]] | 1 | | [[https://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа-мама]] | 6 | **Схема подключения:** {{ :главная:модули:microsd.jpg |}} **Скетч для загрузки:** <file Arduino> // Подключение библиотек SPI и SD: #include <SPI.h> #include <SD.h> // установка переменных, используемых функциями библиотеки SD: Sd2Card card; SdVolume volume; SdFile root; // измените эту переменную в зависимости от подключения модуля и использования шилдов; // Ethernet shield: пин 4 const int chipSelect = 4; void setup() { // Инициализация сериал порта: Serial.begin(9600); while (!Serial) { ; // ожидание подключения к Serial порту. Только для собственных USB портов } Serial.print("\nInitializing SD card..."); // инициализация карты, и проверка работает ли модуль с данной картой 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."); } // Вывод типа карты 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"); } // Теперь мы попробуем открыть 'volume'/'partition' (том/раздел) - файловая система должна быть FAT16 или FAT32 if (!volume.init(card)) { Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card"); return; } // вывод типа и размера первого FAT-тома uint32_t volumesize; Serial.print("\nVolume type is FAT"); Serial.println(volume.fatType(), DEC); Serial.println(); volumesize = volume.blocksPerCluster(); // кластеры и коллекции блоков volumesize *= volume.clusterCount(); // получим много кластеров volumesize *= 512; // на SD карте блоки всегда по 512 байт 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); // Вывод всех файлов с карты с датой и размером root.ls(LS_R | LS_DATE | LS_SIZE); } void loop(void) { } </file> **Пример 2:** В примере иллюстрируется подключение модуля к контроллеру и запись данных в файл, который создается на карте памяти. (Примеры тестировались на контроллере Smart UNO) ^ Что нужно ^ Кол-во, шт ^ | [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]] | 1 | | [[https://smartelements.ru/collection/moduli/product/modul-microsd-karty|Модуль MicroSD карты]] | 1 | | [[https://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа-мама]] | 6 | **Схема подключения:** {{ :главная:модули:microsd.jpg |}} **Скетч для загрузки:** <file Arduino> #include <SD.h> File dataFile; // файл для записи данных char* DATA_FILE_NAME = "data.txt"; // имя файла void setup() { Serial.begin(9600); // инициализация карты Serial.print("Card-initializing begins..."); if (!SD.begin(4)) { Serial.println("Card-initializing failed"); return; } Serial.println("Card-initializing done"); } void loop() { //получение количества секунд со старта ардуино int seconds = millis() / 1000; //Открытие файла (если его нет, то он создастся) dataFile = SD.open(DATA_FILE_NAME, FILE_WRITE); //запись данных в файл dataFile.print(seconds); dataFile.println(" seconds left from the start"); //закрытие файла dataFile.close(); //контрольный вывод в монитор порта Serial.print(seconds); Serial.println(" seconds left from the start"); //задержка 3 секунды delay(3000); } </file>