Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства
- Название:Изучаем Arduino: инструметы и методы технического волшебства
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3585-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание
Для радиолюбителей
Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Хранить данные на SD-карте будем в CSV-файлах. Файлы этого формата легко создать, считать и проанализировать в различных приложениях, что хорошо подходит для задач регистрации информации. Стандартный CSV-файл выглядит примерно так:
Date,Time,Valuel,Value2
2013-05-15,12:00,125,255
2013-05-15,12:30,100,200
2013-05-15,13:00,110,215
- 272 -
Массивы данных начинаются с новой строки, столбцы разделяются запятыми. Так как запятые служат разделителем, основным требованием для данных является отсутствие в них запятых. Кроме того, каждая строка должна, как правило, иметь одинаковое число элементов. Если приведенный файл открыть в программе Excel на компьютере, то он будет выглядеть, как показано в табл. 13.1.
Таблица 13.1. Просмотр CSV-файла в программе Excel
Поскольку CSV-файлы являются простыми текстовыми файлами, записывать в них данные можно с помощью знакомых нам команд print() и println(). С помощью Arduino можно легко проанализировать CSV -файлы, считывая их по строкам и отделяя нужную информацию от разделителей.
Перед тем как начать запись данных с Arduino, необходимо определиться с SD-картой. Вид SD-карты зависит от SD-адаптера, который вы будете использовать.
Существуют полноразмерные SD-карты и microSD. Большинство microSD-карт поставляется с адаптером, который позволяет подключить их к считывателю стандартных SD-карт. Для выполнения упражнений из этой главы вам потребуется картридер для компьютера (внешний или встроенный).
Большинство новых SD-карт заранее отформатировано и готово к использованию с Arduino. Если на вашей карте была записана какая-нибудь информация, необходимо ее отформатировать в FAT16 или FAT32. Карты объемом до 2 Гбайт следует отформатировать в FAT16, карты с большим объемом памяти- в FAT32. В примерах этой главы мы применяем microSD-карту, отформатированную в FАТ16. Обратите внимание, что при форматировании карты удаляется вся имеющаяся на ней информация, но при этом гарантируется, что карта готова для взаимодействия с Arduino. Если у вас новая карта, следующие шаги можно пропустить и вернуться к ним только при возникновении проблем с доступом к карте из Arduino.
Форматировать SD-карту в Windows легко:
1. Вставьте SD-карту в картридер. Откройте окно Computer (Мой компьютер) (рис. 13.1 ).
2. Щелкните правой кнопкой мыши по значку SD-карты ( она может иметь другое имя) и выберите опцию Format (рис. 13.2). Появится окно с вариантами форматирования карты (рис. 13.3).
3. Выберите тип файловой системы (FAT для карт 2 Гбайт и меньше, FAT32 для карт большего объема), оставьте размер кластера по умолчанию и задайте метку
- 273 -

Рис. 13.1. SD-карта в окне Computer
тома (я выбрал LOG, но вы можете выбрать любую). На рис. 13.3 изображена конфигурация форматирования для карты 2 Гбайт.
4. Нажмите кнопку Start, чтобы отформатировать карту памяти.
На компьютерах с ОС Mac процесс также прост:
1. Используйте команду Finder, чтобы найти и открыть приложение Disk Utility.
2. Нажмите на вкладку SDcard в левой панели и откройте вкладку Erase. Выберите пункт MS-DOS (FAT) для формата.
3. Нажмите кнопку Erase. Система отформатирует карту как FАТ16, независимо от ее емкости (в Mac нельзя отформатировать карту как FAT32).
В Linux можно отформатировать SD-карту из терминала. Большинство дистрибутивов Linux будет монтировать карту автоматически при ее вставке:
1. Вставьте карту, откроется всплывающее окно, отображающее карту.
2. Откройте терминал и введите команду df, чтобы получить список смонтироваых устройств. Результат должен выглядеть так, как на рис. 13.4.
Последняя запись должна относиться к SD-карте. На моей системе она была смонтирована как /ctev /mmcblkOp1, но у вас может отличаться.
- 274 -

Рис. 13.2. Выбор опции форматирования SD-карты

Рис. 13.3. Окно опций форматирования
- 275 -

Рис. 13.4. Список смонтированных устройств
3. Прежде чем форматировать SD-карту, необходимо ее отмонтировать с помощью команды umount. Аргументом команды будет название вашей SD-карты (рис. 13.5).

Рис. 13.5. Отмонтирование SD-карты в Linux
4. Форматируем SD-карту с помощью команды mkdosfs. Возможно, вам придется выполнить команду с правами привилегированного пользователя ( с помощью команды sudo). Используем флаг -F, чтобы указать файловую систему FAT. Вы можете включить опции 16 или 32, чтобы выбрать FAT16 или FAT32. Отформа-
- 276 -
тировать карту, которая была смонтирована как /dev/mmcblkOp1, можно командой sudo mkdosfs -F 16 /dev/mmcblkOp1 (рис. 13.6).
Ваша SD-карта отформатирована и готова к работе! Приступаем к взаимодействию с SD-картой через плату SD card shield.

Рис. 13.6. Форматирование SD-карты в Linux
13.2. Взаимодействие Arduino с SD-картой
Для SD-карт, как и для радиомодулей ХВее, которые мы рассмотрели в главе 11, требуется питание 3,3 В. Поэтому подключать SD-карту необходимо через переходник, который преобразует логические уровни и напряжение питания для SD-карты. Кроме того, связь с SD-картой возможна по интерфейсу SPI, описанному в главе 9. Arduino IDE поставляется с удобной библиотекой SD, реализующей функции низкого уровня и позволяющей легко читать и записывать файлы на SD-карту.
Есть множество плат расширения (переходников) для подключения SD-карт к Arduino. Все рассмотреть в книге невозможно, опишем некоторые из популярных, указав их достоинства и недостатки.
Общие черты всех переходников SD-карт:
• подключаются к плате Arduino по интерфейсу SPI, через 6 контактов ICSP платы Arduino или к контактам цифровых выводов (11, 12 и 13 на Uno или 50, 51 и 52 на Mega);
- 277 -
• имеют вход выбора (CS), который может быть контактом по умолчанию (53 на Mega, 10 на других платах Arduino );
• подают питание 3,3 В на SD-карту и согласуют логические уровни.
Вот список наиболее распространенных плат расширения для SD-карт:
• Cooking Hacks Micro SD shield (http://www.exploringarduino.com/parts/cooking-hacks-SD-shield) (рис. 13. 7) используется для иллюстрации примеров этой главы. Это самый маленький переходник из рассматриваемых нами, и его можно подключить либо к цифровым контактам (8-13 на Uno ), либо к 6-контактному ICSP на Arduino. При подключении к контактам 8-13 вход выбора CS соединен с контактом 10. При подключении к разъему ICSP вход CS можно соединить с любым контактом Arduino. Это полезно, если контакт 10 платы Arduino занят. Переходник поставляется с SD-картой 2 Гбайт.
Читать дальшеИнтервал:
Закладка: