Настройка плат Arduino при первом подключении к ПК. Как сделать умный дом на Arduino своими руками Mega 2560 питание

Arduino Mega построена на микроконтроллере ATmega2560 (). Плата имеет 54 цифровых входа/выходов (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов,4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопка перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB или подать питание при помощи адаптера AC/DC, или аккумуляторной батареей. Arduino Mega 2560 совместима со всеми платами расширения, разработанными для платформ или Duemilanove .

Схема и исходные данные

Краткие характеристики
Микроконтроллер ATmega2560
Рабочее напряжение
Входное напряжение (рекомендуемое) 7-12В
Входное напряжение (предельное) 6-20В
Цифровые Входы/Выходы 54 (14 из которых могут работат также как выходы ШИМ)
Аналоговые входы 16
Постоянный ток через вход/выход 40 mA
Постоянный ток для вывода 3.3 В 50 mA
Флеш-память 256 KB (из которых 8 КB используются для загрузчика)
ОЗУ 8 KB
Энергонезависимая память 4 KB
Тактовая частота 16MHz
Питание

Arduino Mega может получать питание как через подключение по USB, так и от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с положительным полюсом на центральном контакте. Провода от батареи подключаются к выводам Gnd и Vin разъема питания (POWER).

Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

Плата Mega2560, в отличие от предыдущих версий плат, не использует FTDI USB микроконтроллер. Для обмена данными по USB используется микроконтроллер Atmega8U2, запрограммированный как конвертер USB-to-serial.

Выводы питания:

  • VIN . Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод. Если питание подается на разьем 2.1mm, то на этот вход можно запитаться.
  • 5V . Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.
  • 3V3. Напряжение на выводе 3.3 В генерируемое микросхемой FTDI на платформе. Максимальное потребление тока 50 мА.
  • GND. Выводы заземления.
Память

Микроконтроллер ATmega2560 имеет: 256 кБ флеш-памяти для хранения кода программы (4 кБ используется для хранения загрузчика), 8 кБ ОЗУ и 4 Кб EEPROM (которая читается и записывается с помощью библиотеки 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 подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2.
  • Внешнее прерывание: 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3), и 21 (прерывание 2). Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
  • 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. Установленная на плате микросхема ATmega8U2 направляет один из интерфейсов через USB, предоставляя виртуальный COM порт программам на компьютере (машинам под упровлением Windows для корректной работы с виртуальным COM портом необоходим.inf файл, системы на базе OSX и Линукс, автоматически распознаю COM порт). Утилита мониторинга последовательной шины (Serial Monitor) среды разработки Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему ATmega8U2 и USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Программирование

Микроконтроллер ATmega2560 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.

Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы блока ICSP (внутрисхемное программирование). находится в данной инструкции.

Код прошивки для контроллера ATmega8U2 доступен для свободного скачивания . Контроллер ATmega8U2 имеет собственный DFU загрузчик, который может быть активирован замыканием джампера на обратной стороне платы (рядом с картой Италии) и перезагрузкой контроллера. Для записи новой прошивки возможно использовать Atmel"s FLIP (под Windows) или (на Mac OS X или Linux). Также можно переписать прошивху внешним программатором, используя ISP вход.

Автоматическая (программная) перезагрузка

Mega разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий ATmega8U2, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллера ATmega2560 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.

Функция имеет еще одно применение. Перезагрузка Mega2560 происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.

На Mega2560 имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Контакты микросхем с обоих концов линии затем могут быть соединены с целью восстановления. Линия маркирована «RESET-EN». Отключить автоматическую перезагрузку также возможно подключив резистор 110 Ом между источником 5 В и данной линией.

Токовая защита разъема USB

В Arduino Mega2560 встроена перезагружаемая плавкая вставка, защищающая порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель автоматически прерывает обмен данных при прохождении тока более 500 мА через USB порт.

Физические характеристики и совместимость с платами расширения

Длинна и ширина печатной платы Mega2560 составляют 10,2 и 5.3 см соответственно. Разъем USB и силовой разъем выходят за границы данных размеров. Три отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

Arduino Mega2560 совместима со всеми платами расширения, разработанными для платформ Uno, Duemilanove или Diecimila. Расположение выводов 0 - 13 (и примыкающих AREF и GND), аналоговых входов 0 - 5, силового разъема, блока ICSP, порта последовательной передачи UART (выводы 0 и 1) и внешнего прерывания 0 и 1 (выводы 2 и 3) на Mega соответствует расположению на вышеприведенных платформах. Связь SPI может осуществляться через блок ICSP, как на платформах Duemilanove / Diecimila, так и на Mega2560. Однако расположение выводов (20 и 21) связи I2C на платформе Mega не соответствуют расположению тех же выводов (аналоговые входы 4 и 5) на Duemilanove / Diecimila.

Отладочная плата Arduino Mega 2560 построена на микроконтроллере ATmega2560. Она имеет 54 цифровых входных/выходных выводов (15 из которых могут использоваться в качестве ШИМ выходов), 16 аналоговых входов, 4 порта UART (аппаратных последовательных порта), кварцевый резонатор 16 МГц, подключение USB, разъем питания, разъем ICSP и кнопку перезагрузки. Она содержит всё необходимое для работы с микроконтроллером; для того, чтобы начать работу с ней, просто подключите ее к компьютеру с помощью USB кабеля или подайте питание от блока питания AC/DC или от батареи. Плата Arduino Mega 2560 совместима с большинством плат расширения, разработанных для Arduino Uno и Arduino Duemilanove.

Arduino Mega 2560 является обновленной заменой для Arduino Mega.

Технические характеристики

Микроконтроллер ATMega2560
Рабочее напряжение 5 В
Входное напряжение (рекомендуемое) 7-12 В
Входное напряжение (предельное) 6-20 В
Цифровые входные/выходные выводы 54 (15 из которых могут использоваться в качестве ШИМ выходов)
Аналоговые входные выводы 16
Постоянный ток через входные/выходные выводы 20 мА
Постоянный ток через вывод 3,3 В 50 мА
Флеш-память 256 Кбайт, из которых 8 Кб используются загрузчиком
Оперативная память SRAM 8 Кбайт
Энергонезависимая память EEPROM 4 Кбайт
Тактовая частота 16 МГц
Длина 101,52 мм
Ширина 53,3 мм
Вес 37 г

Документация

Схемы, разводка платы, размеры

Arduino Mega 2560 является открытой аппаратной платформой. Вы можете изготовить собственную плату, используя следующие файлы:

Программирование

Arduino Mega 2560 программируется с помощью Arduino IDE.

ATmega2560 на Arduino Mega 2560 поставляется с уже прошитым загрузчиком, что позволит вам загружать в контроллер новый код без использования дополнительных программаторов.

Также вы можете обойти загрузчик и прошить микроконтроллер через разъем ICSP, используя Arduino ICSP или аналог.

Предупреждение

Arduino Mega 2560 имеет самовосстанавливающийся предохранитель, который защищает USB порты вашего компьютера от короткого замыкания и перегрузки по току. Несмотря на то, что большинство компьютеров обеспечивают свою собственную внутреннюю защиту, этот предохранитель дает дополнительный уровень защиты. Если ток через USB порт превышает 500 мА, предохранитель автоматически разрывает соединение, пока короткое замыкание или перегрузка не будут устранены.

Питание

Arduino Mega 2560 может получать питание либо через подключение USB, либо от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее (не USB) питание может подаваться либо от AC/DC адаптера, либо от батареи. Адаптер может быть подключен с помощью 2,1 мм разъема питания с положительным контактом в центре. Питание от батареи может быть подано на выводы Vin и GND разъема POWER.

Плата может работать от внешнего питания от 6 до 20 вольт. Если подается питание меньше, чем 7 вольт, то на выводе 5V питание может составлять менее пяти вольт, и плата может начать работать нестабильно. Если используется питание более 12В, регулятор напряжения может перегреться и повредить плату. Рекомендуется использовать напряжение питания в диапазоне от 7 до 12 вольт.

Выводы питания:

  • Vin . Вход питания платы при использовании внешнего источника питания (используется при отсутствии 5 вольт от USB подключения или от другого регулируемого источника питания). Вы можете подать питание через этот вывод, или, если напряжение питания подается через разъем питания, то это напряжение 5В будет доступно и на этом выводе.
  • 5V . С этого вывода можно взять регулируемое напряжение 5В с выхода регулятора на плате. Плата может питаться через разъем питания (7-12В), через USB разъем (5В) или через вывод Vin на плате (7-12В). Подача напряжения через выводы 5V и 3.3V обходит регулятор и может повредить плату. Поэтому не советуем подавать питание на плату через эти выводы.
  • 3V3 . Питание 3,3 вольта, выдаваемое регулятором на плате. Максимальный ток 50 мА.
  • GND . Выводы земли.
  • IOREF . Этот вывод обеспечивает опорное напряжение, с которым работает микроконтроллер. Правильно, сконфигурированная плата расширения, может прочитать напряжение на выводе IOREF и выбрать подходящий источник питания или перевести буферы выходов для работы с напряжением либо 5В, либо 3,3В.

Память

ATmega2560 обладает 256 килобайтами флэш-памяти для хранения кода программы (из которых 8 килобайт используется загрузчиком), 8 килобайтами SRAM и 4 килобайтами EEPROM (которая может быть считана и записана с помощью библиотеки EEPROM).

Входы и выходы

Таблица соответствия портов ATmega2560 выводов Arduino Mega 2560
Номер вывода Atmega2560 Название вывода ATmega2560 Соответствующий вывод на Arduino Mega 2560
1 PG5 (OC0B) Цифровой вывод 4 (PWM)
2 PE0 (RXD0/PCINT8) Цифровой вывод 0 (RX0)
3 PE1 (TXD0) Цифровой вывод 1 (TX0)
4 PE2 (XCK0/AIN0)
5 PE3 (OC3A/AIN1) Цифровой вывод 5 (PWM)
6 PE4 (OC3B/INT4) Цифровой вывод 2 (PWM)
7 PE5 (OC3C/INT5) Цифровой вывод 3 (PWM)
8 PE6 (T3/INT6)
9 PE7 (CLKO/ICP3 / INT7)
10 VCC VCC
11 GND GND
12 PH0 (RXD2) Цифровой вывод 17 (RX2)
13 PH1 (TXD2) Цифровой вывод 16 (TX2)
14 PH2 (XCK2)
15 PH3 (OC4A) Цифровой вывод 6 (PWM)
16 PH4 (OC4B) Цифровой вывод 7 (PWM)
17 PH5 (OC4C) Цифровой вывод 8 (PWM)
18 PH6 (OC2B) Цифровой вывод 9 (PWM)
19 PB0 (SS/PCINT0) Цифровой вывод 53 (SS)
20 PB1 (SCK/PCINT1) Цифровой вывод 52 (SCK)
21 PB2 (MOSI/PCINT2) Цифровой вывод 51 (MOSI)
22 PB3 (MISO/PCINT3) Цифровой вывод 50 (MISO)
23 PB4 (OC2A/PCINT4) Цифровой вывод 10 (PWM)
24 PB5 (OC1A/PCINT5) Цифровой вывод 11 (PWM)
25 PB6 (OC1B/PCINT6) Цифровой вывод 12 (PWM)
26 PB7 (OC0A/OC1C / PCINT7) Цифровой вывод 13 (PWM)
27 PH7 (T4)
28 PG3 (TOSC2)
29 PG4 (TOSC1)
30 RESET RESET
31 VCC VCC
32 GND GND
33 XTAL2 XTAL2
34 XTAL1 XTAL1
35 PL0 (ICP4) Цифровой вывод 49
36 PL1 (ICP5) Цифровой вывод 48
37 PL2 (T5) Цифровой вывод 47
38 PL3 (OC5A) Цифровой вывод 46 (PWM)
39 PL4 (OC5B) Цифровой вывод 45 (PWM)
40 PL5 (OC5C) Цифровой вывод 44 (PWM)
41 PL6 Цифровой вывод 43
42 PL7 Цифровой вывод 42
43 PD0 (SCL/INT0) Цифровой вывод 21 (SCL)
44 PD1 (SDA/INT1) Цифровой вывод 20 (SDA)
45 PD2 (RXDI/INT2) Цифровой вывод 19 (RX1)
46 PD3 (TXD1/INT3) Цифровой вывод 18 (TX1)
47 PD4 (ICP1)
48 PD5 (XCK1)
49 PD6 (T1)
50 PD7 (T0) Цифровой вывод 38
51 PG0 (WR) Цифровой вывод 41
52 PG1 (RD) Цифровой вывод 40
53 PC0 (A8) Цифровой вывод 37
54 PC1 (A9) Цифровой вывод 36
55 PC2 (A10) Цифровой вывод 35
56 PC3 (A11) Цифровой вывод 34
57 PC4 (A12) Цифровой вывод 33
58 PC5 (A13) Цифровой вывод 32
59 PC6 (A14) Цифровой вывод 31
60 PC7 (A15) Цифровой вывод 30
61 VCC VCC
62 GND GND
63 PJ0 (RXD3/PCINT9) Цифровой вывод 15 (RX3)
64 PJ1 (TXD3/PCINT10) Цифровой вывод 14 (TX3)
65 PJ2 (XCK3/PCINT11)
66 PJ3 (PCINT12)
67 PJ4 (PCINT13)
68 PJ5 (PCINT14)
69 PJ6 (PCINT 15)
70 PG2 (ALE) Цифровой вывод 39
71 PA7 (AD7) Цифровой вывод 29
72 PA6 (AD6) Цифровой вывод 28
73 PA5 (AD5) Цифровой вывод 27
74 PA4 (AD4) Цифровой вывод 26
75 PA3 (AD3) Цифровой вывод 25
76 PA2 (AD2) Цифровой вывод 24
77 PA1 (AD1) Цифровой вывод 23
78 PA0 (AD0) Цифровой вывод 22
79 PJ7
80 VCC VCC
81 GND GND
82 PK7 (ADC15/PCINT23) Аналоговый вывод 15
83 PK6 (ADC14/PCINT22) Аналоговый вывод 14
84 PK5 (ADC13/PCINT21) Аналоговый вывод 13
85 PK4 (ADC12/PCINT20) Аналоговый вывод 12
86 PK3 (ADC11/PCINT19) Аналоговый вывод 11
87 PK2 (ADC10/PCINT18) Аналоговый вывод 10
88 PK1 (ADC9/PCINT17) Аналоговый вывод 9
89 PK0 (ADC8/PCINT16) Аналоговый вывод 8
90 PF7 (ADC7) Аналоговый вывод 7
91 PF6 (ADC6) Аналоговый вывод 6
92 PF5 (ADC5 /TMS) Аналоговый вывод 5
93 PF4 (ADC4 /TMK) Аналоговый вывод 4
94 PF3 (ADC3) Аналоговый вывод 3
95 PF2 (ADC2) Аналоговый вывод 2
96 PF1 (ADC1) Аналоговый вывод 1
97 PF0 (ADC0) Аналоговый вывод 0
98 AREF Опорное напряжение АЦП
99 GND GND
100 AVCC VCC

Каждый из 54 цифровых выводов Arduino Mega может быть использован и как вход, и как выход, с помощью функций pinMode() , digitalWrite() и digitalRead . Они работают с напряжением 5 вольт. Каждый вывод может пропускать ток 20 мА (рекомендуемое) и имеет внутренний подтягивающий резистор (по умолчанию отключен) 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 также подключены к соответствующим выводам преобразователя USB-TTL на ATmega16U2;
  • внешние прерывания: 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2) . Эти выводы могут быть сконфигурированы для вызова прерывания по фронту или по спаду импульса или по изменению уровня на выводе. Смотрите работу с прерываниями на Arduino для более подробной информации;
  • ШИМ: выводы со 2 по 13 и с 44 по 46 . Обеспечивают 8-битный ШИМ выход с помощью функции analogWrite() ;
  • SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) . Эти выводы поддерживают связь через SPI с помощью соответствующей библиотеки. SPI выводы также подключены к разъему ICSP, который физически совместим с платами Arduino/Genuino Uno и старыми платами Arduino Duemilanove и Diecimila;
  • светодиод: 13 . Встроенный светодиод подключен к цифровому выводу 13. При высоком уровне на выводе светодиод загорается, при низком - гаснет;
  • TWI: 20 (SDA) и 21 (SCL) . Поддерживают связь через TWI с помощью библиотеки Wire . Обратите внимание, что эти выводы не совпадают по расположению с аналогичными выводами на старых платах Arduino Duemilanove и Diecimila.

Arduino Mega 2560 обладает 16 аналоговыми входами, каждый из которых обеспечивает 10-битное разрешение (т.е. 1024 разных значений). По умолчанию они измеряют напряжение от 0 до 5 вольт, хотя можно изменить верхнюю границу их диапазона, используя вывод AREF и функцию analogReference() . И еще пара выводов на плате:

  • AREF . Опорное напряжение для аналоговых входов. Используется совместно с analogReference() ;
  • Reset . Низкий уровень на этом выводе приводит к перезагрузке микроконтроллера. Обычно используется для добавления кнопки сброса на платы расширения, закрывающей доступ к кнопке сброса на самой плате Arduino.

Связь

Плата Arduino Mega 2560 обладает рядом возможностей для связи с компьютером, с другой платой или с другими микроконтроллерами. ATmega2560 обеспечивает четыре аппаратных UART порта для последовательной связи с TTL уровнями (5 вольт). ATmega16U2 (ATmega8U2 на платах версий 1 и 2) на плате связывает один из этих UART портов с USB и обеспечивает виртуальный COM порт для связи с программным обеспечением на компьютере (Windows машинам понадобится inf-файл, машины на OSX и Linux определят плату, как COM порт, автоматически). Arduino IDE включает в себя монитор последовательного порта, который позволяет посылать и принимать от платы простые текстовые данные. Светодиоды RX и TX на плате загораются при передаче данных через микросхему ATmega8U2/ATmega16U2 и USB соединение (но не при передаче данных через выводы 0 и 1 последовательного порта).

Библиотека SoftwareSerial позволяет организовать последовательную связь через любые цифровые выводы Arduino Mega 2560.

Arduino Mega 2560 также поддерживает связь через TWI и SPI. Arduino IDE включает в себя библиотеку Wire для упрощения использования шины TWI. Для связи через SPI используется библиотека SPI .

Магазины и цены

Цены на Arduino Mega 2560
Товар в магазине Количество штук в комплекте Стоимость Расчетная стоимость за 1 шт.
1 406.51 руб. / 6.01 USD
(на 25 ноября 2018)
406.51 руб. / 6.01 USD
Arduino Mega 2560 на AliExpress 1 451.83 руб. / 6.68 USD
(на 1 октября 2016)
451.83 руб. / 6.68 USD
Arduino Mega 2560 на AliExpress 1 486.32 руб. / 7.19 USD
(на 25 ноября 2018)
486.32 руб. / 7.19 USD
Arduino Mega 2560 на AliExpress 1 502.56 руб. / 7.43 USD
(на 25 ноября 2018)

Разрабатывая проекты на ардуино, вы рано или поздно столкнетесь с двумя проблемами:

  • необходимость минимизации места;
  • нехватка функциональных портов ввода-вывода.

Первая проблема решается элементарно – с помощью миниатюрных плат: nano, mini, pro mini, micro, digispark attiny 85. Если плата nano и другие мини-платы повторяют функционал обычной Arduino UNO, имея на борту atmega328/168, то платы с Attiny85 и ей подобные подходят для простейших проектов с минимальным функционалом.

Второй же вопрос решается двумя методами:

  1. Расширение числа выводов с помощью сдвиговых регистров, типа 74HC595. К сожалению, этот метод не позволяет использовать ШИМ для расширенных выводов, да и работает этот способ только для выходных сигналов.
  2. Объединение нескольких плат в одну систему и их связь с помощью различных интерфейсов обмена данными; однако этот метод довольно сложен, и не всегда оправдан.

Можно решить этот вопрос иначе – здесь на помощь придет большая плата Arduino mega 2560 или её аналог с поддержкой USB хоста – ADK Arduino, но обо всём по порядку.

Подробнее об Ардуино на Atmega 2560

Начнем с внешнего вида. На изображении выше очевидно, что плата Arduino mega 2560 r3 (актуальная версия на момент написания статьи) в два раза длиннее, чем UNO. Она имеет 54 порта ввода вывода, 15 из которых могут работать, как источник ШИМ сигнала, для плавного регулирования мощности, тока, скорости, яркости, в общем, всего, что можно регулировать с помощью широтно-импульсной модуляции, плюс к этому 16 аналоговых портов могут обрабатывать сигналы с датчиков, использоваться, как цифровой выход.

Для связи между разными устройствами предусмотрено целых 4 UART интерфейса, в их роли выступают выводы 0, 1, 14-19. Один из портов направлен на USB через микроконтроллер ATmega8U2 – он здесь применен вместо привычного по младшим платам USB-TTL контроллера, а его прошивка доступна для свободного скачивания. Для связи с различными дисплеями и другими исполнительными устройствами предусмотрена SPI и I2C технологии.

Технические характеристики

  • Микроконтроллер: ATmega2560
  • Тактовая частота: 16 мГц
  • Напряжение: 5 В
  • Предельные напряжения: 5-20 В
  • Рекомендуемое напряжение питания: 7-12 В
  • Макс. сила тока с одного вывода: 40 мА
  • Цифровые пины: 54
  • Цифровые пины с поддержкой ШИМ: 15
  • Аналоговые входы: 16
  • Flash-память: 256 КБ (8 из них используются загрузчиком)
  • SRAM: 8 КБ
  • EEPROM: 4 КБ

Распиновка платы

Ниже распиновка и назначение выводов – важнейшая информация для разработчика.

Размеры платы Arduino MEGA 2560 – 10.16 см на 5.3 см, против UNO – 6.9 см на 5.3. С одной стороны плата получилась великоватой, с другой – возросшие габариты позволяют удобно работать с мощным микроконтроллером.

Дополнительные изображения и принципиальную схему Меги смотрите на нашем сайте по . Наиболее распространенная сейчас – плата Arduino mega 2560 rev3. В сравнении с первыми ревизиями был проведен ряд доработок, связанных с перезагрузкой платы при прошивке, для достоверности загрузки данных, и другие мелкие апгрейды.

Atmega2560 чип платы Arduino MEGA 2560

Atmega2560 – это очень мощный чип. В распоряжении разработчика целых 256 кб Flash (в ардуино 8 кб занимает загрузчик), 8 кб SRAM и 1 кб EEPROM. Работает ардуино с таким сердцем на частоте 16 мГц, впрочем, как и младшие платы – UNO и многие другие.

Питание платы может осуществляться как от круглого разъёма питания 2.1 мм с плюсом по центру, так и от USB порта, источник выбирается автоматически. Стоит отметить, что при напряжении питания 7-20 вольт, плата работает отлично, а при меньшем, например, 5 вольт, могут возникнуть ситуации с нестабильной работой. Примите это к сведению.

Распиновка процессора

Ниже диаграмма распиновка чипа, для увеличения - нажмите на изображение:

В качестве источника годятся, как сетевые AC/DC преобразователи, такие как для светодиодной ленты (12 В), например, отлично подойдут, так и батареи аккумуляторов или одна ячейка Li-ion аккумулятора с повышающим преобразователем до нужных значений напряжения.

Проекты на основе плате

Использование Arduino MEGA 2560 дало возможность сделать по-настоящему большую и сложную микроконтроллерную систему. Например, есть очень интересный проект, который получил поддержку в РФ и активно развивается – это Arduino Mega Server. Микроконтроллер настолько мощный, что может стать целым сервером для интернета сайтов или облака.

Единственное ограничение на таком сервере – это объём памяти, ведь в качестве накопителя можно использовать micro SD-карты памяти, а Ethernet поддерживает максимальный объём памяти 32 гб.

Arduino Mega Server – это серьезный проект с широким функционалом, в котором поддерживаются все нужные для веб-мастера технологии:

  • HTML;
  • Javascript и другие.

На страницах, которые вы создадите, а их количество ограничено только их размером и объёмом вашей карты памяти, можно отслеживать в реальном времени состояние контроллера и управлять его входами и выходами с помощью кнопок на веб интерфейсе сайта. Поддержка многих библиотек Javascript позволит сделать интерфейс красивым и современным.

С помощью Arduino Mega Server вы можете сделать мощные разветвленные системы автоматизированного управления с удаленным управлением и мониторингом всех параметров или домашнее облачное хранилище. На рисунке ниже вы видите скриншот страницы управления умным домом с официального сайта проекта.

Вот небольшой перечень проектов, реализуемых с Arduino Mega Server:

  1. Умный дом – стал уже классической областью применения ардуино.
  2. Автоматизированная котельная.
  3. Тепличное хозяйство с автоматической поддержкой влажности и солевого состава почвы.
  4. Метеостанция.
  5. И многое другое.

Вы получаете операционную систему для работы с ардуино с компьютера или смартфона по web интерфейсу. Однако стоит осознавать возможности и мощность микроконтроллера Arduino mega 2560, хоть и сама плата мощнее свих предшественников, но по современным меркам морально устарела. Это все те же 8 бит и 8 кб ОЗУ. Скорость, с которой вы скачиваете данные с сервера, будет небольшой, но для веб-страниц вполне хватит.

Комплект для сборки сервера на ардуино

Для сборки проекта Arduino Mega Server нужно иметь минимум три составляющих:

  1. Плату Arduino Mega
  2. Ethernet shied для Ардуино.
  3. Micro SD-карта памяти.

Остальные компоненты набираются в соответствии с возложенными на сервер функциями. Чтобы ознакомиться со всеми нюансами и технической документацией, вы можете скачать все необходимые материалы и библиотеки с официального сайта проекта hi-lab.ru.

На момент написания статьи проект Arduino Mega Server поддерживается на трёх платформах, две из которых превосходят по характеристикам mega 2560:

  • Arduino mega 2560;
  • Arduino Due (32 битный МК, 84 мГц, 512 кб памяти и 96 кб озу разделенных на два банка – 64 кб и 32 кб);
  • Genuino 101 (Intel Quark – в качестве процессора, разрядность 32 бита, 32 мГц, 24 кб ОЗУ).

Другие интересные проекты на Arduino Mega 2560

Системы управления умным домом набирают популярность. Реализаций умного дома масса, некоторые из них работают под управлением через веб интерфейс, как описано в предыдущем разделе. На фото ниже представлен пример макета такой системы.

Здесь, для связи со смартфоном, применен специальный шилд, его название «1shield». С помощью официального приложения вы можете подключиться к вашем шилду через WiFi или Bluetooth. Для того чтобы заставить его работать с Arduino, нужно скачать 1shield library – специальная библиотека.

Электронный бармен на ардуино

Если вы жить не можете без любимых коктейлей, но не хотите учиться их готовить, вам поможет робот-бармен на ардуино.

За основу проекта взяли Ардуино Мега, для реализации механизма движения стакана и разлива напитков использованы шаговый двигатель (для продольного перемещения емкости) и сервопривод, для открытия вентилей робота. Ниже приведена примерная схема устройства.

Выводы о плате Ардуино Мега

В сети есть много, как сторонников, так и противников 8 битной архитектуры плат ардуино – их пытаются вытеснить отладочные платы семейства STM, а порой сравнивают с одноплатными микрокомпьютерами. Однако век ардуино еще будет долго продолжаться, поскольку это простая платформа для веселого освоения электроники и микроконтроллеров.

К тому же рассмотренный сегодня Arduino mega 2560 server – это глоток свежего воздуха для всей платформы. Согласитесь, что приятно иметь возможность поставить личный сервер для своих сайтов с поддержкой необходимых технологий и низким энергопотреблением. Не стоит сравнивать эту идею с серверами на старом компьютерном железе и так далее, преимущества очевидны:

  1. Отсутствие шума во время работы, так как нет кулеров системы охлаждения.
  2. Малый объём занимаемого пространства.
  3. Низкая цена.
  4. Малое энергопотребление.

Изучайте микроконтроллеры и внедряйте в повседневную жизнь высокие технологии.

Плата Arduino Mega 2560 предназначена для создания проектов, в которых не хватает возможностей обычных Arduino Uno. В этом устройстве максимальное из всех плат семейства Arduino количество пинов и расширенный набор интерфейсов. Также у Arduino Mega больше встроенной памяти. В этой статье мы познакомимся с основными особенностями платы поближе.



Схема платы Arduino Mega

Харакетристики Arduino Mega 2560

Пины платы Arduino Mega 2650

Цифровые пины

Пин Адресация в скетче Специальное назначение ШИМ
Цифровой пин 0 0 RX (Serial)
Цифровой пин 1 1 TX (Serial)
Цифровой пин 2 2 Вход для прерываний 0 ШИМ
Цифровой пин 3 3 Вход для прерываний 1 ШИМ
Цифровой пин 4 4 ШИМ
Цифровой пин 5 5 ШИМ
Цифровой пин 6 6 ШИМ
Цифровой пин 7 7 ШИМ
Цифровой пин 8 8 ШИМ
Цифровой пин 9 9 ШИМ
Цифровой пин 10 10 ШИМ
Цифровой пин 11 11 ШИМ
Цифровой пин 12 12 ШИМ
Цифровой пин 13 13 Встроенный светодиод ШИМ
Цифровой пин 14 14 TX (Serial3)
Цифровой пин 15 15 RX (Serial3)
Цифровой пин 16 16 TX (Serial2)
Цифровой пин 17 17 RX (Serial2)
Цифровой пин 18 18 TX (Serial1)

Вход для прерываний 5

Цифровой пин 19 19 RX(Serial1)

Вход для прерываний 4

Цифровой пин 20 20 I2C SDA

Вход для прерываний 3

Цифровой пин 21 21 I2C SCL

Вход для прерываний 2

Цифровой пин 22-43 22-43
Цифровой пин 44 44 ШИМ
Цифровой пин 45 45 ШИМ
Цифровой пин 46 46 ШИМ
Цифровой пин 47 47
Цифровой пин 48 48
Цифровой пин 49 49
Цифровой пин 50 50 MISO
Цифровой пин 51 51 MOSI
Цифровой пин 52 52 SCK
Цифровой пин 53 53 SCL

Аналоговые пины

У платы Arduino Mega 16 аналоговых входов. Каждый из них соединен с 10-разрадным АЦП, поэтому в скетче можно получить 1024 уровней значений с помощью функции analogRead (). Диапазон значений напряжения по отношению к земле на аналоговых пинах по умолчанию равен 0-5 В. Этот диапазон можно изменить с помощью функции analogReference () и пина AREF.

Соединение с компьютером

Подключение к компьютеру и заливка скетча осуществляется стандартно для большинства плат семейства Arduino. С помощью микросхемы ATmega16U2 устройство определяется как COM-порт, через который могут передаваться данные и осуществляется перепрошивка микроконтроллера.

Питание Arduino Mega 2560

Питание платы Mega аналогично рассмотренному ранее питанию для Ardini Uno. Рабочее напряжение – 5 В, питание осуществляется либо через встроенный блок питания, либо через подключенное USB-устройство, либо напрямую.

В этой инструкции, для примера, рассмотрим начало работы в операционной системе Windows. Для операционных систем Microsoft (Windows 2000/Vista) различия незначительны, они в основном относятся к названиям вкладок в Диспетчере устройств. В прочих операционных средах, таких как Linux, FreeBSD, Mac OS X и т.д, порядок настройки значительно отличается. При необходимости организовать работу с этим программным обеспечением, рекомендуем искать ответы на вопросы на основном сайте разработчика //www.arduino.cc .

В качестве подключаемой платформы возьмём Arduino Uno. Разница с другими платами у неё минимальна.

Кабель для связи с ПК

Для передачи данных с персонального компьютера на Arduino, необходимо подыскать соответствующий кабель. С отдельными платами кабель не поставляется, только есть в стартовом наборе Arduino для практикующего конструктора-программиста.

Arduino U no , Arduino M ega 2560 соединяются кабелем со штекерами USB тип А. Такой кабель часто применяется для подключения принтера или сканера.

Arduino Leonardo , Arduino Due для подключения имеют гнездо micro USB тип В.

Arduino Nano, Freeduino Nano подключаются через гнездо mini USB тип B.

Для подключения Freeduino MaxSerial потребуется кабель последовательного порта 9M-9F.

Возникла неполадка : Arduino IDE не запускается.

Способ устранения.

Скорее всего, на компьютере установлена неподходящая виртуальная среда JRE (Java Runtime Environment), необходимая для запуска графических приложений.

Возвратитесь к переустанавке Arduino IDE: на этот раз инсталлятор развернет работу по настройке JRE.

Подключение плат Arduino к компьютеру

После успешного запуска среды разработки Arduino IDE пришло время связать какую-то платформу Arduino с компьютером. Как вы уже знаете, подключение плат Arduino к ПК выполняется через USB-кабель.

Соединив консоль Arduino с ПК, на ней загорится один светодиод «ON», и начнёт мигать другой «L». Это означает, что через кабель подано питание и микроконтроллер начал выполнять предустановленную на заводе программу Blink (мигание).

Остается только узнать, какой номер COM-порта присвоил компьютер нашей плате Arduino , что важно для корректной работы программного обеспечения Arduino IDE с новым устройством.

Номер COM-порта можно узнать в «Диспетчере устройств», вкладка «Порты (COM и LPT)».

На системах Windows скорее всего нашей Arduino Uno с последовательным интерфейсом присвоится один из портов COM1 или COM2. Для Ардуино с USB-контроллером портом ввода будет COM4, COM5, COM6 или выше.

На системах Linux последовательным портом будет USB0 либо USB1.

Высветилось новое устройство Arduino в «Диспетчере устройств» - значит, операционная система распознала нашу плату, нашла для неё подходящий USB-драйвер и присвоила номер её интерфейсу. При совместном подключении ещё одной платы Arduino, ей присвоиться уже другой номер порта.

Возникла неполадка: при подключении платы Arduino к компьютеру, в Диспетчере устройств она не появляется.

Способы устранения:

  1. Не всунут до конца или поврежден USB-кабель или порт.
  2. Нет драйвера для этой платы Arduino. Если у вас китайская Arduino или от другого неизвестного производителя, попробуйте переустановить USB-драйвер вручную.
  3. Блокировка со стороны антивирусника.
  4. Неисправна плата Arduino.

В открытой Arduino IDE, заходим: Инструменты > Порт > выбираем номер порта COM - сообщаем программе номер порта, к которому подключена микропроцессорная платформа Arduino.

Чтобы у прошивающей программы Arduino IDE не осталось никаких сомнений, с чем ей предстоит работать, указываем тип нашей подключенной платы. Для этого переходим по меню: Инструменты > Плата > выбираем тип своей платы Arduino.

Возникла неполадка: во вкладке Порт нет ни одного COM-порта.

Способ устранения.

Очевидно, нарушено соединение устройства Arduino с компьютером. Верните устойчивое соединение с ПК.

Или нет драйвера. Скачать можно в конце статьи.

Как проверить подключение устройства Arduino

Все числовые данные, поступающее через COM-порт, выводятся в Монитор порта во всё той же удобной графической среде Arduino IDE. Следовательно, нажав соответствующую иконку «Монитор порта» в верхнем правом углу консоли или найдя соответствующий пункт в меню Сервис, по изменяющимся числам в открывшимся окошке можно убедиться, что через USB-кабель передаются данные, а значит, и плата Arduino надежно подключена.

Обратите внимание, что в нижней части окошка Монитора порта выводится информация о скорости работы с COM-портом «19200 baud» (19200 бит/сек). Такая скорость задана по умолчанию в предустановленном скетче на плате Arduino. В этом скетче есть строка Serial.begin(19200), в которой можно задать любую требуемую скорость передачи, но это возможно только при работе через USB-кабель. Ежели передача данных идет через радиоканал Bluetooth, то скорость обмена с COM-портом должна быть задана заранее, точно такой же, какую мы выбираем при отладке Bluetooth-модуля.

Возникла неполадка: невероятно тормозит Arduino IDE при навигации по меню.

Способ устранения.

В Диспетчере устройств, во вкладке Bluetooth Serial отключите Bluetooth-соединение с мобильным телефоном. Все внешние подключения через Bluetooth значительно пожирают объем виртуальной памяти.

Соединение установлено, среда разработки настроена - теперь в ваших руках отлаженный инструмент для прошивки любых микроконтроллеров AVR серии: ATtiny, ATmega, AT90S, AT90CAN, AT90PWM.

В среде разработки Arduino IDE есть много готовых образцов для различных задач, но для проверки отзывчивости платы на перепрошивку достаточно внести небольшие изменения в предустановленную программу Blink (мигание светодиода «L» на плате).

Достаточно в открытом эскизе Blink внести свои изменения в строчке delay(1000), нажать «Вгрузить» и засечь изменения в работе платы Arduino.

Установив delay(500) - светодиод «L» будет мигать в два раза чаще, с задержкой в пол секунды.

Задав delay(100) - светодиод «L» будет загораться и гаснуть в 10 раз быстрее, чем по заводской настройке, то есть каждые 100 миллисекунд.

Возникла неполадка : при загрузке скетча всплыла ошибка вида «not in sync».

Способ устранения.

Значит, подключенная платформа Arduino не была распознана операционной системой. Вернитесь к пунктам установки правильного номера COM-порта и модели платы в меню Инструменты Arduino IDE.

Да и напоследок, если вы купили плату Arduino на каком-нибудь онлайн китайском рынке, то очень часто возникают проблемы при подключении платы – просто она не определяется. Чтобы решить эту проблему умельцами был создан драйвер.

Самодельный трекер для солнечных батарей на Arduino

Публикации по теме