Оглавление:

Управление файлами карты Micro SD: 4 шага
Управление файлами карты Micro SD: 4 шага

Видео: Управление файлами карты Micro SD: 4 шага

Видео: Управление файлами карты Micro SD: 4 шага
Видео: Не удаляются данные с карты памяти #4. Инструкция 2024, Июль
Anonim
Управление файлами карты Micro SD
Управление файлами карты Micro SD
Управление файлами карты Micro SD
Управление файлами карты Micro SD
Управление файлами карты Micro SD
Управление файлами карты Micro SD

Методы управления файлами SD-карты, описанные в этом руководстве, можно использовать в проектах, которым требуются постоянные данные, данные, которые сохраняются, когда ваш проект выключен, и доступны при повторном включении. Кроме того, данные переносимы в том смысле, что карту можно вынуть из адаптера и подключить к компьютеру для использования на компьютере; для с компьютера на Arduino.

Когда я впервые начал использовать адаптер для SD-карты, я сослался на отличное руководство по началу работы, Micro SD Card Tutorial. Моя инструкция включает варианты подключения для Nano и Mega2560 Arduino. И, поскольку я программист, я разработал и протестировал программу, которая демонстрирует следующие функциональные возможности в одной программе, протестированной на Nano и Mega2560 Arduino.

Функциональность адаптера

Можно писать программы для управления каталогами и файлами на карте micro SD и их чтения:

  • Записывать файлы
  • Читать файлы
  • Проверить, существует ли файл
  • Получить информацию о файле, например размер
  • Удалить файлы
  • Создавать файловые каталоги (папки)
  • Проверьте, существует ли папка
  • Удалить папки

Примеры использования

Вы можете использовать адаптер SD-карты для хранения списков данных, например значений записи, собранных в течение периодических интервалов времени. Я использую адаптер для хранения программ на моем компьютере-эмуляторе Altair 8800, для загрузки и запуска (см. Фото выше). SD-карта функционирует как твердотельный накопитель / жесткий диск эмулятора компьютера.

Требования

Это руководство требует, чтобы у вас была установлена IDE Arduino. Вы также должны обладать базовыми навыками, чтобы загрузить программу эскиза Arduino по ссылкам в этом проекте, создать каталог для программы (имя каталога, такое же, как имя программы). После загрузки следующие шаги - загрузить программу в среду IDE, просмотреть и отредактировать. Затем загрузите программу через USB-кабель на плату Arduino.

Запасы

  • Плата микроконтроллера Arduino ATmega2560 (Mega), Uno или Nano ATmega328P с кабелем USB для подключения к компьютеру.
  • Адаптер для карты Micro SD
  • Провода макетной платы или проводные кабели (от мужчины к женщине)

Я покупал запчасти на eBay, в основном у дистрибьюторов в Гонконге или Китае. Дистрибьюторы в США могут иметь такие же или аналогичные запчасти по разумным ценам и более быстрой доставке. Доставка китайских запчастей занимает от 3 до 6 недель. Все дистрибьюторы, которых я использовал, были надежными.

Приблизительная стоимость: 15 долларов за Mega, 3 доллара за Nano, адаптер для карты micro SD за 1 доллар.

Шаг 1. Протестируйте Arduino Nano или Mega

Image
Image
Протестируйте Arduino Nano или Mega
Протестируйте Arduino Nano или Mega
Протестируйте Arduino Nano или Mega
Протестируйте Arduino Nano или Mega
Протестируйте Arduino Nano или Mega
Протестируйте Arduino Nano или Mega

Если вы используете Arduino Nano, подключите его к макетной плате. Подключите питание и заземление от Arduino к полосе питания макетной платы. Подключите вывод Arduino 5V + к плюсовой полосе на макетной плате. Подключите контакт Arduino GND (земля) к отрицательной (заземляющей) шине макетной платы. Шину питания можно использовать для питания адаптера SD. Если вы используете Arduino Mega или Uno, использование макетной платы необязательно, потому что вы можете подключить адаптер напрямую к Arduino.

Загрузите и запустите базовую тестовую программу Arduino: arduinoTest.ino. Во время выполнения программы встроенный светодиодный индикатор загорится на 1 секунду, погаснет на 1 секунду и будет непрерывно циклически повторяться. Кроме того, публикуются сообщения, которые можно просмотреть в Arduino IDE Tools / Serial Monitor.

+++ Настройка.

+ Инициализировал цифровой вывод встроенного светодиода для вывода. Светодиод не горит. ++ Перейти к циклу. + Счетчик циклов = 1 + Счетчик циклов = 2 + Счетчик циклов = 3…

Обратите внимание: вы можете использовать эту программу для тестирования вашего Nano, Mega или Uno, все они имеют одинаковый номер контакта для встроенной светодиодной лампы.

Шаг 2. Подключите адаптер карты Micro SD и проверьте его

Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте
Подключите адаптер карты Micro SD и проверьте

Подключите адаптер карты micro SD для управления файлами для постоянного хранения данных. Если вы используете Nano, вы можете использовать провода кабеля для подключения адаптера к макетной плате, как на фотографии выше. Или вы можете подключить адаптер к макетной плате и использовать провода для подключения контактов Nano с 10 по 13 к контактам адаптера, как показано ниже. При использовании Mega подключите вилку проводов к контактам Mega (контакты с 50 по 53), а розетку проводов к адаптеру (как на фото выше).

Также подключите питание от Arduino к адаптеру.

Mega Nano или Uno - выводы модуля SPI

Вывод 53 10 - CS: вывод выбора микросхемы / ведомого Вывод 52 13 - SCK: последовательные часы Вывод 51 11 - MOSI: вывод ведущего ведомого на вывод 50 12 - MISO: вывод ведущего ведомого на вывод вывод 5 В + 5 В + - VCC: можно использовать 3,3 В или 5V Pin GND GND - GND: земля

Описание функций контактов,

  • CS: вывод выбора микросхемы / ведомого устройства. Может быть любым цифровым выводом для включения / выключения этого устройства на шине SPI.
  • SCK: последовательные часы, SPI: принимает тактовые импульсы, которые синхронизируют передачу данных, генерируемую Arduino.
  • MOSI: главный выход (Arduino), подчиненный вход, SPI: вход в модуль карты Micro SD.
  • MISO: главный вход (вход Arduino), подчиненный выход (выход SD-адаптера), SPI: выход из модуля карты Micro SD.

В Arduino IDE установите SD-библиотеку, если она еще не установлена. Выберите Инструменты / Управление библиотеками. Отфильтруйте свой поиск, введя «SPI» или «SD». У меня установлена SD-библиотека от Arduino, SparkFun версии 1.2.3. В противном случае установите последнюю версию. Обратите внимание, что контакты адаптера объявлены в библиотеке SPI для SCK, MOSI, MISO и CS.

Примечания SPI Master / Slave относительно контакта CS адаптера SD и библиотеки SD:

  • Вывод Ardunio, который подключается к выводу CS адаптера SD, называется выводом выбора ведомого (SS). Библиотека SD использует вывод 10, вывод 53 на Mega в качестве вывода SS по умолчанию. Библиотека поддерживает только устройство Arduino в качестве ведущего.
  • Вы можете использовать любой цифровой вывод Arduino для подключения к выводу выбора адаптера SD-карты (CS). Если вы используете вывод, отличный от вывода SS по умолчанию, сделайте этот вывод как вывод, добавив: pinMode (otherPin, OUTPUT);. И установите штифт на низком уровне
  • Когда вывод выбора подчиненного устройства (SS) Arduino установлен на низкий уровень, адаптер SD будет взаимодействовать с Arduino. Arduino является мастером, а адаптер SD - подчиненным.
  • Когда он установлен высоким, адаптер SD игнорирует Arduino (мастер).
  • Селективность позволяет использовать несколько устройств SPI, совместно использующих одни и те же линии (контакты) шины Ardunio: MISO, MOSI и CLK.

Загрузите и запустите базовую тестовую программу: sdCardTest.ino. Эта программа была успешно протестирована с Mega и Nano.

Заявления о программах для файлов и каталогов

Инициализация: включить библиотеки, объявить вывод Arduino SS, подключенный к выводу CS адаптера, объявить файловые объекты и инициализировать соединение Arduino с адаптером.

#включают

# включить const int csPin = 10; // Для Mega вывод 53. File myFile; Корень файла; SD.begin (csPin)

Файловые функции: проверить, существует ли файл, открыть для записи и записи, распечатать имя и размер открытого файла, открыть файл для чтения, прочитать до конца файла и закрыть файл, а также удалить файл.

if (SD.exists ("F1. TXT")) {…}

myFile = SD.open ("F1. TXT", FILE_WRITE); myFile.println (F ("Привет!")); Серийный.принт (entry.name ()); Serial.print (entry.size (), DEC); myFile = SD.open ("F1. TXT"); в то время как (myFile.available ()) {Serial.write (myFile.read ()); } myFile.close (); SD.remove ("F1. TXT");

Функции каталогов: открыть каталог для листинга / обработки, открыть следующий файл в каталоге (можно использовать для вывода списка файлов в каталоге), перемотать (курсор файла) к первому файлу в каталоге, создать каталог, проверить, есть ли в каталоге существует, и удалите каталог.

root = SD.open ("/"); Запись в файле = dir.openNextFile (); root.rewindDirectory (); SD.mkdir ("/ TESTDIR"); if (SD.exists ("/ TESTDIR")) {…} SD.rmdir (aDirName);

Справочные ссылки:

Ссылка SPI: https://www.arduino.cc/en/Reference/SPISD Ссылка на библиотеку карт:

Шаг 3: Примечание о формате SD-карты

Ваша карта должна иметь жирный формат MS DOS. На Mac используйте дисковую утилиту для форматирования диска: Приложения> Утилиты> откройте Дисковую утилиту.

В зависимости от вашей карты я использовал одно из следующих.

Щелкните SD-карту, например: APPLE SD Card Reader Media / MUSICSD.

Щелкните пункт меню Стереть. Название сета, например: MUSICSD. Выберите: MS-DOS (Fat). Щелкните Стереть. Диск очищен и отформатирован.

Или, Выберите: APPLE SD Card Reader Media в левой опции.

+ Нажмите «Стереть» в верхней опции. + Во всплывающем окне установите значения полей, ++ Имя: Micro32gig ++ Формат: MS-DOS (FAT) ++ Схема: Основная загрузочная запись + Нажмите «Стереть» во всплывающем окне. Карта будет отформатирована для использования в модуле SD-карты.

Шаг 4. Используйте адаптер SD-карты в проектах

Image
Image
Используйте адаптер SD-карты в проектах
Используйте адаптер SD-карты в проектах

Я использую адаптер в своих планшетных и настольных моделях с эмулятором Altair 8800. На видео показан адаптер, используемый для загрузки игровой программы в память планшета для запуска. На фотографиях адаптер SD-карты подключен к настольной модели Altair Mega. На другом фото - передняя панель рабочего стола Altair со светодиодами и переключателями.

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

Наслаждайтесь Arduinoing.

Рекомендуемые: