Постійна пам'ять, доступна користувачеві на самій «навороченной» платі Arduino Mega всього 4 кілобайти. Arduino Nano має всього 1 кілобайт пам'яті. Цього вистачить для запам'ятовування декількох змінних. А що якщо виникає завдання, в якій необхідно зберігати великі обсяги даних? Наприклад, історію зміни температури або телеметрію квадрокоптера? Ідеальне рішення проблеми - підключення до контролера SD карти. Ви отримуєте практично необмежений обсяг для зберігання будь-якої інформації. SD карту можна підключити до Arduino безпосередньо, припаявши дроти прямо до контактів карти. Однак, простіше і зручніше скористатися спеціальним модулем для роботи з SD картою. У статті розказано про підключення такого модуля до різних платам Arduino і роботі з самої SD картою. Замовити модуль у перевіреного мною продавця ви можете тут.
Модуль має дворядної гребінкою штирьковий контактів. Однак, для підключення використовуються всього 6 контактів. Робота з модулем здійснюється по інтерфейсу SPI. Ви могли помітити на платах Arduino невеликий роз'єм, що складається з 6 штирьків на лицьовій частині плати. Це і є SPI роз'єм. Правильне його назву - ICSP. Він є на більшості плат. Для підключення до цього роз'єму зручно використовувати дроти мама-мама. На деяких моделях (Mega2560, Nano, Uno) SPI Піни продубльовані на цифрових пінах плати. У таблиці нижче наведено відповідність SPI контактам цифрових висновків:
В Arduino Leonardo Піни SPI роз'єму не дубльовані на цифрові Піни і підключити модуль можна тільки до SPI роз'єму за наступною схемою:
ICSP роз'єм Arduino
При підключенні модуля до Arduino Nano за допомогою проводів мама-мама навіть макетна плата не знадобиться
Встановіть в модуль SD картки, відформатовані в файлову систему FAT32 або FAT16 і завантажте в плату наступний скетч: