Arduino Mega 2560 — это расширенная версия Arduino Uno. Платформа выполнена на базе более продвинутого чипа ATmega2560, имеет больше контактов и большее количество аппаратных serial-портов для взаимодействия с компьютером и другими устройствами. Это самая последняя модель: Arduino Mega 2560 Rev3, пришедшая на смену предыдущим Mega 2560 и Mega 1280.
На плате предусмотрено всё необходимое для удобной работы с микроконтроллером: 54 цифровых входа/выхода, 16 аналоговых входов, разъём для программирования USB, внешний разъём питания и кнопка сброса.
Питание
Arduino Mega может получать питание от USB-порта или внешнего источника. Источник питания выбирается автоматически.
Внешнее питание (не по USB) может подаваться от блока питания или батареи. Блок питания подключается к 5.5×2.1мм разъему на плате, который имеет центральный плюсовой вывод. Батарейное питание можно подключать к выводам GND и VIN разъема питания POWER.
Плата может работать от внешнего источника напряжения в диапазоне от 6 до 20 В. При напряжении источника питания менее 7 В, на 5 вольтовом выводе может быть меньше 5 В и плата может работать нестабильно. Если напряжение внешнего источника превышает 12 В, регулятор напряжения может перегреться и вывести плату из строя. Рекомендованный диапазон напряжения питания 7 – 12 В.
На Arduino Mega доступны следующие контакты для доступа к питанию:
- Vin: Входное напряжение платы Arduino при использовании внешнего источника (если отсутствует напряжение 5 В на USB-соединении или от другого источника питания). Можно подавать питание на этот вывод, или же, если питание подается на 5.5×2.1мм разъем, то можно с этого вывода получить к питающему входному напряжению.
- 5V: Напряжение на этих выводах регулируется встроенным в плату регулятором напряжения. Плата может быть запитана либо через азъем питания (7 – 12 В), через USB-подключение (5 В), или же через вывод VIN (7 – 12 В) на плате. Подача питания через выводы 5 В или 3.3 В обходит регулятор и может привести к выходу платы из строя. Так делать не рекомендуется.
- 3.3V: Напряжение 3.3 В формируется при помощи встроенного в плату регулятора. Максимальный ток потребления не должен превышать 50 мА.
- GND: — Вывод земли.
- IOREF: — Этот вывод обеспечивает опорное напряжение, с которым работает микроконтроллер. Для правильной конфигурации внешних плат, можно считывать напряжение с этого вывода и выбирать соответсвующий источник питания или включать преобразователи напряжений для работы с 5 В или 3.3 В.
Память
Микроконтроллер ATmega2560 имеет: 256 КБ флеш-памяти для хранения кода программы (4 КБ используется для хранения загрузчика), 8 КБ ОЗУ и 4 КБ EEPROM.
Ввод / вывод
Каждый из 54 цифровых выводов Mega, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
- Последовательная шина: 0 (RX) и 1 (TX); Последовательная шина 1: 19 (RX) и 18 (TX); Последовательная шина 2: 17 (RX) и 16 (TX); Последовательная шина 3: 15 (RX) и 14 (TX): Выводы используются для получения (RX) и передачи (TX) данных TTL. Выводы 0 и 1 подключены к соответствующим выводам микросхемы последовательной шины.
- Внешнее прерывание: 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3), и 21 (прерывание 2): Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения.
- PWM: 2 до 13 и 44-46: Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
- SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS): Посредством данных выводов осуществляется связь SPI, например, используя библиотеку SPI. Также выводы SPI могут быть выведены на блоке ICSP, который совместим с платформами Uno, Duemilanove и Diecimila.
- LED: 13: Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
- I2C: 20 (SDA) и 21 (SCL): Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring). Расположение выводов на платформе Mega не соответствует расположению Duemilanove или Diecimila.
На платформе Mega2560 имеется 16 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции analogReference().
Дополнительная пара выводов платформы:
- AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
- Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Взаимодействие
На платформе Arduino Mega2560 установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega2560 поддерживает 4 порта последовательной передачи данных UART для TTL. Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Mega2560.
ATmega2560 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится на сайте Wiring. Для связи по SPI, используется библиотека SPI.
Защита USB
В Arduino Mega2560 встроена перезагружаемая плавкая вставка, защищающая порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель автоматически прерывает обмен данных при прохождении тока более 500 мА через USB порт.