Arduino Uno

Arduino Uno — это устройство на основе микроконтроллера ATmega328. В его состав входит все необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем для внутрисхемного программирования (ICSP) и кнопка сброса. Для начала работы с уcтройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля.
Характеристики
Arduino Leonardo

Общие сведения
Arduino Leonardo — это устройство на базе микроконтроллера ATmega32U4. В его состав входит все необходимое для работы с данным микроконтроллером: 20 цифровых входов/выходов (7 из которых могут работать в качестве ШИМ-выходов, 12 — в качестве аналоговых входов), кварцевый резонатор на 16 МГц, разъем микро-USB, разъем питания, разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming) и кнопка сброса. Для начала работы с Leonardo достаточно просто подать питание от AC/DC-адаптера или батареи, либо подключить его к компьютеру посредством USB-кабеля.
Отличие Leonardo от всех предыдущих плат заключается в том, что его USB-контроллер встроен непосредственно в микроконтроллер ATmega32U4, что исключает необходимость в дополнительном процессоре. Благодаря этому при подсоединении к компьютеру Leonardo может определяться не только как виртуальный (CDC) COM-порт, но и как обычная мышь или клавиатура. Кроме того, такая архитектура оказывает влияние и на поведение платы; подробнее об этом см. страницу.
Характеристики
Arduino Robot

Общие сведения
Arduino Robot — первая официальная версия Ардуино, в конструкции которого предусмотрены колеса. Робот состоит из двух плат, каждая из которых содержит свой микропроцессор. Плата приводов (Motor Board) контролирует работу двигателей, в то время, как управляющая плата (Control Board) считывает показания датчиков и принимает решения о дальнейших операциях. Каждая из двух плат представляет собой полноценное устройство Ардуино, программируемое с помощью среды разработки Arduino IDE.
Обе платы построены на базе микроконтроллера ATmega32U4, выводы которого связаны с различными приводами и датчиками на плате.
Процесс прошивки Arduino Robot полностью аналогичен Arduino Leonardo. Оба микропроцессора ATmega32U4 имеют встроенный USB-контроллер, что исключает необходимость в дополнительном процессоре. Благодаря этому, при подсоединении к компьютеру Robot может определяться как виртуальный (CDC) последовательный COM-порт.
По традиции, любой элемент платформы Ардуино — будь то аппаратные, программные средства либо документация — имеет открытый исходный код и полностью бесплатен. Благодаря этому у вас есть возможность не только детально изучить устройство Arduino Robot, но и создавать своих роботов на основе его проекта. Ардуино Robot — результат совместных усилий людей из разных стран, желающих сделать процесс познания науки доступным и захватывающим. Теперь Ардуино на колесах, поехали!
Характеристики управляющей платы (Control Board)
Arduino Esplora
Общие сведения
Arduino Esplora — это микропроцессорное устройство, спроектированное на основе Arduino Leonardo. Esplora отличается от всех предыдущих плат Arduino наличием множества встроенных, готовых к использованию датчиков для взаимодействия. Он спроектирован для тех, кто предпочитает сразу начать работу с Ардуино, не изучая перед этим электронику. Пошаговую инструкцию к Esplora вы сможете найти в руководстве Начало работы с Esplora.
Esplora имеет встроенные звуковые и световые индикаторы (для вывода информации), а также несколько датчиков (для ввода информации), таких, как джойстик, слайдер, датчик температуры, акселерометр, микрофон и световой датчик. Помимо этого, на плате есть два входных и выходных разъема Tinkerkit, а также гнездо для подключения жидкокристаллического TFT-экрана, позволяющие значительно расширить возможности устройства.
Как и на плате Leonardo, в Esplora используется AVR-микроконтроллер ATmega32U4 с кварцевым резонатором 16 МГц, а также разъем микро-USB, позволяющий устройству быть USB-гаджетом, подобно мыши или клавиатуре.
В левом верхнем углу платы находится кнопка сброса для перезагрузки устройства, а также четыре светодиода, отображающих текущее состояние:
- ON [зеленый] показывает, подключено ли к устройству питание
- L [желтый] напрямую соединен с микроконтроллером, управляется выводом 13
- RX и TX [желтые] отображают получение или передачу данных через USB
Плата содержит все необходимое для микроконтроллера; для начла работы просто подключите ее к компьютеру посредством USB-кабеля.
В Esplora встроены узлы, обеспечивающие связь через USB; при подключении к компьютеру устройство может определиться как мышь, клавиатура или виртуальный (CDC) последовательный COM-порт — в зависимости от типа устройства, плата будет вести себя по разному. Подробнее об этом написано в руководстве «Начало работы с Esplora».
Характеристики
Arduino Mega 2560
Общие сведения
Arduino Mega 2560 — это устройство на основе микроконтроллера ATmega2560. В его состав входит все необходимое для удобной работы с микроконтроллером: 54 цифровых входа/выхода (из которых 15 могут использоваться в качестве ШИМ-выходов), 16 аналоговых входов, 4 UART (аппаратных приемопередатчика для реализации последовательных интерфейсов), кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем ICSP для внутрисхемного программирования и кнопка сброса. Для начала работы с устройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля. Arduino Mega совместим с большинством плат расширения, разработанных для Arduino Duemilanove и Diecimila.
Mega 2560 — это обновленная версия Arduino Mega.
Ардуино Mega 2560 отличается от всех предыдущих плат тем, что в нем для преобразования интерфейсов USB-UART вместо микросхемы FTDI используется микроконтроллер ATmega16U2 (ATmega8U2 в версиях платы R1 и R2).
На плате Mega 2560 версии R2 добавлен резистор, подтягивающий к земле линию HWB микроконтроллера 8U2. Подобная мера позволяет упростить процесс обновления прошивки и переход устройства в режим DFU.
Урок 45. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Nano.

В последующих двух уроках расскажу о платах Ардуино функционально полностью совместимых с Arduino UNO R3, но имеющих другое конструктивное исполнение.
Плата Arduino UNO, наверное, имеет наибольшую популярность среди разработчиков электронных изделий на базе Ардуино. Она идеально подходит для отладки программной и аппаратной частей устройств на этапе разработки.
Но для завершенных устройств, а тем более при серийном выпуске ее положительные качества скорее превращаются в недостатки.
- Плата Arduino UNO имеет небольшие размеры (69 x 54 мм), но ее некоторая избыточность позволяет в разы уменьшить размеры других вариантов плат. Например, у платы Arduino Pro Mini габариты всего 18 x 33 мм. Существует множество практических приложений, где размеры электроники играют решающее значение.
- Подключение внешних сигналов к плате Arduino UNO происходит через разъемы. На этапе разработки это скорее плюс. А в готовом изделии разъемы резко снижают надежность устройства. При тяжелых условиях эксплуатации (вибрации, повышенная влажность и т.п.) разъемы платы Arduino UNO практически неработоспособны.
- Плата Arduino UNO содержит преобразователь интерфейсов для подключения к компьютеру через порт USB. Но далеко не для всех устройств необходима связь с компьютером. Опять, то, что совершенно необходимо при отладке, оказывается лишним в рабочем устройстве.
- Все перечисленное выше также влияет на стоимость платы Arduino UNO. Убрав лишнее, уменьшив размеры платы, появилась возможность снизить ее стоимость.
Речь идет о платах с теми же микроконтроллерами, имеющим те же характеристики, но с другими схемными и конструктивными решениями:
- Arduino Nano;
- Arduino Pro Mini.
Каждая из этих плат выпускается в двух вариантах с микроконтроллером ATmega328 и ATmega168. Во втором варианте в 2 раза уменьшаются объемы FLASH, ОЗУ и EEPROM.
Я собираюсь использовать эти платы в последующих уроках, поэтому решил рассказать о них.
Плата Arduino Nano.
Это небольшая плата размерами 19 x 43 мм. Тем не менее, по функциям и параметрам вполне заменяет Arduino UNO.

Как правило, не содержит разъемов для подключения внешних сигналов, но они легко могут быть запаяны.
У платы есть преобразователь интерфейса UART в USB и USB разъем для подключения к компьютеру.
Характеристики платы Arduino Nano.
Большая часть параметров платы определяется используемым микроконтроллером.
| Тип микроконтроллера | ATmega168 | ATmega328 |
| Архитектура | AVR | |
| Напряжение питания микроконтроллера | 5 В | |
| Номинальное напряжение питания платы | 7 – 12 В | |
| Предельно-допустимое напряжение питания платы | 6 – 20 В | |
| Тактовая частота | 16 мГц | |
| Объем памяти программ (FLASH) | 16 кбайт | 32 кбайт |
| Объем оперативной памяти (SRAM) | 1 кбайт | 2 кбайт |
| Объем энергонезависимой памяти (EEPROM) | 512 байт | 1 кбайт |
| Дискретные входы/выходы | 14 выводов ( 6 могут быть использованы для генерации ШИМ) | |
| Аналоговые входы | 8 входов | |
| Предельно-допустимый ток цифрового выхода | 40 мА (но не более 200 мА для всех выводов) | |
| Ток потребления | Не более 20 мА | |
| Размеры платы | 18,5 x 43 мм | |
| Вес | 7 г | |
Назначение выводов платы Arduino Nano.

Питание.
Плата может получать питание двумя способами:
- через кабель связи с компьютером от USB порта;
- от внешнего источника питания напряжением 6-20 В. Напряжение может быть не стабилизировано, но с низким уровнем пульсаций.
Напряжение внешнего источника питания стабилизируется на уровне 5 В с помощью микросхемы LM1117IMPX-5.0. Напряжение USB порта компьютера подключается к выходу стабилизатора через диод Шоттки (с низким падением напряжения).

Таким образом, при одновременном подключении обоих источников плата питается от источника с большим напряжением.
Вывод 5 V может быть использован для питания внешнего устройства. Надо только помнить, что ток нагрузки не должен превышать для разных плат 500-800 мА.
К выводу 3.3V можно подключать питание внешних устройств напряжением 3,3 В. У моей платы ток нагрузки не должен превышать 180 мА.
Входы и выходы платы.
- Все выводы, цифровые и аналоговые, могут работать в диапазоне 0 … 5 В.
- Максимальный вытекающий или втекающий ток для цифрового вывода в режиме выхода не должен превышать 40 мА. Общий ток выводов не должен превышать 200 мА.
- Все выводы могут быть программно подключены к источнику питания микроконтроллера 5 В через подтягивающие резисторы сопротивлением 20-50 кОм.
- Если на аналоговый вход или дискретный вывод в режиме входа подать напряжение свыше 5 В или ниже 0 В, то оно будет ограничено защитными диодами микроконтроллера.

В этих случаях сигнал должен подключаться через ограничительный резистор, иначе микроконтроллер может выйти из строя.
Цифровые выводы. У платы 14 цифровых выводов, каждый из которых может работать в режимах входа и выхода. Некоторые выводы имеют еще альтернативные функции.
Последовательный интерфейс UART: выводы 0(RX) и 1(TX). Используются для обмена данными по интерфейсу UART. Эти выводы платы непосредственно соединены с соответствующими выводами микроконтроллера. К ним же через резисторы сопротивлением 1 кОм подключены сигналы преобразователя интерфейса.

Таким образом, выводы платы имеют приоритет по отношению к сигналам преобразователя интерфейсов. При загрузке программы в плату или обмене данными с компьютером выводы RX и TX должны оставаться свободными.
Внешние прерывания: выводы 2 и 3. Выводы, которые могут быть использованы для формирования внешних прерываний.
ШИМ: выводы 3,5,6,9, 10, 11. На этих выводах может быть сформирован сигнал ШИМ аппаратным способом.
Последовательный интерфейс SPI: выводы 10 (SS), 11 (MOSI), 13 (SCK). Выводы аппаратного интерфейса SPI.
Светодиод: вывод 13. К этому выводу подключен светодиод, обозначенный на плате L. Светится при высоком уровне сигнала.
Аналоговые входы: A0…A8. 8 аналоговых входов для измерения напряжения с помощью встроенного АЦП. Разрядность АЦП – 10 бит.
Интерфейс I2C: выводы A4 (SDA) и A5 (SCL). Сигналы аппаратного интерфейса I2C.
AREF. Опорное напряжение для АЦП микроконтроллера. Определяет диапазон измерения напряжения на аналоговых входах.
RST. Сигнал сброса микроконтроллера. Низкий уровень приводит к перезагрузке системы.
Светодиоды.
На плате есть 4 светодиода, показывающие состояние сигналов.

| Обозначение на плате | При каком уровне сигнала светится | Назначение |
| TX | низкий | Сигнал TX активен |
| RX | низкий | Сигнал RX активен |
| PWR | 5 В | Питание есть |
| L | высокий | Светодиод общего назначения |
Загрузка программы в плату из Arduino IDE происходит традиционным способом.
Принципиальная схема платы Arduino Nano.
Схемы плат разных производителей могут отличаться. Чаще всего различия касаются преобразователя интерфейсов USB-UART.
В китайских клонах обычно используются мосты USB-UART микросхемы CH340G. В фирменных платах преобразователь интерфейсов выполнен на микросхеме FT232RL.
Вот схема такого варианта платы Arduino Nano.

Микроконтроллер включен по стандартной схеме. Систему питания я уже объяснил.
Преобразователь интерфейсов FT232RL также включен по стандартной схеме. Сигнал DTR соединен через конденсатор емкостью 0,1 мкФ с выводом Reset микроконтроллера для формирования сигнала сброса при загрузке программы из Arduino IDE.
В следующем уроке я расскажу еще об одной плате на микроконтроллерах ATmega168/328. Об одной из самых миниатюрных плат — Arduino Pro Mini.
Отличия микроконтроллеров atmega168 и atmega328: сравнение параметров и характеристик
Микроконтроллеры atmega168 и atmega328 — это популярные микросхемы, которые широко используются в различных электронных устройствах. Они являются частью семейства AVR, разработанного компанией Atmel, и совместимы с множеством различных устройств и датчиков.
Несмотря на то, что технические характеристики обоих микроконтроллеров очень похожи, есть ряд отличий, которые важно учитывать при выборе наиболее подходящей микросхемы для вашего проекта.
В этой статье мы рассмотрим основные параметры и характеристики обоих микроконтроллеров, чтобы вы могли сделать обоснованный выбор между atmega168 и atmega328 для вашего проекта.
Микроконтроллеры atmega168 и atmega328: какие отличия?
Микроконтроллеры atmega168 и atmega328 принадлежат к семейству устройств средней сложности от компании Atmel. Они оба используют ядро AVR и имеют архитектуру RISC. Однако, эти две модели отличаются некоторыми параметрами и характеристиками:
- Память: atmega328 имеет большую внутреннюю память, чем atmega168. В то время как atmega168 имеет 16 кБ флэш-памяти и 1 кБ EEPROM, atmega328 обладает 32 кБ флэш-памяти и 1 кБ EEPROM.
- Частота: atmega328 имеет более высокую рабочую частоту, чем atmega168. А именно, частота atmega328 может достигать 20 МГц, тогда как частота atmega168 достигает только 16 МГц.
- Цена: atmega328 стоит чуть дороже, чем atmega168. Это связано с более высокими технологическими характеристиками и большей внутренней памятью.
Несмотря на различия, atmega168 и atmega328 имеют много общего и часто используются в различных проектах в качестве управляющих устройств. Выбор между этими двумя контроллерами может зависеть от потребностей конкретного проекта и наличия средств в бюджете.
Архитектура микроконтроллеров Atmega168 и Atmega328
Atmega168
Микроконтроллер Atmega168 относится к семейству AVR и основан на 8-разрядной архитектуре Harvard. Он представляет собой микроконтроллер со встроенной памятью, программно управляемыми вводом-выводом и ядром AVR с закладным ISP-программатором. Кроме того, Atmega168 имеет 16 Кбайт флэш-памяти, 512 байт EEPROM, 1 Кбайт SRAM и 6 8-битных регистров общего назначения.
Atmega168 обладает также интерфейсом USART, более 20 программируемыми выводами, включая аппаратный UART и SPI, а также возможностью работы в 6 режимах энергопотребления для уменьшения потребления энергии.
Atmega328
Atmega328 — это улучшенная версия микроконтроллера Atmega168. Он также основан на Harvard архитектуре и имеет 8-разрядное ядро AVR, но обладает значительно большей производительностью и расширенным набором периферийных функций.
Atmega328 имеет 32 кбайт флэш-памяти, 1 кбайт EEPROM и 2 кбайт SRAM, что делает его более мощным и функциональным устройством по сравнению с Atmega168. Кроме того, Atmega328 обладает более 20 программируемыми выводами с тремя аппаратными интерфейсами UART, SPI и I2C.
Наиболее заметным улучшением Atmega328 является более высокая скорость работы и улучшенная точность внутренних генераторов тактовых импульсов.
| Atmega168 | Atmega328 | |
|---|---|---|
| Архитектура | Harvard | Harvard |
| Производительность | 20 MIPS | 32 MIPS |
| Память | 16 кбайт флэш-памяти, 512 байт EEPROM, 1 кбайт SRAM | 32 кбайт флэш-памяти, 1 кбайт EEPROM, 2 кбайт SRAM |
| Интерфейсы | USART, SPI, аппаратный UART | USART, SPI, аппаратный UART, I2C |
Частота процессора микроконтроллеров atmega168 и atmega328: сравнение
atmega168
Микроконтроллер atmega168 имеет частоту работы ядра до 20 МГц. Это позволяет ему выполнять операции быстрее, чем многие аналоги. При этом, качество сигнала остаётся высоким благодаря использованию кварцевых генераторов, которые обеспечивают точность генерации тактовых импульсов.
atmega328
Микроконтроллер atmega328 имеет более высокую частоту работы ядра — до 32 МГц. Это даёт ему возможность обрабатывать данные и команды ещё быстрее, чем его предшественник. Создатели atmega328 позаботились о питании микросхемы, подключив к ней встроенный регулятор напряжения. Благодаря этому, напряжение на микроконтроллере остаётся стабильным и не влияет на качество обработки данных.
Вывод: atmega328 имеет более высокую частоту процессора, чем atmega168, что позволяет ему выполнять операции быстрее. При этом, оба микроконтроллера обеспечивают точность и стабильность работы благодаря использованию кварцевых генераторов и встроенного регулятора напряжения соответственно.
Оперативная память в микроконтроллерах atmega168 и atmega328
Встроенная оперативная память
У обоих микроконтроллеров встроенная оперативная память доступна для программного доступа. ATmega168 имеет 1 килобайт оперативной памяти, а ATmega328 – 2 килобайта. Она используется для хранения временных данных и регистров.
Внешняя оперативная память
В случае необходимости расширить объем оперативной памяти, можно подключить внешнюю оперативную память. Оба микроконтроллера имеют возможность подключения внешней оперативной памяти, которая может быть объемом до 64 килобайт.
Сравнение объема оперативной памяти
Объем оперативной памяти является одним из основных критериев выбора микроконтроллера. ATmega328 имеет в два раза больший объем оперативной памяти, чем ATmega168, что позволяет создавать более сложные программы и управлять большим объемом данных. Однако, если потребность в большом объеме оперативной памяти отсутствует, ATmega168 может быть более экономичным решением.
Применение оперативной памяти
Оперативная память используется для хранения данных, которые используются программой во время ее выполнения. В микроконтроллерах это могут быть переменные, массивы и структуры данных. Количество оперативной памяти может ограничивать возможности программы и скорость ее работы, поэтому выбор микроконтроллера с нужным объемом оперативной памяти является важным аспектом разработки электронных устройств.
Внешние прерывания микроконтроллеров atmega168 и atmega328
Что такое внешние прерывания?
Внешние прерывания — это механизм, который позволяет микроконтроллеру прерывать выполнение текущей программы и переходить к выполнению другой программы в случае наступления внешнего события. Такие события могут быть вызваны изменением состояния пина микроконтроллера или изменением напряжения на нём.
Как работают внешние прерывания в микроконтроллерах atmega168 и atmega328?
В микроконтроллере atmega168 доступно 2 внешних прерывания, которые могут использоваться на двух портах ввода-вывода. В микроконтроллере atmega328 количество внешних прерываний увеличено до 3, что позволяет использовать их на 3 разных портах ввода-вывода.
Для настройки внешних прерываний необходимо установить соответствующие биты регистра EIMSK (External Interrupt Mask Register) и настроить режим срабатывания прерываний в регистре EICRA (External Interrupt Control Register A). Например, можно настроить прерывание на фронт импульса или на перепад уровня сигнала.
После того, как внешнее прерывание произойдет, микроконтроллер сохранит текущие значения регистров и перейдет к выполнению подпрограммы обработки прерывания. В конце выполнения обработчика прерывания микроконтроллер вернется к выполнению главной программы и восстановит сохраненные значения регистров.
Расход энергии в микроконтроллерах atmega168 и atmega328
Расход энергии является одним из важнейших параметров микроконтроллеров, поскольку часто приложения, в которых они используются, требуют длительной автономной работы. Рассмотрим, как справляются с этой задачей atmega168 и atmega328.
Atmega168 потребляет энергию приблизительно на 20% меньше, чем его последующая версия — atmega328, что делает его более эффективным в автономных приложениях. Это связано с различием в архитектуре процессора.
Важным фактором, влияющим на расход энергии, является тактовая частота. Чем выше частота, тем больше энергии требуется для работы микроконтроллера. Как правило, atmega328 работает на более высокой тактовой частоте, поэтому его расход энергии больше, чем у atmega168.
Кроме того, различаются итоговые значения тока покоя у обоих микроконтроллеров — atmega328 потребляет около 1 мкА, в то время как atmega168 потребляет около 0,1 мкА. Это обусловлено различиями в дизайне и размере кристалла.
В целом, расход энергии atmega168 и atmega328 различается и должен быть учтен при выборе микроконтроллера для конкретного проекта.
Обзор плат Arduino: назначение, применение, сравнение характеристик

В 2003 году был создан первый прототип устройства. Он лишь отдаленно напоминал современные платы микроконтроллеров. Устройство было названо в честь короля Ардуина, итальянским конструктором Массимо Банци. Развиваясь и совершенствуясь, «Arduino» быстро стало брендом аппаратно-программных средств, с помощью которых можно автоматизировать несложные системы.
В основе аппаратной платформы «Ардуино» лежит программируемый контроллер ввода и вывода. Его достоинством является – универсальность, модульность и не высокая цена. Выражаясь другими словами, «Arduino» — это миникомпьютер, который можно запрограммировать для выполнения определенных действий.
Материал обновлён 07.11.2022
Время чтения: 16 минут

Увлечённые и опытные авторы компании, разбирающиеся в измерительном, оптическом и паяльном оборудовании, любящие своё дело
В этой статье рассмотрим:
Сравниваем контроллеры на базе Ардуино, подключаем и программируем
Arduino открывает широкие возможности по автоматизации различных устройств и процессов, также он идеален для всех тех, кто увлечен робототехникой и электроникой. При этом пользователю не обязательно быть программистом и обладать специальными знаниями, достаточно иметь желание и творческую идею. С помощью этой аппаратной платформы можно автоматизировать как элементарные процессы, так и создать сложные системы управления.
Микроконтроллер Arduino UNO.
Общие сведения
Микроконтроллер
В основе любой платы лежит микроконтроллер (МК). Он содержит в себе процессор, оперативную (ОЗУ) и энергонезависимую памяти (ПЗУ), а также снабжен модулями, осуществляющими обмен аналоговыми и цифровыми сигналами. Такие характеристики позволяют создавать компактные одноплатные устройства — микрокомпьютеры. Наличие множества контактов ввода/вывода позволяет легко подключать к плате самые разные устройства и механизмы: сенсоры, датчики, моторы и модули управления и обмена данными.
Arduino Nano, распиновка.
Большинство моделей конструируется на базе чипов ATmega. В первую очередь это связано с их невысокой ценой и невысокой производительностью, но достаточной для большинства проектов. Наибольшее распространение получили микроконтроллеры: ATMEGA328P, ATMEGA168P и ATMEGA2560.
Микроконтроллеры компании ATMEL (ATMEGA168P-AU, ATMEGA328P-PU и ATMEGA2560-16AU).
Однако если требуется обработки большого массива данных или работа с графической информацией, в этом случае требуется большая производительность. Для таких проектов требуются платы с процессорами семейства Cortex-3М (AT91SAM3X8EA) или микроконтроллеры серии
«Принцип бутерброда»
Для подключения внешних устройств используются штыревые разъемы. При этом все платы, одного модельного ряда, имеют стандартную последовательность расположения контактов, это позволяет создавать универсальные модули для упрощения сборки проектов. Фактически модули насаживаются друг на друга как в бутерброде. Такое свойство (модульность) является одним из основных преимуществ.
Шилд расширения для подключения TFT экрана.
Интерфейсы передачи данных
Для обмена данными с периферией или другими платами используются такие протоколы как: UART, IIC (I2C) и SPI.
UART (Univsersal Asynchronos Reciever-Transmitter) – универсальный асинхронный протокол передачи данных. Для его отведено два контакта (обычно 0 и 1) маркируемых RX и TX, а также GND (земля). Протокол позволяет передавать данные со скоростями до 115200 бод, однако чаще используется стандартная скорость в 9600 бод. У плат Mega и Due присутствует три дополнительных аппаратных UART. Они располагаются на выводах с 14 по 19.
I2C (Inter-Integrated Circuit) – межсхемная шина последовательной передачи данных. В протоколе задействовано два контакта SDA (Serial Data) и SCL (Serial Clock). В платах УНО под шину выделены контакты A4 и A5, а также пара контактов у USB разъема. У MEGA и DUE, под IIC, выделены контакты 20 (SDA) и 21 (SCL). Протокол поддерживает передачу данных со скоростью до 100 кГц, а также параллельное подключение до 127 устройств.
SPI (Serial Peripheral Interface) – последовательный интерфейс присоединения периферийных устройств. Это четырёхпроводной протокол передачи данных. В нем задействованы контакты MISO (Master In Slave Out), MOSI (Master Out Slave In), SCK (Serial Clock) и SS (Slave Select). При чем так как SPI не поддерживает адресацию, то подключить можно только одно устройство. Однако есть решения для аппаратной поддержки протокола и увеличения числа подключенных устройств. На SPI выделены контакты 10, 11, 12 и 13, на ArduinoMEGA и ArduinoDUE – с 50 по 53. Также контакты дублируются отдельной 6-пиновой колодкой разъема ICSP
Распиновка платы Arduino UNO.
Распиновка платы Arduino MEGA.
USB (Universal Serial Bus) – универсальная последовательная шина подключения периферийных устройств. Обмен данными через USB используется во многих устройствах и Ардуино-платы не являются исключением. Через порт USB передается питание для самой платы, а также данные для ее прошивки. За работу протокола USB отвечает: в оригинальных платах – микроконтроллер ATmega16U2, а в неоригинальных – контроллеры серии CH340.
Arduino-контроллеры могут иметь как классические USB Type-B разъем, так и другие его модификации: Mini, Micro и даже Type-C.
Ардуино Нано с разъемом MiniUSB (слева), а также Ардуино УНО с разъемом USB type-B (справа).
Преимущества платформы
Ардуино-совместимые микрокомпьютеры обладают следующими преимуществами:
- невысокая цена;
- возможность самостоятельной сборки;
- универсальность и модульность;
- доступность для непрофессионального пользователя;
- большое количество информации в сети: обучающие ролики, обзоры, пошаговые инструкции;
- множество сообществ, где можно получить ответы на интересующие вопросы;
- наличие дополнительного оснащения (периферии): кнопки, датчики, индикаторы и дисплеи, а также другие устройства и аксессуары, обеспечивающие взаимодействие контроллера с окружающим миром;
- простой процесс разработки системы и ее отладки;
- множество универсальных стартовых наборов и роботизированных конструкторов.
Сравнение
Модельный ряд контроллеров очень разнообразен, но все же из их множества можно выделить пять классических: DUO, Mega, UNO, Nano, Micro, а также ряд специализированных. Давайте взглянем на их различия. А в качестве «эталона» будем отталкиваться от характеристик Ардуино УНО приведенных в таблице ниже.
| МК | Тактовая частота | Flash-память | ОЗУ | ПЗУ | Рабочее напряжение | Цифровые выходы | Выходы с ШИМ | Аналог. выходы | Размер |
|---|---|---|---|---|---|---|---|---|---|
| ATmega328P | 16 МГц | 32 КБ | 2 КБ | 1 КБ | 5 В | 14 | 6 | 6 | 69х54 мм |
Arduino UNO R3 (ATMEGA16U2 + MEGA328P) имеет 14 цифровых входов/выходов, 6 из которых могут использоваться как выходы ШИМ, а также есть 6 аналоговых выходов.

В данной плате применяется чип Atmega16U2, который позволяет превратить плату в любое USB-устройство: от мышки до внешнего диска.
Питание подается по USB или от внешнего источника питания, в качестве которого может использоваться аккумуляторная батарея или сетевой АС/DC-адаптер. Рекомендуется источник питания с напряжением в диапазоне 7-12 В. Объем флеш-памяти составляет 32 КБ.
Контроллер может быть присоединен к компьютеру, другой плате или к другому микроконтроллеру. Для этого он оснащен всем необходимым.
Обратите внимание, что запрещается превышать допустимые величины силы тока! Для одного любого вывода ток не должен быть более 40 мА. Ток для одной группы выводов не может быть более 100 мА. Ток для всего микроконтроллера не должен превышать 200 мА.
Arduino UNO или Mega
Если в классической УНО задействован микроконтроллер ATmega328P, то в Меге его старший брат – ATmega2560. МК отличается увеличенной памятью: флэш-память – 256 КБ, ОЗУ – 8 КБ, ПЗУ – 4 КБ, а также существенно большим числом входов/выходов: 54 цифровых (из них 15 с ШИМ (широтно-импульсная модуляция)), а также 16 аналоговых. За счет большего числа контактов плата на 50% длиннее (102 х 54 мм).
Сравнение моделей UNO и Mega.
Микроконтроллер включает в себя загрузчик, который облегчает установку новых программ без использования дополнительных программаторов. Работа с платой начинается с ее подключения к компьютеру посредством USB-кабеля, а, нажав на кнопку перезагрузки, вы сможете перезагрузить систему в случае непредвиденного сбоя.
Arduino Due
Due – это ТОП версия среди всей линейки классических плат. В этой модели используется микропроцессор SAM3X на основе ARM ядра Cortex-M3. Он имеет рабочую частоту в 84 МГц, флеш-память на 512 КБ и ОЗУ на 96 КБ. Плата имеет аналогичный Mega-версии размер и столько же цифровых пинов, 12 из которых могут использоваться как выходы с ШИМ. Аналоговых контактов – 12 шт.
Отличительной характеристикой DUE является ее питание. Оно составляет всего 3,3 В, что требует особого внимания при подборе периферийных устройств. Размеры Due аналогичны УНО.
Плата Ардуино Due.
Arduino Nano vs Pro mini
Нано и Про Мини – две компактные версии для разработки миниатюрных устройств. Их размеры и вес позволяют создавать компактные и автономные DIY устройства.
Ардуино Нано имеет размер 18 х 43 мм и аналогичные UNO характеристики по числу входов/выходов, а также объему памяти. Также существует версия Nano на базе ATMega168P. Она имеет аналогичные ATMega328P характеристики, но урезанную в 2 раза память. За счет меньшего объема памяти, платы на основе ATMega168 дешевле примерно на 30%.
На плате расположен стабилизатор 5 В и загрузчик, позволяющий платформе перепрошивать саму себя. Можно не использовать загрузчик, а запрограммировать микроконтроллер через ICSP-выводы. Кнопкой RESET производится перезагрузка в случае непредвиденного сбоя. Плата подключается к компьютеру через miniUSB-кабель.
Arduino Pro Mini имеет еще более компактные размеры – 18 х 33 мм. Чтобы достичь этого, пришлось отказаться от контроллера шины USB. Поэтому для загрузки кода программы в Про Мини требуется внешний UART-контроллер (программатор). Pro mini питается через кабель FTDI или от источников питания через имеющиеся выходы (Vcc/RAW).
Платы микроконтроллеров: Nano (слева) и Pro Mini (справа).
Leonardo
Leonardo внешне выглядит как классическая UNO. Но так ли это на самом деле? Чем отличается классическая Arduino UNO от Arduino Leonardo? Давайте разбираться в этом.
Во-первых, типом используемого микроконтроллера. На Леонардо установлен ATMEGA32U4. Его отличительной особенностью является наличие встроенного USB контроллера.
Во-вторых, у платы 20 цифровых входов / выходов, что на 6 больше, чем у классической УНО, а также на четыре больше аналоговых (12 входов / выходов).
В-третьих, полностью переработана схематика платы. Это связано и с меньшими размерами основного МК и с отказом от внешнего UART-контроллера.
В-четвертых, заменен USB вход с типа-А на более популярный MicroUSB.
В-пятых, Leonardo длиннее на 5 мм.
При всем при этом, расположение контактов аналогично, что позволяет использовать на Леонардо любые шилды, совместимые с Уно.
Программируемый контроллер Leonardo R3.
Arduino-совместимые контроллеры
Аналоги Ардуино получили широкое распространение по всему миру. Их не стоит бояться или специально игнорировать. Основной причиной популярности таких устройств является цена. Она минимум в пять раз ниже чем у оригинального устройства. Причинами этого является:
- оптимизация электрической схемы;
- дешевое производство;
- низкая стоимость комплектующих;
- массовое поточное производство.
Arduino-совместимая XTWduino UNO R3 (слева) и оригинальная Arduino (справа).
Часто не специалисту сложно различить оригинальную модель и аналог. Это и не удивительно – китайское производство находится на очень высоком уровне. Поэтому вы не столкнетесь с проблемами подключения, программирования или эксплуатации устройства. Даже расположение и последовательность пинов не отличается. Это позволяет, при необходимости, легко заменить оригинальную плату производителя на аналог и обратно.
Аналоги DUE и MEGA: платы DDcduino DUE 2012 R3 (слева), а также DDcduino MEGA2560 R3 (справа).
Аналоги Pro mini и Nano: платы DDcduino Pro mini (слева) и DDcduino Nano V3.0 (справа).
Платы LY-F2 (слева) и ZYduino UNO R3 (справа).
Специализированные модели
Для управления роботизированными устройствами необходимы специальные модули-драйверы. Однако они существенно увеличивают габариты и перекрывают доступ к другим разъемам. Поэтому были разработаны специализированные контроллеры с выходами для подключения шаговых двигателей, например, серия UNO PRO. Старшая модель этой серии также оснащена встроенным Bluetooth модулем для дистанционного управления.
Специализированные контроллеры UNO PRO 2M (слева) и UNO PRO 4M (справа).
Микроконтроллеры ESP
Микрокомпьютеры на базе ESP – следующий уровень проектирования устройств. Плата-контроллер строится на базе процессоров ESP8266 с частотой 80 МГц или ESP32 имеющей рабочие частоты от 80 до 240 МГц. Микрочипы ESP имеют встроенный модуль Bluetooth, увеличенную флеш-память, а также другой дополнительный функционал.
Программирование их может осуществляться аналогично Arduino-платам, через специализированную IDE. При этом, ряд моделей имеют типоразмер и распиновку, схожую с устройствами, построенными на базе чипов ATmega.
Платы-контроллеры на базе: ESP D1 UNO R3 (слева) и D1 R32 (справа).
Порядок работы и первые шаги
Подключение Arduino
Управление и обмен данными с Ардуино осуществляется через последовательный (serial) порт, он же – разъем USB. Контроллер подключается к компьютеру с помощью обычного USB-кабеля. При этом на нем загораются светодиодные индикаторы, свидетельствующие о подаче питания и начальном обмене данных.
Подключенный Ардуино-контроллер с «горящими» светодиодами.
Windows может сразу не обнаружить ваше устройство. В этом случае следует предварительно установить драйверы. Они могут идти в комплекте к плате (на компакт-диске) или же можно скачать их по первой попавшейся ссылке из поисковика. Также драйвер установится в процессе инсталляции среды программирования.
Программирование
Для программирования Ардуино-совместимого контроллера необходима интегрированная среда разработки (IDE – Integrated Development Environment). Чаще всего используется ArduinoIDE. Данная среда поддерживает множество как оригинальных, так и неоригинальных плат, является бесплатной, а также непрерывно совершенствуется разработчиками. Помимо ArduinoIDE, есть и другое программное обеспечение (ПО), например, Scratch, Snap4Arduino, XOD, Ardublock, mBlock, а также другие.
Окно интегрированной среды разработки ArduinoIDE.
На данный момент актуальная версия среды ArduinoIDE – 2.0.0. Перед скачиванием можно выбрать операционную среду (Windows, Linux или macOS), а также ее разрядность. После того как файл будет скачен, запустите его и следуйте рекомендациям установщика.
Чтобы начать работать с платой «Arduino», при первом запуске программы, необходимо выбрать модель программируемого контролера, с которым будет производиться работа, например, «Arduino UNO». После этого можно начать написание проекта.
ArduinoIDE. Выбор модели платы.
Среда программирования уже имеет базу типовых программ (скетчей) с подробным описанием работы. Для этого можно воспользоваться вкладкой «Примеры» и выбрать подходящий скетч. После выбора, то откроется программный код, который в случае необходимости можно проверить на ошибки, отредактировать или дополнить.
ArduinoIDE. Выбор скетча из базы примеров.
После проверки и компиляции программный код загружается на контроллер, на котором загораются светодиодные индикаторы, свидетельствующие об исправной работе платы.
Документация
Если нужно найти техническую документацию на программируемый контроллер, то это можно сделать на официальном сайте компании https://www.arduino.cc/. Для этого достаточно зайти во вкладку «Product» и выбрать нужную модель контроллера. На сайте документация представлена в полном объеме, включая электрические схемы, что позволяет разобраться, в функционировании контроллера, а также назначении тех или иных контактов.
Примеры решений и техническую помощь нужно искать на специализированных форумах. Найти их несложно через любую поисковую систему.
Какая Arduino лучше?
Можно точно сказать, что для начинающих конструкторов лучшим решением всегда будет плата Arduino UNO. Несмотря на то, что она считается одной из самых бюджетных, ее функционал достаточен для реализации большинства проектов. UNO входит во многие наборы конструкторов, позволяющих легко приступить к изучению принципов электроники и основ робототехники. УНО абсолютно стандартная, а также одна из самых популярных плат, можно сказать, что она является «лицом» компании «Arduino».
Контроллер на ATMega328P Ардуино УНО.
Выбирая модель, прежде всего, следует обратить внимание на технические характеристики, а именно:
- на базе какого микроконтроллера создана плата. От этого будет зависеть скорость ее работы и производительность;
- номиналы входного и выходного напряжения платы влияют на возможность присоединения модулей;
- количество и вид входов/выходов на прямую влияет на количество присоединяемых устройств;
- объем флеш-памяти важен при написании больших программ и обработке массива данных;
- размер платы актуален при конструировании миниатюрных проектов.
Таблица сравнения плат Ардуино
Для большего удобства выбора мы свели основные характеристики контроллеров, предлагаемых нашей компанией, в единую таблицу. Надеемся, она поможет вам с выбором необходимого устройства.