







Arduino MEGA ADK R3
Арт. 13275
4,540 ₽
менее 10 шт.
Описание
Модуль Arduino MEGA ADK R3
- Микроконтроллер ATmega2560
- Тактовая частота: 16 МГц
- Flash память: 256 Кб, из которых 8 Кб использует загрузчик
- ОЗУ память: 8 Кб
- EEPROM память: 4 Кб
- Рабочее напряжение: 5 В
- Напряжение питания: 6 ~ 12 В
- Цифровые входы/выходы: 70
- ШИМ выходы: 15
- Аналоговые входы: 16
- Максимальный ток через каждый вход/выход: 40 мА, рекомендуемый: 20мА
- Максимальный ток для выхода 3.3 В: 50 мА
- Физическая кнопка сброса "Reset"
- USB-Host контроллер: MAX3421E
- USB-разъёмы:
- USB-B (питание, программирование)
- USB-A (внешние USB-устройства)
- Световая индикация: питания, обмена данными RX,TX и пользовательского вывода D13
- Размеры: 110 x 53 x 15 мм
- Вес: 36 г
Введение в Ардуино
ARDUINO - комплекс разработчика, состоящий из микроконтроллерной платы и программы-редактора на основе упрощённой версии языка С++ для написания пользовательского исполняемого кода, с возможностью последующей прошивки в контроллер.
ARDUINO можно использовать для разработки автономных устройств или для подключения к программам обработки на вашем компьютере. ARDUINO MEGA может зарекомендовать себя даже при создании 3D-принтеров или роботов.
Открытое программное обеспечение ARDUINO IDE, необходимое для прошивки контроллеров AVR, можно загрузить бесплатно уже сейчас (поддерживаются ос Windows, Linux и Mac OS).
Основные шаги в создании проектов
- Разработка проекта "на бумаге" на основе вашей идеи;
- Предварительная "черновая" сборка электрической схемы;
- Написание программного кода и его прошивка в микроконтроллер;
- Анализ полученного результата, при необходимости - отладка отдельных частей проекта;
- Сборка законченного варианта конструкции.
Первый взгляд на MEGA ADK
Сначала была UNO - первая! В тоже время, технический прогресс и творческая фантазия не стояли на месте. Создаваемые проекты ширились в размерах и возможностях, количество используемых в конструкции расширений неуклонно росло. Неустанные требования в увеличении доступных для пользователя выводов для коммутации с другими Arduino-совместимыми устройствами привело к появлению контроллера MEGA. Естественно, предназначенный для UNO чип ATmega328 был просто не в состоянии обрабатывать такое количество контактов. Поэтому, инженеры-разработчики нашли альтернативный вариант интегральной микросхемы, обладающей увеличенным объёмом доступной памяти и готовой справляться с новыми объёмами ввода/вывода информации, успешно реализовав в представленном модуле.
Говоря простым языком, контроллерная плата MEGA ADK является расширенной версией UNO, не ущемлённая в основном функционале прародительницы, а наоборот - расширившая возможности коммутации, и дополненная USB-функционалом.
Особенности
Arduino Mega ADK (Accessory Development Kit) - электронная плата, основанная на микроконтроллере ATmega2560, содержащая 70 цифровых выводов, доступных для входящих/исходящих данных (15 из которых могут использоваться как выходы ШИМ), 16 аналоговых входа, 4 линии интерфейса стандарта UART, 1 линию интерфейса IIC/I2C, 1 линию интерфейса SPI, кварцевый резонатор на 16 МГц, разъём USB, разъём питания, ICSP коннекторы и кнопку аппаратного сброса "RESET".
Основная "изюминка" MEGA ADK - интегрированный USB-Host контроллер, собранный на микросхеме MAX3421E. Чип позволяет пользователям подключать через USB-порт и организовывать обмен данными между Arduino и различным устройствами на базе ОС Android 3.1+, такими как телефоны или планшеты. А также подключать и взаимодействовать с фотокамерами, клавиатурами, мышками или игровыми манипуляторами (геймпадами) - Wiimote, PS3 и другими. У разработчиков проектов на Arduino появилась прекрасная возможность воплощать свои идеи в собственных приложениях, написанных для Android, научив их контролировать или управлять платами на Arduino.
Отличиями от прошлых ревизий стали несколько изменений в элементной базе и размещении контактов. Arduino MEGA ADK R3 теперь содержит два дополнительных вывода SDA и SCL (интерфейс IIC/I2C), расположенных около вывода AREF. Кроме того, в модуле имеется два новых вывода рядом с круглым разъёмом подключения источников питания. Первый из них "IOREF", о котором мы расскажем чуть ниже, и второй, зарезервированный для будущих целей.
Mega ADK имеет на борту два регулятора напряжения, преобразующие входное напряжение в постоянные 3.3 вольта и 5 вольт, линии которых выведены на отдельные силовые контакты платы. Регуляторы позволяют подключать многоцелевые модули, называемые "шилд", дополняющие ваши проекты. В большинстве вариантов, для своей работы любой шилд может требовать питание либо 3.3 вольта, либо 5 вольт, а иногда и более высокое напряжение, получаемое из внешних источников питания.
Плата ADK совместима с большинством полноразмерных модулей расширения, имеющих размер оригинальной UNO, под которую они и разрабатывались. Функциональные шилды с иными размерами без труда подключаются проводными соединениями.
Первостепенное назначение платы - обеспечение связи и взаимодействия между дополнительными функциональными модулями расширений или аналогичными контроллерными платами, которые без особого труда подключаются к модулю. Вот некоторые из них:
- датчики звука, капель и дождя, расстояния, обнаружения газов, температуры или освещённости;
- беспроводные радиопередатчики GSM/GPRS, RFid, WiFi и Bluetooth;
- символьные и графические дисплеи;
- сервомоторы;
- модули с кнопками или светодиодами;
- часы реального времени;
- Ethernet модули;
- модули с реле разнообразных конфигураций;
- картридеры SD и микро-SD карт памяти;
- MP3-проигрыватели, звуковые усилители, FM-приёмники;
- гироскопы, акселерометры, магнитометры и многие другие.
У MEGA ADK R3 нет своей операционной системы - доступность ресурсов полностью контролируется пользователем. Единственное программное обеспечение, которым обладает плата - "Загрузчик" - предварительно записано в интегральную микросхему ATmega2560. В его обязанности входит: инициализация системы, управление доступом к встроенной памяти при загрузке в микроконтроллер нового кода, а также запуск исполняемых программ.
В связующем звене, между USB-портом и центральным микроконтроллером, в ранних версиях был установлен устаревший по нынешним меркам ATmega8U2. Теперь с этой задачей успешно справляется абсолютно новый ATmega16U2, благодаря внедрению которого появилась возможность увеличились скорость работы системы.
Обзор платы, расположение компонентов
*картинка*
Память
- Энергонезависимая флеш-память объёмом 256 КБ, из которых 8 кБ выделено под загрузчик. Основная область для хранения исполняемого программного кода, записываемого в микроконтроллер при его прошивке;
- ОЗУ-память (SRAM) размером 8 КБ, предназначена для хранения переменных, создаваемых в процессе выполнения исполняемого пользовательского кода. ОЗУ-память зависит от питающего напряжения, при его отсутствии все данные удаляются;
- EEPROM-память объёмом 4 КБ. Относиться к разряду энергонезависимой памяти, доступной пользователю для хранения данных, независящих от основного кода. Доступ к памяти реализован в библиотеке EEPROM.
Питание
Подать питание плате MEGA ADK R3 можно проводным соединением через USB-порт или используя внешний источник питания. Определение и переключение на активный источник питания с самым высоким потенциалом происходит в автоматическом режиме.
К внешним (не USB) источникам относятся стационарные блоки питания, преобразующие переменное напряжение в постоянное, или батареи. Адаптеры питания могут подключаться к разъёму внешнего источника питания, имеющего размеры: внешний "минусовой" контакт 5,5мм, центральный штырьевой "плюсовой" контакт 2,1мм. Батареи можно соединять с выводами Vin (+) и GND (-).
Рекомендуемое производителем напряжение внешнего источника питания должно находится в интервале от 7 до 12 вольт. Питание платы напряжением менее 7 вольт может привести к нестабильной работы системы в целом. Питание с напряжением более 12 вольт неизбежно приведёт к перегреву электронных компонентов с последующим выходом из строя всего модуля.
Назначение выводов 8-контактной группы "Питание":
- VIN - входящее напряжение внешнего источника питания;
- 5V - исходящее напряжение, отрегулированное встроенным понижающим регулятором до 5 вольт. Основное рабочее напряжение всей цепи модуля. Используется для питания подключаемых внешних модулей;
- 3.3V - исходящее напряжение, отрегулированное встроенным понижающим регулятором до 3.3 вольт. Используется для питания подключаемых внешних модулей;
- GND - общий вывод, заземление;
- RESET - служит для управляемого аппаратного сброса микроконтроллера. Физическая кнопка "Reset" позволяет выполнить сброс вручную;
- IOREF - "информационный" вывод, соединённый с контактом 5V. Полноразмерные модули, установленные на плату и имеющие аналогичный ответный контакт, смогут определить рабочее напряжение контроллера, и, при необходимости, самостоятельно выбрать нужный им источник питания: 5 вольт, 3.3 вольта или дополнительный внешний.
- Крайний 8-й вывод не задействован. Возможно, ему определят назначение в новых версиях платы.
Примечание! Старайтесь не запускайте ваши проекты (Arduino) при недостаточном питании. Плата MEGA ADK R3 может самостоятельно перезагрузиться, если к ней подключаются модули с высоким энергопотреблением: серво, моторы, большие экранные модули. Лучшим решением будет подключение таких модулей к внешним источникам напряжения. Простого USB-питания может оказаться не достаточно, особенно, когда сервопривод работает под нагрузкой.
Примечание! Телефоны или планшеты, подключенные к MEGA ADK через разъём USB-Host, могут использовать получаемое от платы питание для подзарядки собственных аккумуляторов, создавая дополнительную нагрузку на энергосхему модуля. При запитывании MEGA ADK через USB-кабель, максимальный допустимый ток ограничен до 500мА, в равной степени доступный для самой платы и для внешнего устройства. Встроенный в электрическую цепь MEGA ADK регулятор напряжения, на который приходит питание от внешнего источника, способен пропускать через себя ток до 1500 миллиампер, из которых 750 миллиампер доступно для Android-устройства и самой платы Arduino, ещё 750 миллиампер отводится для подключаемых к MEGA ADK датчиков или сенсоров. Поэтому, для достижения максимальной возможности модуля, желательно подключать внешний источник питания, способный обеспечивать необходимый ток не менее 1500 миллиампер.
Вводы и выводы
Плата MEGA ADK R3 обладает цифровыми выводами (контакты 0-53, А0-А15), работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +5 вольт, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение 0 вольт, называемое низким сигналом. Каждый вывод имеет нагрузочный резистор (20-50 кОм), отключенный по умолчанию. Рекомендуемый ток отдельного вывода составляет 20 миллиампер, предельный ток - 40 миллиампер. Обращение к выводам в программном коде осуществляется операторами pinMode(), digitalWrite() и digitalRead().
Примечание! Избегайте превышения значения максимального тока, способного повредить микроконтроллер.
Некоторые выводы наделены аналоговым функционалом (А0-А15), позволяющим определять входящее напряжение в диапазоне от 0 до 5 вольт (по умолчанию), делящееся в цифровом соотношении на 1024 возможных значения (0..1023). В программном коде обращение к выводам осуществляется оператором analogRead(). Оператор analogReference() позволяет устанавливать границы измеряемого напряжения, возможные варианты:
- DEFAULT: стандартное опорное напряжение 5 вольт
- INTERNAL: встроенное опорное напряжение 1.1 вольта
- EXTERNAL: напряжение внешнего источника, подключенного к контакту AREF
Примечание! При подключенном напряжении на выводе AREF необходимо использовать только тип EXTERNAL. В противном случае присутствует риск повреждения ATmega328.
В качестве примера: опорное напряжение - 5 вольт, на входе аналогового контакта - 2.5 вольта. Результат сравнения = 512.
В добавок, MEGA 2560 R3 оснащена пятнадцатью специализированными выводами, позволяющие настраивать исходящее напряжение каждого контакта в отдельности. Напряжение выводов регулируется в диапазоне от 0 до 5 вольт. Принцип регулировки основан на цифровой широтно-импульсной модуляции (ШИМ) с градацией цифровых значений в интервале от 0 до 255. Обращение к выводам в программном коде осуществляется оператором analogWrite().
Специальные функции:
- Асинхронный последовательный интерфейс UART из 4х линий, выводы которого распределены попарно:
- RX0 - контакт 0 и TX0 - контакт 1 (подключены к RX,TX чипа ATmega16U2)
- RX1 - контакт 18 и TX1 - контакт 19
- RX2 - контакт 17 и TX2 - контакт 16
- RX3 - контакт 15 и TX3 - контакт 14
- Двунаправленный последовательный интерфейс TWI/IIC/I2C:
- SDA - контакт 20 и SCL - контакт 21
- SDA - контакт SDA и SCL - контакт SCL
- Последовательный периферийный интерфейс SPI:
- SS - контакт 53
- MISO - контакт 50
- MOSI - контакт 51
- SCK - контакт 52
- ШИМ: выводы 2-13, 44-46 с разрядностью 8-бит;
- Внешние прерывания:
- INT0 - контакт 21
- INT1 - контакт 20
- INT2 - контакт 19
- INT3 - контакт 18
- INT4 - контакт 2
- INT5 - контакт 3
- Светодиод L: отображает наличие сигнала высоко уровня (значение HIGH) для цифрового вывода 13. Гаснет при сигнале низкого уровня (значение LOW);
- AREF - опорное напряжение, устанавливаемое оператором analogReference();
Группа из 6-ти контактов - ICSP
Разъём ICSP (внутрисистемное последовательное программирование) разработан для непосредственного программирования центрального микроконтроллера ATmega2560 с помощью внешних программаторов (USB ASP, AVRISP STK500 или другой с поддержкой интерфейса SPI) без использования внутреннего загрузчика. Обмен данными организован протоколом STK500v2. Данный способ применяется в тех случаях, когда требуется полный объём доступной флэш-памяти, или же использование USB-соединения нецелесообразно или неудобно.
USB хост MAX3421E
Микросхема USB-контроллера MAX3421E соединена с Arduino интерфейсной шиной SPI и использует следующие выводы:
- Цифровые выводы: 7 (RST), 50 (MISO), 51 (MOSI), 52 (SCK). Пожалуйста, не используйте цифровой вывод 7 для прерываний, так как контакт задействован чипом MAX3421E.
- Дополнительные, не имеющие самостоятельных выводов на плате: PJ6 (INT_MAX), PJ3 (GP_MAX), PH7 (SS).
К сожалению, официальных библиотек, разработанных для MEGA ADK, на данный момент не существует. Воспользуйтесь прилагаемым списком примерных библиотек для USB-контроллера MAX3421E, расположенным в разделе "Бибилиотеки".
С информацией о подключении, настройке и процессе разработке, можно ознакомиться здесь.
Защита USB
Для защиты USB-порта в схему Arduino MEGA ADK встроен самовосстанавливающийся предохранитель, защищающий от нагрузочных сверхтоков и токов короткого замыкания. В случаях, когда от USB-порта плата получает ток более 500мА, предохранитель срабатывает и размыкает цепь, отключая общее питание MEGA ADK. Цепь снова замыкается, когда потребляемый ток будет снижен до порогового значения или устранена причина короткого замыкания.
Распиновка (цоколёвка) платы MEGA ADK R3
*картинка*
Первое подключение
Модуль ADK R3 имеет все необходимые компоненты для подключения, достаточно соединить его USB-кабелем с компьютером. На плате загорится зеленый светодиод "ON", информирующий вас о том, что MEGA ADK R3 подключена к питанию. Необходимый драйвер самостоятельно установится, после чего будет создан виртуальный COM-порт для обращения к модулю. На экране вы увидите сообщение
*картинка*
Теперь вы можете приступать к программированию контроллера ATmega2560.
Программирование
Arduino MEGA ADK, ровно как и большинство плат, входящих в семейство ARDUINO, доступно программировать следующими способами:
• С помощью уже установленной вами оболочки программирования ARDUINO IDE в паре с USB-подключением.
• Подключив к плате внешние программаторы через интерфейс SPI.
Любая программа, написанная для ARDUINO, называется "скетч". Прежде, чем вы загрузите скетч, необходимо провести небольшую настройку редактора:
• В меню "Инструменты (Tools) / Плата (Boards)" панели управления редактором выберите ваше устройство: Arduino Mega ADK
• Указываем созданный при подключении COM-порт. В ОС Windows порты могут быть COM2, COM3 и т.д. На ОС MAC наименование порта может выглядеть как /dev/tty.usbserial-A6006hSc. Выбираем "Инструменты (Tools) / Порт (Port)" и выделяем COM...
*картинка*
Все настройки произведены. Теперь вы можете загружать скетч в контроллер Atmega2560. После нажатия кнопки "Загрузить" на плате замигают светодиоды RX и TX, показывающие передачу данных, а на экране компьютера появиться сообщение "Загрузка завершена" (Done Uploading). Ваша MEGA ADK R3 приступит к выполнению программного кода.
Программное обеспечение
- adk_release_20110512.zip - датирована 12.05.2011г. Архив содержит исходные коды: DemoKit приложения для Android, DemoKit прошивки для Arduino, библиотеки Open Accesory Protocol и USB Host
- adk_release_20120606.zip - датирована 06.06.2012г. Архив содержит исходные коды: DemoKit приложения для Android, DemoKit прошивки для Arduino, библиотеки Open Accesory Protocol и USB Host
- USB_Host_Shield_2.0.zip - Архив библиотеки содержит:
- USB ядро для устройств, основанных на MAX3421E;
- Поддержка HID-устройств, FTDI, ADK, ACM, PL2303;
- Поддержка Bluetooth HID-устройств;
- Поддержка устройств хранения информации (жесткие диски и флэшки) MASS STORAGE;
- Поддержка SPP-связи;
- Поддержка контроллеров PS4, PS3, Wii, XBOX, XBOX360, XBOX ONE, PSBuzz (мыши, клавиатуры);
- Поддержка MIDI