Arduino:Продукты/Продукты Arduino/Плата Arduino Mega
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
![]() |
Черновик |
Arduino Mega [1]
![](/ruwiki/images/3/35/ArduinoMega_10.jpg)
Arduino Mega – это микроконтроллерная плата на базе чипа ATmega1280 (даташит). У нее 54 цифровых I/O контакта (из которых 14 можно использовать для выдачи ШИМ), 16 входных аналоговых контактов, 4 UART (аппаратных последовательных порта), кристаллический тактовый генератор на 16 МГц, USB-соединение, разъем для питания, ICSP-гребешок и кнопка сброса. Она содержит все необходимое для поддержки микроконтроллера; чтобы начать, просто подключите ее к компьютеру при помощи USB-кабеля или запитайте от адаптера, конвертирующего переменный ток в постоянный, или от батареи. Arduino Mega совместима с большинством «шилдов», разработанных для Arduino Duemilanove и Diecimila.
Документация
Технические характеристики
- Микроконтроллер – Микроконтроллер::ATmega1280
- Рабочее напряжение – Рабочее напряжение::5 вольт
- Входное напряжение (рекомендуемое) – Входное напряжение (рекомендуемое)::7-12 вольт
- Входное напряжение (лимит) – Входное напряжение (лимит)::6-20 вольт
- Цифровые I/O контакты – Цифровые I/O контакты::54 шт. (из них 15 можно использовать для выдачи ШИМ)
- Входные аналоговые контакты – Входные аналоговые контакты::16 шт.
- Максимальная сила тока на один I/O контакт – Максимальная сила тока на один I/O контакт::40 миллиампер
- Максимальная сила тока на контакт 3.3V – Максимальная сила тока на контакт 3.3V::50 миллиампер
- Flash-память – Flash-память::128 Кб (из которых 4 Кб используются загрузчиком)
- SRAM – SRAM ::8 Кб
- EEPROM – EEPROM ::4 Кб
- Тактовая частота – Тактовая частота::16 МГц
Питание
Arduino Mega можно питать либо от USB-соединения, либо от внешнего источника питания. Источник питания выбирается автоматически.
Внешнее (не USB) питание может идти либо от адаптера, конвертирующего переменный ток в постоянный, либо от батареи. Адаптер подключается к разъему для питания на плате при помощи 2,1-миллиметрового коннектора с центральным положительным контактом. Провода от батареи подключаются к контактам Gnd и Vin на коннекторе POWER.
Плата можно работать на напряжении от 6 до 20 вольт. Впрочем, если подать на плату меньше 7 вольт, контакт 5V может получить недостаточно питания, из-за чего плата начнет работать нестабильно. А если подать на Mega больше 12 вольт, регулятор напряжения может перегреться и повредить плату. Поэтому рекомендуется питать плату напряжением в диапазоне от 7 до 12 вольт.
Контакты для питания на Mega:
- VIN – входное напряжение при использовании внешнего источника питания (в противовес 5 вольтам, идущим от USB-соединения или другого регулированного источника питания). Этот контакт можно использовать по-разному: можно подавать через него питание на плату или брать от него питание, если напряжение на плату подается через контакт для питания.
- 5V – регулированный источник питания, используемый для питания микроконтроллера и других компонентов платы. Оно может идти либо от USB-соединения, либо от контакта VIN через регулятор напряжения, либо от другого регулированного источника питания.
- 3V3 – напряжение в 3,3 вольта, идущее от встроенного чипа FTDI. Максимальная сила тока, которую можно тянуть отсюда, составляет 50 миллиампер.
- GND – контакты для «земли».
Память
Чип ATmega1280 имеет 128 Кб flash-памяти для хранения кода (из них 4 Кб используются загрузчиком), 8 Кб памяти типа SRAM и 4 Кб памяти типа EEPROM. Запись и считывание с этой памяти осуществляется при помощи библиотеки EEPROM.
Входные и выходные контакты
Каждый из 54 цифровых I/O контактов Arduino Mega можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode(), digitalRead() и digitalWrite(). Они работают на 5 вольтах. Каждый из этих контактов может получать/отдавать не более 40 миллиампер и имеет встроенный подтягивающий (по умолчанию отключен) резистор номиналом 20-50 кОм. Кроме того, некоторые контакты имеют специальные функции:
- Последовательная передача данных: класс Serial – контакты 0 (RX) и 1 (TX), класс Serial1 – контакты 19 (RX) и 18 (TX), класс Serial2 – контакты 17 (RX) и 16 (TX), класс Serial3 – контакты 15 (RX) и 14 (TX). Используются для приема (RX) и отправки (TX) последовательных TTL-данных. Контакты 0 и 1 подключены к соответствующим контактам на чипе FTDI, который конвертирует USB-данные в TTL-данные.
- Внешние прерывания: контакты 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2). Эти контакты можно настроить на запуск прерывания при переключении на значение LOW, при убывающем/возрастающем фронте импульса или при изменении значения. Более подробно читайте в статье о функции attachInterrupt().
- ШИМ: контакты с 2 по 13, а также с 44 по 46. Обеспечивают выдачу 8-битной ШИМ при помощи функции analogWrite().
- Интерфейс SPI: контакты 50 (MISO), 51 (MOSI), 52 (SCK) и 53 (SS). Эти контакты поддерживают коммуникацию типа SPI, которая осуществляется при помощи библиотеки SPI. Контакты шины SPI выведены на ICSP-гребешок, который физически совместим с платами Duemilanove и Diecimila.
- Встроенный светодиод: подключен к цифровому контакту 13. Если подать на него значение HIGH, этот светодиод включится, а если LOW, то выключится.
- Интерфейс I2C: контакты 20 (SDA) и 21 (SCL). Поддерживают коммуникацию типа I2C (TWI) при помощи библиотеки Wire. Имейте в виду, что эти контакты не совместимы с I2C-контактами на Duemilanove и Diecimila.
Arduino Mega также имеет 16 входных аналоговых контактов, каждый из которых поддерживает 10-битное разрешение (т.е. 1204 разных значения). По умолчанию вольтовый диапазон в них составляет от «земли» до 5 вольт, однако верхнюю границу этого диапазона можно изменить при помощи контакта AREF и функции analogReference().
Также на Mega есть еще несколько специальных контактов:
- AREF – эталонное напряжение для входных аналоговых контактов. Используется вместе с функцией analogReference().
- Reset – если подать на эту линию LOW, это сбросит микроконтроллер. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, потому что подключение «шилда» блокирует кнопку сброса на самой плате.
Коммуникация
Arduino Mega имеет несколько средств для коммуникации с компьютером, а также другими Arduino и микроконтроллерами. Чип ATmega1280 имеет четыре аппаратных последовательных порта (UART) для последовательной (TTL, 5 вольт) коммуникации. Чип FT232RL перенаправляет один из этих портов на USB-соединение, а драйверы FTDI (идут в комплекте с IDE Arduino) обеспечивают виртуальный COM-порт для ПО на компьютере. В IDE Arduino также встроен монитор порта, который позволяет отправлять простые текстовые данные – и на плату, и от нее. Светодиоды RX и TX на плате загораются, когда данные передаются через чип FTDI и USB-соединение с компьютером (но не через последовательный порт на контактах 0 и 1).
Библиотека SoftwareSerial позволяет выполнять последовательную коммуникацию на всех цифровых контактах Arduino Mega.
Чип ATmega1280 также поддерживает коммуникации типа SPI и I2C (TWI). Для первой в IDE Arduino предусмотрена SPI, а для второй – библиотека Wire.
Программирование
Arduino Mega программируется при помощи IDE Arduino. О языке Arduino можно почитать здесь, а о руководствах – здесь.
Чип ATmega1280 на Arduino Mega идет с уже записанным загрузчиком, который позволяет загружать на плату новый код без использования внешнего аппаратного программатора. Он коммуницирует через протокол STK500 (описание, заголовочные файлы на языке C).
Вы также можете обойти загрузчик и программировать микроконтроллер через ICSP-гребешок. Более подробно читайте в этих инструкциях.
Автоматический (программный) сброс
Arduino Mega устроена таким образом, что пользователю не нужно вручную нажимать на кнопку сброса перед загрузкой нового скетча – сброс выполняется при помощи ПО на компьютере, к которому подключена Mega.
Одна из аппаратных линий, отвечающих на чипе FT232RL за управление потоками (а именно – DTR), через 100-нанофарадный конденсатор подключена к линии сброса на ATmega1280. Если подать на эту линию LOW, значение на линии сброса упадет достаточно, чтобы сбросить чип. Благодаря этому вы можете загружать на плату новый код, просто нажав на кнопку загрузки в IDE Arduino. Это значит, что загрузчику можно сделать более короткий таймаут, скоординировав подачу значения LOW на линию DTR с началом загрузки.
Это влияет на работу Mega и в другом. Если Mega подключена к компьютеру на Mac OS X или Linux, то будет сбрасываться при каждом открытии соединения (через USB) между нею и ПО на компьютере. Следующие примерно полсекунды на Mega будет работать загрузчик. Хотя он запрограммирован на то, чтобы игнорировать ненужные данные (т.е. все, что не касается загрузки нового кода), он все же перехватит первые несколько байтов, отправленных на плату после открытия соединения. Если скетч, впервые запущенный на плате, получает исходные настройки или другие важные данные, то нужно сделать так, чтобы ПО, с которым коммуницирует плата, подождало примерно секунду после открытия соединения и перед отправкой этих данных.
Mega также оснащена специальной трассой, обрезав которую, можно отключить функцию автоматического сброса. Чтобы снова включить ее, нужно спаять контактные площадки, находящиеся по обе стороны этой трассы.
Она подписана как «RESET-IN». Вы также можете отключить автосброс, подключив резистор на 110 Ом между контактом 5V и линией сброса. Более подробно читайте в этом посте на форуме Arduino.
Защита USB-портов от перегрузок
Arduino Mega оснащена самовосстанавливающимся предохранителем, который защищает USB-порты вашего компьютера от коротких замыканий и других перегрузок. Хотя многие компьютеры обладают собственной защитой от подобных неприятностей, это устройство добавляет к ней еще один слой. Если на USB-порт будет подано более 500 миллиампер, этот предохранитель автоматически прервет соединение, пока короткое замыкание или перегрузка не будут устранены.
Физические характеристики и совместимость с «шилдами»
Максимальные длина и ширина печатной платы Arduino Mega составляют Длина::101,6 мм. и Ширина::53,34 мм., однако USB-коннектор и разъем для питания выходят немного за пределы ширины.
Также на плате есть несколько отверстий, благодаря которым ее можно прикрепить к какой-либо поверхности или корпусу. Обратите внимание, что расстояние между цифровыми контактами 7 и 8 составляет 4,06 мм, а между остальными – 2,54 мм.
Mega совместима с большинством «шилдов», разработанных для Duemilanove и Diecimila. Цифровые контакты с 0 по 13 (а также прилегающие к ним AREF и GND), входные аналоговые контакты с 0 по 5, разъем для питания и ICSP-гребешок находятся в тех же местах. Более того, главный UART (последовательный порт) размещен на тех же контактах (0 и 1), как и внешние прерывания 0 и 1 (контакты 2 и 3). Интерфейс SPI доступен через ICSP-гребешок – и на Mega, и на Duemilanove/Diecimila. Пожалуйста, обратите внимание, что шина I2C на Mega (контакты 20 и 21) размещена не там, где у Duemilanove/Diecimila(входные аналоговые контакты 4 и 5).
Фото Arduino Mega сделано SpikenzieLabs.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Черновик
- Надо доработать
- Черновой вариант статьи
- Черновой вариант
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом