К содержимому
  1. Главная
  2. Блог
  3. Как подключить шилд ArduCAM к MEGA 2560

Как подключить шилд ArduCAM к MEGA 2560

12 июня 2013 · По материалам Arducam

Начинающие пользователи Arduino часто сталкиваются с несовместимостью плат UNO и MEGA. Эти платы действительно в чём-то несовместимы: например, у UNO выводы SPI — 10, 11, 12, 13, а I2C — A4, A5, тогда как у Mega выводы SPI — 50, 51, 52, 53, а I2C — 20, 21. При переходе от версии R0 к R3 в платы UNO и MEGA внесли изменения, чтобы интерфейс I2C стал совместимым.

Шилд ArduCAM использует аппаратный интерфейс I2C: на плате UNO это выводы A4 (SDA) и A5 (SCL), на MEGA — 20 (SDA) и 21 (SCL). В Arduino UNO R3 и MEGA2560 R3 добавлены отдельные выводы для интерфейса I2C, а в версии R0 их нет. Если у вас MEGA 2560 версии R0 или R2, переподключите линии I2C проводами и внесите изменения в скетч.

Переподключение I2C на Mega2560, фото 1
Переподключение I2C на Mega2560, фото 2

Измените скетч так:

void Setup()
{
  ....
  pinMode(A4, INPUT);
  pinMode(A5, INPUT);
  ...
}

Для чтения и записи карт SD/TF шилд ArduCAM использует аппаратный интерфейс SPI: на плате UNO это выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), а на MEGA2560 — 53 (SS), 51 (MOSI), 50 (MISO), 52 (SCK). Поэтому при работе шилда ArduCAM с платой MEGA нужен программный SPI. Внесите следующие изменения:

Откройте файл …\Arduino\libraries\SD\utility\Sd2Card.h и замените #define MEGA_SOFT_SPI 0 на #define MEGA_SOFT_SPI 1. Затем добавьте pinMode(53, OUTPUT); в функцию Setup().

Ещё по теме

Запросить цену

Укажите количество — пришлём коммерческое предложение.