Модуль MicroSD: подключение к Arduino, запись и чтение данных
Модуль MicroSD — простой и надёжный способ хранить данные на Arduino: показания датчиков, логи, графики, движения серво, статистику, координаты GPS, аудио, настройки. Подключение по SPI. Библиотека SD встроена в Arduino IDE. Запись/чтение файлов .txt, .csv. Формирование файлов по дням/часам. Вывод в Excel, OpenHAB, Serial. Примеры: DHT11 + DS3231 (температура/влажность), 2 потенциометра + 2 серво (запись/воспроизведение движений), разбиение по дням. Минимум деталей, максимум возможностей. Умный дом, логгер, робототехника своими руками.
Зачем нужен модуль MicroSD на Arduino
Arduino теряет данные при отключении питания. MicroSD — энергонезависимая память. Хранит: показания DHT11/DS18B20, логи времени, движения серво, GPS-треки, настройки, аудио, статистику. Формат .txt/.csv открывается в Excel. Разбиение файлов по дням/часам/месяцам. Перенос данных на ПК без проблем. Объём до 32 ГБ (FAT32). Скорость 1–5 МБ/с. Цена 100–300 руб. Применение: логгер климата, GPS-трекер, робот, даталоггер, умный дом, сейсмограф, метеостанция. Проект для новичков и профи.
Компоненты для работы с MicroSD
- Arduino Uno/Nano
- Модуль MicroSD-адаптер (SPI)
- MicroSD карта (≤32 ГБ, FAT32)
- Датчик DHT11/DS3231 (пример)
- 2 потенциометра + 2 серво (пример)
- Провода, макетная плата
- БП 5В 1А+
Подключение MicroSD к Arduino
Интерфейс SPI (общий для многих устройств):
- CS (Chip Select) → D10 (SS)
- MOSI → D11
- MISO → D12
- SCK → D13
- VCC → 5В (или 3.3В)
- GND → GND
Конденсатор 100 мкФ на VCC. SPI — параллельное подключение (разные CS). Библиотека SD управляет SS автоматически.
Библиотека SD
#include
Пример 1: запись температуры и влажности
DHT11 + DS3231. Запись каждые 10 сек: время, температура, влажность. Файл day_YYYYMMDD.txt. Разбиение по дням. Чтение в Excel. График температуры.
Пример 2: запись и воспроизведение движений серво
2 потенциометра → 2 серво. Запись: время + позиция. Чтение: воспроизведение движений. Файл movements.txt. Реальное время воспроизведения.
Разбиение файлов по дням
DS3231 даёт дату. Файл: data_YYYYMMDD.txt. Новый день — новый файл. Автоматическое переключение. Статистика за месяц/год.
Вывод в Excel в реальном времени
Serial → CSV. Arduino → Serial.print. Excel Data → From Text/CSV. Автообновление через VBA. График в Excel.
Заключение
Модуль MicroSD — мощный инструмент для Arduino. Запись/чтение данных, логи, статистика, воспроизведение. DHT11, DS3231, серво, потенциометры. Excel, OpenHAB. Легко, надёжно, без подписок.
FAQ — Модуль MicroSD Arduino
SD не определяется?
CS D10 правильный. Карта FAT32 ≤32 ГБ. SD.begin(CS_PIN). Конденсатор 100 мкФ. SPI пины D11–D13.
Файлы не создаются?
SD.open(«file.txt», FILE_WRITE). file.close(). Карта отформатирована. SD.begin(). Логи Serial.
Данные теряются?
file.close() после записи. Бесперебойное питание. SD-карта качественная.
Разбиение по дням?
DS3231 → дата. Имя файла: «data_» + year + month + day + «.txt». Новый день — новый файл.
Excel график?
CSV → Data → From Text/CSV. Столбцы: время, температура. Insert → Chart. VBA для автообновления.
Серво воспроизведение?
Запись: millis + позиция. Чтение: delay по времени. Servo.write(pos).
OpenHAB интеграция?
ESP8266 + MQTT. Топики /data. Items Number. Графики, уведомления.