Всё, что вам нужно знать об SD-картах памяти, чтобы не облажаться при покупке. Не форматируется microSD карта. Диск защищен от записи

Всё, что вам нужно знать об SD-картах памяти, чтобы не облажаться при покупке. Не форматируется microSD карта. Диск защищен от записи

Для большинства людей microSD - это лишь форм-фактор, но на самом деле это не так. Вы без проблем сможете вставить любую microSD-карту в стандартный слот, но далеко не каждая из них будет работать, поскольку карты различаются по множеству признаков.

Формат

Всего существует три различных формата SD, доступных в двух форм-факторах (SD и microSD):

  • SD (microSD ) - накопители объёмом до 2 ГБ, работают с любым оборудованием;
  • SDHC (microSDHC ) - накопители от 2 до 32 ГБ, работают на устройствах с поддержкой SDHC и SDXC;
  • SDXC (microSDXC ) - накопители от 32 ГБ до 2 ТБ (на данный момент максимум 512 ГБ), работают только на устройствах с поддержкой SDXC.

Как видите, обратной совместимости у них нет. Карты памяти нового формата на старом оборудовании работать не будут.

Объём

Заявленная производителем поддержка microSDXC не означает поддержку карт этого формата с любым объёмом и зависит от конкретного устройства. Например, HTC One M9 работает с microSDXC, но официально поддерживает только карты до 128 ГБ включительно.

С объёмом накопителей связан ещё один важный момент. Все карты microSDXC используют по умолчанию файловую систему exFAT. Windows поддерживает её уже более 10 лет, в OS X она появилась начиная с версии 10.6.5 (Snow Leopard), в Linux-дистрибутивах поддержка exFAT реализована, но «из коробки» работает далеко не везде.

Высокоскоростной интерфейс UHS


К логотипу карты с поддержкой UHS добавляется I или II в зависимости от версии

Карты форматов SDHC и SDXC могут поддерживать интерфейс Ultra High Speed, который при наличии аппаратной поддержки на устройстве обеспечивает более высокие скорости (UHS-I до 104 МБ/с и UHS-II до 312 МБ/с). UHS обратно совместим с более ранними интерфейсами и может работать с не поддерживающими его устройствами, но на стандартной скорости (до 25 МБ/с).

2. Скорость


Luca Lorenzelli/shutterstock.com

Классификация скорости записи и чтения microSD-карт так же сложна, как их форматы и совместимость. Спецификации позволяют описывать скорость карт четырьмя способами, и, поскольку производители используют их все, возникает большая путаница.

Скоростной класс


Макрикровка класса скорости для обычных карт представляет собой цифру, вписанную в латинскую букву C

К классу скорости (Speed Class) привязана минимальная скорость записи на карту памяти в мегабайтах в секунду. Всего их четыре:

  • Class 2 - от 2 МБ/с;
  • Class 4 - от 4 МБ/с;
  • Class 6 - от 6 МБ/с;
  • Class 10 - от 10 МБ/с.

По аналогии с маркировкой обычных карт, класс скорости UHS-карт вписывается в латинскую букву U

У карт, работающих на высокоскоростной шине UHS, пока всего два класса скорости:

  • Class 1 (U1) - от 10 МБ/с;
  • Class 3 (U3) - от 30 МБ/с.

Поскольку в обозначении класса скорости используется минимальное значение записи, то теоретически карта второго класса вполне может быть быстрее карты четвёртого. Хотя, если это будет так, производитель, скорее всего, предпочтёт более явно указать этот факт.

Максимальная скорость

Класса скорости вполне достаточно для сравнения карт при выборе, но некоторые производители помимо него используют в описании максимальную скорость в МБ/с, причём чаще даже не скорость записи (которая всегда ниже), а скорость чтения.

Обычно это результаты синтетических тестов в идеальных условиях, которые недостижимы при обычном использовании. На практике скорость зависит от многих факторов, поэтому не стоит ориентироваться на эту характеристику.

Множитель скорости

Ещё один вариант классификации - это множитель скорости, подобный тому, который использовался для указания скорости чтения и записи оптических дисков. Всего их более десяти, от 6х до 633х.

Множитель 1х равен 150 КБ/с, то есть у простейших 6х-карт скорость равна 900 КБ/с. У самых быстрых карт множитель может быть 633х, что составляет 95 МБ/с.

3. Задачи


StepanPopov/shutterstock.com

Правильно выбирать карту с учётом конкретных задач. Самая больша́я и самая быстрая не всегда лучшая. При определённых сценариях использования объём и скорость могут оказаться избыточными.

При покупке карты для смартфона объём играет большую роль, чем скорость. Плюсы большого накопителя очевидны, а вот преимущества высокой скорости передачи на смартфоне практически не ощущаются, поскольку там редко записываются и считываются файлы большого объёма (если только у вас не смартфон с поддержкой 4K-видео).

Камеры, снимающие HD- и 4K-видео, - это совсем другое дело: здесь одинаково важны и скорость, и объём. Для 4K-видео производители камер рекомендуют использовать карты UHS U3, для HD - обычные Class 10 или хотя бы Class 6.

Для фото многие профессионалы предпочитают пользоваться несколькими картами меньшего объёма, чтобы минимизировать риск потери всех снимков в форс-мажорных обстоятельствах. Что до скорости, то всё зависит от формата фото. Если вы снимаете в RAW, есть смысл потратиться на microSDHC или microSDXC класса UHS U1 и U3 - в этом случае они раскроют себя в полной мере.

4. Подделки


jcjgphotography/shutterstock.com

Как бы банально это ни звучало, но купить подделку под видом оригинальных карт сейчас проще простого. Несколько лет назад SanDisk заявляла, что треть карт памяти SanDisk на рынке является контрафактной. Вряд ли ситуация сильно изменилась с того времени.

Чтобы избежать разочарования при покупке, достаточно руководствоваться здравым смыслом. Воздерживайтесь от покупки у продавцов, не заслуживающих доверия, и остерегайтесь предложений «оригинальных» карт, цена которых значительно ниже официальной.

Злоумышленники научились подделывать упаковку настолько хорошо, что порой её бывает очень сложно отличить от оригинальной. С полной уверенностью судить о подлинности той или иной карты можно лишь после проверки с помощью специальных утилит:

  • H2testw - для Windows;
  • Если вы уже сталкивались с потерей важных данных из-за поломки карты памяти по той или иной причине, то, когда дело дойдёт до выбора, вы, скорее всего, предпочтёте более дорогую карту известного бренда, чем доступный «ноунейм».

    Помимо большей надёжности и сохранности ваших данных, с брендовой картой вы получите высокую скорость работы и гарантию (в некоторых случаях даже пожизненную).

    Теперь вы знаете об SD-картах всё, что необходимо. Как видите, есть много вопросов, на которые вам придётся ответить перед покупкой карты. Пожалуй, наилучшей идеей будет иметь различные карты для различных нужд. Так вы сможете использовать все преимущества оборудования и не подвергать свой бюджет лишним расходам.

Попытка сохранить новую информацию на микро cd закончится неудачей, если на нем стоит защита от записи. Причины появления сообщения об отказе доступа могут быть разные. Снять защиту с microSD можно несколькими методами – программными и физическими. Рассмотрим самые актуальные.

Разблокирование microSD

Расположите карту памяти на плоской поверхности или на ладони так, чтобы этикетка была сверху. Слевой стороны корпуса карты вверху найдите маленький рычажок переключения блокировки – кнопка Lock. «Локер» служит для защиты информации от случайного стирания. Рычажок может быть плоским и лишь слегка выступать из корпуса, быть белого или серебристого цвета. Такой переключатель отсутствует непосредственно на microSD. Вставьте карту в адаптер и найдите переключатель Lock на самом адаптере. Передвиньте его до упора в противоположном направлении.

После перевода рычажка Lock в положение отмены статуса защиты данных, повторное появление окошка уведомления об ошибке записи может быть вызвано переводом Lock обратно в положение защиты. Происходит это из-за ослабления переключателя, при вводе карты памяти в картридер он сдвигается и включает блокировку памяти. Зафиксируйте его кусочком резинки, картона или удалите совсем.

Избежать автоматической блокировки записи на microSD можно удалив ее контакт с кнопкой Lock на корпусе адаптера. На левом боку микро-флешки найдите небольшую выемку, запаяйте ее пластмассой или заклейте скотчем. Выполнять пайку надо очень аккуратно. Вариант со скотчем проще, но он может цепляться при вводе карты в адаптер.

Изменение свойств диска

Если защита карты памяти не позволяет скопировать информацию на другой диск, а сохранить ее необходимо, то попробуйте снять защиту следующим образом. Присоедините микро cd к компьютеру, найдите его имя в списке устройств и кликните по нему правой кнопкой мыши. В меню выберите строку «Свойства», затем вкладку «Доступ». В следующем окне есть «Расширенная настройка», откройте ее и поставьте галочку в строке «Открыть общий доступ», подтвердите настройки – «Ок».

Форматирование карты памяти microSD

Иногда для снятия защиты с карты памяти рекомендуется ее форматирование, если «локер» отсутствует или не помог. Важную информацию сохраните на другой диск, т.к. она будет полностью удалена. Программным способом можно снять блокировку от записи на карту при помощи Windows.

Установите карту памяти microSD на персональный компьютер через специальный адаптер напрямую или через картридер. На современных ноутбуках такой разъем уже предусмотрен, он обычно обозначен значком «карта» и выглядит как узкая щель. Операционная система распознает диск, и его имя отобразится в списке устройств компьютера.

Кликните правой кнопкой мыши на значке диска CD и в развернутом меню выберите строку «Форматировать …». Файловую систему поставьте ту, которую поддерживает ваше устройство, обычно – NTFS. Нажмите «Начать». Вся информация с диска теперь удалена, и статус защиты снят.


Изменение файловой системы

При записи на карту памяти файла объемом более 4 Гб окошко с уведомлением об ошибке может возникнуть из-за ограничений файловой системы. Если карта памяти отформатирована с системой FAT32, то размер файла входит в число ее ограничений для записи данных. Следует изменить файловую систему на NTFS, так как описано в 3 пункте.


Программные средства для microSD

Сбросить защиту от записи на диске можно программными средствами, не удаляя информацию. Для этого существуют различные скрипты и утилиты, например – reset.zip. Скачивая программное обеспечение из сети, следует быть осторожными – оно может содержать вирусы. Лучше воспользоваться для снятия защиты проверенными приложениями. Низкоуровневое форматирование диска утилитой Hard Disk Low Level Format Tool стирает все данные, но поможет восстановить даже безнадежные флешки, которые не прошли форматирование внутренними средствами Windows.

Снятие защиты microSD через мобильное устройство

Современные мобильные девайсы: плееры, КПК, телефоны, фотоаппараты обладают функцией форматирования microSD. Попробуйте через настройки найти эту опцию и отформатировать флешку прямо на данном устройстве. Защита памяти могла быть программно установлена в аппарате для обеспечения конфиденциальности данных. Снять защиту можно также в настройках. Все разновидности электронных устройств имеют свои особенности, поэтому в случае затруднений ознакомьтесь с инструкцией гаджета или получите разъяснение в сервисном центре у специалиста.

Используйте с картой microSD только «родной» адаптер. С другим адаптером, даже если удалось провести форматирование на телефоне, записать информацию на диск, скорее всего не получится.

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

Как я разблокировал карту памяти

Управление дисками

Используя горячие клавиши Win+R , отрываем «Выполнить» и вводим команду diskmgmt.msc. В списке томов, отыскиваем подключенный внешний носитель информации и кликаем по нему ПКМ. А затем, как показано на скриншоте ниже, и в выпавшем контекстном меню, выбираем «Форматировать».

Использование diskpart, чтобы отформатировать SD карту

В поиске «Пуск» пишем cmd.exe, эта команда откроет командную строку. Забиваем «diskpart» (без кавычек). С помощью клавиатуры набираем list disk.

В таблице находим нашу SD, узнаем ее по размеру.

Теперь используем clean.

В течение небольшого количества времени данные будут удалены.

Далее обязательно создаем раздел, вписываем create partition primary, затем select partition для выбора оного и active, — во исполнении активации. В заключение применяем format fs=ntfs, -полное или format fs=NTFS QUICK, — быстрое форматирование микроSD.

В свою очередь хочу заметить, — прием является лучшим !

Командная строка

В моем случае работа проводилась в безопасном режиме Windows 10 , но думаю, что ниже описанный вариант будет актуален и поздних версий.

Открываем командную строку, оную можно найти, открыв «Пуск», где вписываем, — format e:

Где «Е», соответственно, буква тома.

Что делать, если MicroSD защищена от записи

Изменение свойств диска

Переходим в «Мой Компьютер», ПКМ нажимаем на иконку microSD карты, которая не форматируется, переходим в «Свойства». Нас интересует вкладка «Доступ», где нужно направиться в раздел «Расширенная настройка».

В открывшемся окне отмечаем галочкой пункт «Открыть общий доступ» и сохраняем изменения. После чего стандартным способом произвести форматирование.

Убрать защиту можно в редакторе реестра Windows

Используя горячие кнопки Win+R, кстати, вы сами можете создать для себя именно те, что вам будут более удобны в работе, и вводим regedit. В ветке

В WriteProtect изменяем значение с 1 на 0.

Ежели оного нет, то требуется создать параметр DWORD(32-bit), если операционка 32-битной или DWORD(64-bit), кликнув по свободному месту в правой части экрана.

Меняем файловую систему

Если не удается скопировать файлы с MicroSD свыше 4 Гб, то дело может быть в лимите файловой системы, — заменяем FAT 32 на NTFS.

После таких манипуляций все должно получиться.

Утилита diskmgmt.msc

Сие действие также подходит и к флешкам.

Запускаем приложение.

В окне ищем, например, нашу флешку

Используя мышку производим действия.

Как снять защиту от записи через редактор политики

  1. В «Выполнить» задействуем gpedit.msc
  2. Конфигурация компьютера - «Административные шаблоны» - «Система» - «Доступ к съемным запоминающим устройствам».
  3. И отключаем «Съемные диски: Запретить чтение».

Что делать, когда ни один из вариантов не подошел

  • Видимо поломка в самой памяти.
  • Проверить ПК на вирусы.
  • Проблема часто возникает из-за установленных программ для создания виртуальных дисководов, типа Alcohol 120%, DAEMON Tools, Virtual CD, Virtual CloneDrive и их аналогов .
  • Дело в прошивке флешки или SD (используйте фирменный софт, типа Hp disk format tool или HDD low level format, который часто имеется на носителе или можно скачать с официального сайта).

К записи "Не форматируется microSD карта. Диск защищен от записи" 8 комментариев

    Спасибо за советы, но у меня следующая аналогичная проблема. Есть флешка 64 Гб, форматированная в НТФС. Я переношу ифорацию (фильмы, музыку, фото и др.) с одного компютера (с ОС Win XP Pro) на другой компютер (с ОС Win 7) — и почти всегда флешка становится нечитаемой, некопируется — с сообщением — снимите зящиту от записи. Это можно исправить только форматированием флешки, но тогда теряется вся информация на флешке. Один компютер от другово находится более 50 км, пересылать информацию по интернету не предоставляется возможным. После сново отформатированная флешка работает отлично. К стати, я заметил что так она ведет только тогда, когда я переношу информацию с Win XP Pro на Win 7, но не оборот.

    Добрый вечер!Как всё похоже!!В linux отформатировать флешку команда:sudo mkfs.vfat -F32 -I -v /dev/sdb,а в FREEBSD похожая команда:sudo newfs_msdos -F32 /dev/da0 .

    Вожусь с такой проблемой пол дня и все эти советы не сработали. Начал искать фирменную утилиту по контроллеру памяти и самой памяти и всё таки нашёл и сейчас форматируется с её помощью.Для определения данных по флешке использовал утилиту ChipGenius v4.00.0807 (она только смогла увидеть, другие подобные утилиты не видят флешку).Восстановление заняло 1час 15минут, можно и подождать, флешка живая полностью.

    Вот чем мне нравится флешки от Transcend, так это адекватными ценами и программой для «ремонта» флешек, которая закачена в каждый носитель. ChipGenius, хорошая программа, тоже не раз выручала, но не со всеми производителями она контачит.
    Я часто использую: JetFlash Recovery Tool, MPTool, USB Flash Drive Recovery.
    А лучше всего пробовать искать, как вы правильно делаете, на официальных сайтах продукта.

    ChipGenius программа для определения контроллера и типа памяти, а дальше уже нужно искать фирменную утилиту для перепрошивки контроллера и форматирования памяти. Там тоже могут быть ньюансы, нужно пробовать старые и новые версии программ, мне вот например помогла старая версия программы, новая не захотела работать с флешкой, хотя всё определялось и память нужную выставлял, но копка СТАРТ не доступна была. В программах можно поменять кое что, можно даже зашить своё название, изменить режим работы светодиодного индикатора. Доступные языки попадались: китайский и английский. Описание работы в PDF на китайском, но можно найти и на английском и с русскими подсказками, что делать.

    Сегодня испробовал ChipGenius. Век живи- век учись! Отличная прогграмма. Благодарю, Владимир!

    Пожалуйста Сергей! Никогда не помешает попробовать, что то новое.

    В этом плане я только «ЗА». Будет, что интересное, подкидывайте. ;)

Оставить свой комментарий

памяти не представляет опасности для вашего ПК, проверьте ее содержимое на наличие вирусов. Для этого вставьте флешку в порт и откройте папку «Мой компьютер». Кликните правой кнопкой мышки по определившемуся устройству и выберите пункт «Сканировать ». Если антивирус не обнаружит на носителе вредоносных программ, можете открыть раздел .

Чтобы записать информацию на карту памяти , найдите нужные файлы и выделите их. Кликните на выделенном участке правой кнопкой мышки и выберите пункт «Копировать». Откройте раздел карты памяти и кликните в нем правой кнопкой мышки. Выбрав пункт «Вставить», кликните по нему и дождитесь завершения передачи файлов на устройство.

После того, как все файлы будут переданы, извлеките карту памяти следующим образом. На панели задач кликните правой кнопкой мышки по значку USB-порта и выберите пункт «Безопасное извлечение устройства». Кликнув по данной опции, дождитесь вывода окна-уведомления о том, что может быть извлечена из . Только после этого вытаскивайте карту памяти . Если вы просто выдерните устройство из порта, вы можете повредить хранящиеся на нем файлы и документы.

У плат семейства Arduino есть несколько видов памяти. Во-первых, это статическое ОЗУ (оперативное запоминающее устройство), которое используется для хранения переменных в процессе выполнения программы. Во-вторых, это флеш-память, в которой хранятся написанные вами скетчи. И в-третьих, это EEPROM, которую можно использовать для постоянного хранения информации. Первый тип памяти - энергозависимый, он теряет всю информацию после перезагрузки Arduino. Вторые два типа памяти хранят информацию, пока она не будет перезаписана новой, даже после отключения питания. Последний тип памяти - EEPROM - позволяет записывать данные, хранить их и считывать при необходимости. Эту память мы и рассмотрим сейчас.

Вам понадобится

  • - Arduino;
  • - компьютер.

Инструкция

EEPROM означает Electrically Erasable Programmable Read-Only Memory, т.е. электрически стираемое перепрограммируемое постоянное запоминающее устройство. Данные в этой памяти могут храниться десятки лет после отключения питания. Количество циклов перезаписи - порядка нескольких миллионов раз.
Количество EEPROM памяти в Arduino довольно ограничено: для плат, основанных на микроконтроллере ATmega328 (например, Arduino UNO и Nano), количество памяти составляет 1 кБ, для плат на ATmega168 и ATmega8 - 512 байт, на ATmega2560 и ATmega1280 - 4 кБ.

Для работы с EEPROM для Arduino написана специальная библиотека, которая входит в Arduino IDE по умолчанию. Библиотека содержит следующие возможности.
read(address) - считывает 1 байт из EEPROM; address - адрес, откуда считываются данные (ячейка, начиная с 0);
write(address, value) - записывает в память значение value (1 байт, число от 0 до 255) по адресу address;
update(address, value) - заменяет значение value по адресу address, если её старое содержимое отличается от нового;
get(address, data) - считывает данные data указанного типа из памяти по адресу address;
put(address, data) - записывает данные data указанного типа в память по адресу address;
EEPROM - позволяет использовать идентификатор "EEPROM" как массив, чтобы записывать данные в память и считывать их из памяти.
Чтобы задействовать библиотеку в скетче, подключаем её директивой #include EEPROM.h .

Давайте запишем в память EEPROM два целых числа, а затем прочитаем их из EEPROM и выведем в последовательный порт.
С числами от 0 до 255 проблем нет, они занимают как раз 1 байт памяти и с помощью функции EEPROM.write() записываются в нужную ячейку.
Если число больше, чем 255, то с помощью операторов highByte() и lowByte() его нужно делить на байты и записывать каждый байт в свою ячейку. Максимальное число при этом - 65536 (или 2^16).
Смотрите, монитор последовательного порта в ячейку 0 просто выводит число, меньшее, чем 255. В ячейках 1 и 2 хранится большое число 789. При этом ячейка 1 хранит множитель переполнения 3, а ячейка 2 - недостающее число 21 (т.е. 789 = 3*256 + 21). Чтобы заново "собрать" большое число, разобранное на байты, есть функция word() : int val = word(hi, low), где hi и low - это значения старшего и младшего байтов.
Во всех остальных ячейках, которые не были нами ни разу записаны, хранятся числа 255.

Для записи чисел с плавающей запятой и строк нужно использовать метод EEPROM.put() , а для чтения - EEPROM.get() .
В процедуре setup() сначала запишем число с плавающей запятой f. Затем сдвинемся на количество ячеек памяти, которое занимает тип float, и запишем строку символов char ёмкостью 20 ячеек.
В процедуре loop() будем считывать все ячейки памяти и пытаться расшифровать их сначала как тип "float", а затем как тип "char", и выводить результат в последовательный порт.
Видно, что значение в ячейках с 0 по 3 правильно определилось как число с плавающей точкой, а начиная с 4-ой - как строка.
Появляющиеся значения ovf (переполнение) и nan (не число) говорят о том, что число не может быть корректно преобразовано в число с плавающей точкой. Если вы точно знаете, какого типа данные какие ячейки памяти занимают, то у вас не будет возникать проблем.

Очень удобная возможность - обращение к ячейкам памяти как к элементам массива EEPROM . В данном скетче в процедуре setup() мы сначала запишем данные в 4 первых байта, а в процедуре loop() ежеминутно будем считывать данные из всех ячеек и выводить их в последовательный порт.

Видео по теме

Совет 3: Как записать и прочитать флеш-память с помощью Arduino

В статье мы рассмотрим, как записывать во флеш-память и читать из флеш-памяти с помощью Arduino на примере микросхемы 25L8005.

Вам понадобится

  • - микросхема flash-памяти с поддержкой интерфейса SPI;
  • - переходник для памяти или панель с нулевым усилением (ZIF-панель);
  • - Arduino;
  • - компьютер;
  • - соединительные провода.

Инструкция

Сначала нам нужно сделать так, чтобы мы могли с лёгкостью подключиться к микросхеме. Для этого можно воспользоваться либо специальным переходником, к которому придётся припаять микросхему, либо (что предпочтительнее) использовать панель с нулевым усилением (т.н. панель ZIF).

Теперь соберём электрическую схему подключения микросхемы флеш-памяти к Arduino. Мы будем использовать для программирования памяти интерфейс SPI, поэтому подключимся к стандартным выводам:
- CS - цифровой пин 10,
- MOSI - цифровой пин 11,
- MISO - цифровой пин 12,
- SCK - цифровой пин 13.

Существует множество различных типов носителей данных на основе так называемой флеш-памяти. Мы пользуемся обычными флешками для передачи файлов друг-другу, micro-SD картами для увеличения свободного места в смартфонах, даже вместо старого доброго жесткого диска в современных ноутбуках используем SSD носители — ту же флеш-память. Флеш-память не имеет движущихся частей, в отличие от старинных дискет и более новых жестких дисков. Скорость чтения и записи такой памяти выше чем у всех прежних носителей, а энергопотребление — наоборот ниже. Другими словами, если мы хотим в наших электронных устройствах и роботах хранить какие-то данные, то рационально будет воспользоваться именно флеш-памятью. Зачем может понадобиться карта памяти? Например, для того, чтобы записывать на неё данные с различных датчиков нашего устройства. Кроме самих показаний датчиков, рационально еще записывать время съема этих показаний — это называется журналированием. Таким образом, подключив к Ардуино датчики температуры, влажности и давления, а также часы реального времени и карту памяти мы сможем сделать настоящую погодную станцию! Разберем как именно карта памяти подключается к Ардуино и каким образом осуществляется её запись и чтение.

1. Подключение модуля micro-SD карт к Ардуино

В этом уроке мы будем читать и записывать данные на micro-SD карту. В плане подключения в Ардуино, модуль micro-SD ничем не отличается от модуля для обычных SD карт. Модуль подключается к Ардуино по SPI шине, а значит нужно соединить уже знакомые по другим урокам контакты в стандартном порядке:
Модуль micro-SD карт GND VCC CS MOSI MISO SCK
Ардуино Уно GND +5V 4 11 12 13
Принципиальная схема
Внешний вид макета

2. Программа для чтения micro-SD карты

Чтобы проверить работу устройства, напишем простую программу, которая будет лишь считывать с карты служебную информацию: тип карты, тип файловой системы, размер первого раздела и список файлов на нём. #include #include Sd2Card card; SdVolume volume; SdFile root; const int chipSelect = 4; void setup() { Serial.begin(9600); Serial.print("\nInitializing SD card..."); if (!card.init(SPI_HALF_SPEED, chipSelect)) { // неверное подключение или карта неисправна Serial.println("initialization failed"); return; } else { // всё ок! Serial.println("Wiring is correct and a card is present."); } // считываем тип карты и выводим его в COM-порт 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"); } // инициализация файловой системы if (!volume.init(card)) { // неверная файловая система Serial.println("Could not find FAT16/FAT32 partition."); return; } // считываем тип и вычисляем размер первого раздела uint32_t volumesize; Serial.print("\nVolume type is FAT"); Serial.println(volume.fatType(), DEC); Serial.println(); volumesize = volume.blocksPerCluster(); // блоков на кластер volumesize *= volume.clusterCount(); // кластеров volumesize *= 512; // 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) { } Загружаем программу в Ардуино и открываем монитор COM-порта:
Если появилась подобная информация, значит с картой и модулем всё в порядке. Можно приступать к дальнейшей работе.

3. Программа для записи данных на micro-SD карту

Теперь попробуем создать новый файл на карте и записать туда простую фразу «Hello from robotclass». #include #include const int chipSelect = 4; void setup() { Serial.begin(9600); if (!SD.begin(chipSelect)) { Serial.println("Card failed, or not present"); return; } // строка, которую мы запишем в файл String dataString = "Hello from RobotClass"; // открываем файл, в который будет записана строка File dataFile = SD.open("test.txt", FILE_WRITE); if (dataFile) { // записываем строку в файл dataFile.println(dataString); dataFile.close(); Serial.println("Success!"); } else { // выводим ошибку если не удалось открыть файл Serial.println("error opening file"); } } void loop() { } Загружаем программу. Затем выключаем Ардуино, достаем микро-SD карту из модуля и проверяем на компьютере её содержимое. В корне карты должен появиться файл test.txt с нашей фразой «Hello from RobotClass». Примечание! Имя файла, которое указывается в функции open не должно содержать более 8 букв (не включая расширение).

4. Программа для чтения данных с micro-SD карты

Наконец, прочитаем файл test.txt и выведем в COM-порт текст из него. #include #include const int chipSelect = 4; void setup() { Serial.begin(9600); if(!SD.begin(chipSelect)){ Serial.println("initialization failed!"); return; } // открываем файл для чтения File myFile = SD.open("test.txt"); if (myFile) { // считываем все байты из файла и выводим их в COM-порт while (myFile.available()) { Serial.write(myFile.read()); } // закрываем файл myFile.close(); } else { // выводим ошибку если не удалось открыть файл Serial.println("error opening test.txt"); } } void loop() { } Загружаем программу и открываем монитор COM-порта. На экране должен появиться весь текст из файла test.txt

Заключение

В следующем уроке мы попробуем добавить в схему часы реального времени и датчик температуры. Оставив такое устройство на целый день мы сможем в итоге построить дневной график температуры.
просмотров