При конструировании той или иной системы на основе аппаратной платформы Arduino может возникнуть задача сохранения данных для последующего анализа. Осуществить такую операцию можно при помощи SD или microSD карты и соответствующего модуля. Шилд для microSD карты был приобретен на Али всего за 1 доллар с доставкой. Рассматриваемое устройство продается под брендом RobotDyn [1]. Поставляется данный шилд в обычном антистатическом пакете.
Модуль имеет габаритные размеры 40 х 25 мм, массу 4,3 г, без microSD карты. На плате располагаются два светодиода зеленый – индикатор питания, синий загорается при работе с microSD картой.
На плате имеются четыре отверстия, диаметром 3 мм, что позволяет надежно закрепить модуль.
Рассматриваемый шилд имеет восемь выводов. Они имеют следующее назначение
- 5V – питание 5В,
- 3.3V – питание 3,3 В (данный контакт специфичен именно для шилда от RobotDyn),
- GND – общий, четыре контакта интерфейса SPI:
- CLK – SCK, D0 – MISO, D1 – MOSI, CS – выбор устройства,
- а также опциональный CD – обнаружение карты (может быть не подключен, данный контакт специфичен именно для шилда от RobotDyn).
Контакты интерфейса SPI [2-7] в случае использования платы Arduino UNO следует подключать к следующим выводам CS – D4, D0(MOSI) – D11, D1(MISO) – D12, CLK(SCK) – D13. Следует иметь в виду, что порт для подключения CS в различных проектах может отличаться [8-11].
В режиме ожидания модуль потребляет около 23 мкА при напряжении питания 5 В, при кратковременном обращении к карте ток возрастает до 1,8 мА, если осуществляется непрерывная запись на карту, то ток возрастает до 11 мА. При напряжении питания 3,3 В устройство не заработало.
Обзор и разборка детектора угарного газа
Задача подключения microSD карты является стандартной и для ее решения можно использовать библиотеку SD, которая прилагается к среде разработки Arduino IDE. В папке этой библиотеки имеется целый ряд примеров, раскрывающих различные нюансы взаимодействия с microSD картой. Самая простая программа CardInfo просто выводит информацию о установленной в разъем карте.
На рисунке выше результат работы CardInfo в случае отформатированной карты. Программа ReadWrite производит создание на microSD карте текстового файла и запись информации в него.
После работы ReadWrite программа CardInfo покажет, что на microSD карте появился файл TEST.TXT.
Программа Datalogger позволяет записывать данные с 0, 1 и 2 аналоговых портов в файл на microSD карте. Также эти данные передаются через последовательный порт. В качестве датчика в данном случае использован переменный резистор сопротивлением 10 кОм.
После работы Datalogger программа CardInfo покажет, что на microSD карте к файлу TEST.TXT. добавился файл DATALOGGER.TXT.
В общем, данный модуль позволяет очень серьезно расширить потенциальные возможности устройств на платформе Arduino, радикально решив проблему с «амнезией» при перерыве в электропитании, позволяя сохранять для последующего анализа данные о срабатывании датчиков на какой-либо мобильной платформе или работе датчиков умного дома.
Полезные ссылки
- robotdyn.ru/catalog/modules/memory/microsd_card_module.html
- arduinomaster.ru/datchiki-arduino/podklyuchenie-spi-arduino/
- avrbeginners.net/architecture/spi/spi.html
- robocraft.ru/blog/arduino/518.html
- arduino.ru/Reference/Library/SPI
- www.arduino.cc/en/Reference/SPI
- soltau.ru/index.php/arduino/item/382-interfejs-spi-i-arduino
- robotclass.ru/tutorials/arduin-read-write-micro-sd-card/
- all-arduino.ru/arduino-urok-15-sd-karta/
- arduinoplus.ru/podkluchaem-sd-kartu-k-nashemu-arduino/
- arduinomaster.ru/datchiki-arduino/podklyuchenie-sd-karty-k-arduino/
Специально для сайта 2 Схемы.ру , Denev.