Arduino sd card подключение

Arduino sd card подключение

Опубликовано 14.07.2013 12:57:00

Иногда в проектах требуется сохранить большое количество информации. В данной статье мы рассмотрим один из вариантов решения данной задачи — SD card модуль. Разберем стандартные примеры-основы, а в конце перейдем к считыванию показаний с модуля датчика температуры и влажности DHT11 и их записи на карту.

Компоненты для повторения (купить в Китае):

SD card модуль найдет свое применение в проектах где вам недостаточно объема EEPROM (энергонезависимая память), либо необходимо сохранять данные получаемые с различных датчиков на внешний носитель для последующей обработки.

Подключение сигнальных линий и земли к Arduino производится следующим образом:

SD Card модуль Arduino на базе 328
CS D4
MOSI D11
MISO D12
SCK D13
GND GND

Касательно питания, на плате есть разъемы для подключения напряжения на 5 вольт и и 3.3

Непосредственно сама SD карта питается от 3.3 вольт. Плюсом данного модуля является установленный стабилизатор на необходимые 3.3 вольта. Так что если у вас под рукой нет 3.3вольт, то подавайте питание на разъем 5 вольт и все будет работать. На иллюстрации модуль запитан как раз таки от +5V.

Приведем простой пример работы с этим модулем в среде Arduino, с использованием стандартной библиотеки SD.h.

Создадим на SD карте файл с небольшим текстом и попробуем скопировать его в другой, посредством ардуино. Важно помнить, что одновременно может быть открыт только 1 файл.

Теперь перейдем к более сложному примеру, который может найти применение в реальной жизни, а именно подключение данных с датчика и запись их в текстовый файл. В качестве датчика используем наш любимый датчик температуры и влажности DHT11. Датчик присоединяется к цифровому пину 7.
SD card модуль подключение к Arduino

Читайте также:  Вакуумное хранение продуктов с насосом

P.S. Несмотря на то, что скорость записи на SD карту не так высока в сравнении с записью в EEPROM и тем более в обычную энергозависимую память контроллера, данный модуль бесспорно расширяет потенциал Arduino, позволяя автономно хранить огромные объемы данных, а также переносить их на обычной флешке.

Купить в России SD card модуль

А как же комментарии?

В данный момент еще реализованы не все элементы нашего сообщества. Мы активно работаем над ним и в ближайшее время возможность комментирования статей будет добавлена.

Сегодня речь пойдет об использовании SD и micro SD карт в Arduino. Мы разберемся как можно подключить SD карты к Ардуино, как записывать и считывать информацию. Использование дополнительной памяти может быть очень полезно во многих проектах. Если вы не знаете что такое SPI, I2C и аналоговые выводы, то советую вам посмотреть прошлые уроки и разобраться с этими интерфейсами связи Ардуино.

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

В этом уроке используется:

Отличный набор для начинающих: Купить
Arduino Uno: Купить
Инфракрасный датчик расстояния: Купить
Плата расширения для считывания micro SD карт c SPI интерфейсом: Купить
Шилд для Arduino Uno: Купить
Карты micro SD: Купить
Датчики освещенности: Купить
Датчик температуры I2C: Купить

Подключение sd карт к Arduino

Модуль и шилд для считывания sd карт подключается по интерфейсу SPI. Шилд просто вставляется в Arduino Uno сверху. А плата подключается к пинам D10 -> CS, D11 -> MOSI, D12 -> MISO, D13 -> SCLK, 5V -> VIN (если на плате есть стабилизатор, если нет то 3,3V), GND -> GND. Вот наглядная схема:

Читайте также:  110 Квадратных метров это сколько

Подключение sd Arduino

Обратите внимание на напряжение питания платы. Если на плате есть стабилизатор питания, то можете подавать на нее 5 В. Если же стабилизатора нет, то необходимо подвести 3.3 В. В остальном все так же как мы разбирали в уроке по SPI интерфейсу. Теперь перейдем к программной части.

На днях мне пришёл заказанный модуль для работы с SD-картами. В этом посте я расскажу, как усовершенствовать, сделанный нами в прошлом, датчик для измерения температуры, а именно – мы избавим себя от надобности копирования данных из консоли вывода в Excel для дальнейшего анализа, заставив Arduino сохранять данные на SD-карту в виде csv-файла. Данные будут записываться в файл в два столбца – в первом будут единицы времени (или просто номер строки), а во втором значение напряжения на термисторе или ином датчике, которое, как Вы помните, пропорционально температуре.

Необходимые компоненты

  • Необходимые компоненты здесь те же, что и в посте про измеритель температуры
  • Модуль для работы с SD-картами

Собираем схему

Описывать схему сборки измерителя температуры я не буду, если Вы забыли или не знаете как его собирать – обратитесь к посту, ссылка на который указана выше.

Рассмотрим схему подключения SD модуля. Каждый модуль имеет следующие контакты: GND, 5V, 3V (3.3V), CS, MOSI, SCLK (SCK), MISO, GND. Подключим некоторые из этих контактов к следующим контактам Arduino:

  • GND – к земле с Arduino;
  • 5V разъём к 5 вольтовому разъёму Arduino. (Аналогично 3.3V) Подключать оба разъёма одновременно – бессмысленно, я подключаю только 5V;
  • CS – к 4 разъёму;
  • MOSI – к 11 разъёму;
  • SCLK (SCK) – к 13 разъёму;
  • MISO – к 12 разъёму.
Читайте также:  Ведомость основных комплектов рабочих чертежей гост

На этом наше подключение окончено. Для подключения можете использовать макетную плату – просто втыкаете туда SD модуль и в правильном порядке протягиваете провода от соответствующих дорожек к нужным разъёмам.

Подготавливаем SD-карту

SD модуль работает только с SD картами, отформатированными под файловую систему FAT16 или FAT32. Карту необходимо заранее отформатировать на компьютере. БУДЬТЕ ВНИМАТЕЛЬНЫ! При форматировании все данные, находящиеся на носителе, будут уничтожены! Не забудьте переписать их в другое место перед форматированием!

Программируем Arduino

Загружаем наш скетч в Arduino, запускаем консоль (ctrl+shift+M) в среде Arduino и видим на экране каждую секунду две пары значений – номер строки (или же время) и значение напряжение, соответствующее данной температуре. Подождите, например, 10 секунд и отключите питание от Arduino. Извлеките карточку и вставьте её в компьютер. На карте у вас будет файл data.csv, открыв который в Excel вы увидите 2 столбика значений, что и в консоли Arduino. Теперь вы можете построить график или рассчитать среднее значение температуры в вашей комнате за какой-то промежуток времени.

На этом всё, задавайте свои вопросы мне в комментариях к этому посту, до скорых встреч!

Ссылка на основную публикацию
100 Квт какой нужен автомат
Расчеты электропроводки выполняются еще на стадии проектирования. Прежде всего рассчитывается сила тока в цепях, исходя из этого подбираются автоматические защитные...
Adblock detector