Дайджест: Arduino Uno, Arduino Leonardo, Arduino Nano

Материал из MIK32 микроконтроллер
Внешний вид стандартной платы Arduino (Ardino xxx)

Arduino – это плата, используемая для создания устройств способных взаимодействовать с окружающей средой и воспринимать различные данные из нее при помощи различных датчиков и управляющих устройств. Также это платформа с открытым исходным кодом, основанная на микроконтроллерах.

Особенности:

  1. Плата обладает встроенным программатором (не нужен компилятор);
  2. Использование языка программирования близкого к C/C++, что делает её простой в использовании и изучении;
  3. Наличие множества библиотек для модулей, сенсоров, дисплеев и т.п., доступных для свободного использования;
  4. Для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной платы, перемычек и проводов;
  5. Возможность автономной работы, т.е. использование батареек или аккумуляторов;
  6. Наличие версии для работы с популярной мобильной операционной системой Android;
  7. Огромное количество различных модулей, сенсоров, дисплеев, датчиков и т.п..
  8. Наличие большого количества плат расширения - shields или «шилды».

Arduino Uno:

Arduino UNO

Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферии имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Данная плата контроллера является одной из самых дешевых и наиболее часто используемых.

Характеристики:

Микроконтроллер ATmega328
Рабочее напряжение
Напряжение питания (рекомендуемое) 7-12В
Напряжение питания (предельное) 6-20В
Цифровые входы/выходы 14 (из них 6 могут использоваться в качестве ШИМ-выходов)
Аналоговые входы 6
Максимальный ток одного вывода 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком
SRAM 2 КБ (ATmega328)
EEPROM 1 КБ (ATmega328)
Тактовая частота 16 МГц

Компоненты:

Компоненты Arduino UNO
  1. Кнопка сброса (Reset Button) - это перезапустит любой код, который загружен на плату Arduino
  2. AREF или Analog Reference - используется для установки внешнего опорного напряжения
  3. Штырь заземления (GND, земля) - на Arduino есть несколько штырей заземления, и все они работают одинаково
  4. Цифровые входы/выходы - контакты 0-13 могут использоваться для цифрового ввода или вывода
  5. ШИМ (PWM) - выводы, помеченные символом (~), могут имитировать аналоговый выход
  6. USB-соединение - используется для включения питания Arduino и загрузки эскизов
  7. TX / RX - светодиоды индикации передачи и приема данных
  8. Микроконтроллер ATmega - это мозг и место хранения программ
  9. Светодиодный индикатор питания - этот светодиод загорается каждый раз, когда плата подключена к источнику питания
  10. Регулятор напряжения - контролирует количество напряжения, поступающего на плату Arduino
  11. Разъем питания платы (DC Power Jack) - разъем питания постоянного тока, используется для питания вашего Arduino с помощью блока питания
  12. 3,3 В контакт - этот контакт обеспечивает 3,3 вольт питания для ваших проектов
  13. Штырь 5 В - этот штырь подает 5 В на ваши проекты
  14. Штыри заземления - на Arduino есть несколько штырей заземления и все они работают одинаково
  15. Аналоговые контакты - эти контакты могут считывать сигнал с аналогового датчика и преобразовывать его в цифровой

Arduino Leonardo

Внешний вид платы Arduino Leonardo

Arduino Leonardo - это устройство на базе микроконтроллера ATmega32U4 (datasheet).

Плата Arduino Leonardo существенно расширяет возможности для подключения Arduino к компьютеру. Она рассматривается компьютером как стандартное HID-устройство и может напрямую слать нужные управляющие сигналы. Нельзя сказать, что эта плата может заменить Uno, но обладая уникальными свойствами, она может стать основной новых очень интересных и необычных проектов.

В основе Leonardo лежит достаточно продвинутый микроконтроллер ATmega32u4. Сама плата достаточно сильно похожа на Uno, на ней можно найти два десятка входов и выходов, разъем micro-USB, кнопка для перезагрузки, а также разъемы ICSP и силовой вход. Питание платы стандартное для ардуино, рекомендуемой напряжение 7-12 вольт.

Характеристики:

Микроконтроллер ATmega32u4
Рабочее напряжение
Напряжение питания (рекомендуемое) 7-12В
Напряжение питания (предельное) 6-20В
Цифровые входы/выходы 20
Каналы ШИМ 7
Аналоговые входы 12
Максимальный ток одного вывода 40 мА
Максимальный выходной ток вывода 3.3V   50 мА
Flash-память 32 КБ (ATmega32u4) из которых 4 КБ используются загрузчиком
SRAM 2.5 КБ (ATmega32u4)
EEPROM 1 КБ (ATmega32u4)
Тактовая частота 16 МГц
Элементы Arduino Leonardo

Пины питания:

  • VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
  • 5V: На вывод поступает напряжение 5 В от стабилизатора платы. Стабилизатор обеспечивает питание микроконтроллера ATmega32U4. Питать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3.3V: 3,3 В от стабилизатора напряжения платы. Максимальный ток — 50 мА.
  • GND: Выводы земли.
  • IOREF: Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.

Порты ввода/вывода:

  • Цифровые входы/выходы: пины 013 Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ: пины 3,5,6,9,10,11 и 13 Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • АЦП: пины A0A5, A6A11(на цифровых пинах 4, 6, 8, 9, 10 и 12). В Arduino Leonardo есть 12 аналоговых входов, каждый из которых может представить напряжение в виде 10-битного кода (1024 значений). Разрядность АЦП — 10 бит.
  • TWI/I²C: пины SDA и SCL Для общения с периферией по синхронному протоколу, через 2 провода с использованием библиотеки Wire.
  • SPI: пины разъёма ICSP Выводы позволяют осуществлять связь по интерфейсу SPI. Обратите внимание, что линии SPI выведены только на разъём ICSP и не соединены с выводами платы, как на Arduino Uno. Те SPI-платы расширения, у которых нет 6-контактного разъёма ICSP для подсоединения к Leonardo — работать не будут.
  • UART: пины 0(RX) и 1(TX) Используется для коммутации платы Arduino с другими устройствами через класс Serial1. Для связи Arduino Leonardo с компьютером через порт micro-USB, используйте класс Serial

Разъём micro-USB:

Разъём micro-USB предназначен для прошивки платформы Arduino Leonardo с помощью компьютера.

Разъём для внешнего питания:

Разъём для подключения внешнего питания от 7 В до 12 В.

ICSP-разъём:

ICSP-разъем предназначен для внутрисхемного программирования микроконтроллера ATmega32U4. Также с применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI. Обратите внимание линии SPI не продублированы на цифровых контактах, как например на Arduino Uno. Это означает, что если плата расширения использует SPI и не имеет снизу ICSP-разъёма ответного к этим штырькам на Arduino, она работать не будет.

Arduino Nano

Внешний вид платы Arduino Nano

Arduino NANO - компактная платформа для прототипирования микроэлектронных устройств, предназначенная для использования с макетной платой.

Основа Arduino Nano - микроконтроллер на базе ATmega328, логическая микросхема для обработки данных с тактовой частотой 16 МГц, имеющая на борту 8 аналоговых и 14 цифровых контактов общего назначения, а также все необходимые интерфейсы: I2C, SPI и UART.

Основные преимущества Arduino Nano:
  • Простота использования
  • Быстрое изучение
  • Удобная среда разработки
  • Открытый исходный код
  • Сообщество поклонников
  • Тысячи готовых проектов
  • Возможности расширения


Из-за своих габаритных размеров плата часто используется в проектах, в которых важна компактность. На плате отсутствует вынесенное гнездо внешнего питания, Ардуино работает через USB (miniUSB или microUSB). В остальном параметры совпадают с моделью Arduino Uno.

Arduino Nano V3

Характеристики Arduino Nano

Микроконтроллер Atmel ATmega168 или ATmega328
Рабочее напряжение (логическая уровень) 5 В
Входное напряжение (рекомендуемое) 7-12 В
Входное напряжение (предельное) 6-20 В
Цифровые Входы/Выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 8
Постоянный ток через вход/выход 40 mAh с одного вывода и 500 mAh со всех выводов
Флеш-память 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика
ОЗУ 1 Кб (ATmega168) или 2 Кб (ATmega328)
EEPROM 512 байт (ATmega168) или 1 Кб (ATmega328)
Тактовая частота 16 МГц
Размеры 1.85 см x 4.2 см

Элементы Arduino Nano:

Элементы Arduino Nano
Микроконтроллер ATmega328P

Сердцем платформы Arduino Nano является 8-битный микроконтроллер семейства AVR — ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.

Микросхема FT232R

Микросхема FTDI FT232R обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК Arduino Nano определяется как виртуальный COM-порт.

Разъём Mini-USB

Разъём Mini-USB предназначен для прошивки платформы Arduino Nano с помощью компьютера.

Регулятор напряжения 5 В

Линейный понижающий регулятор напряжения LM1117MPX-5.0 с выходом 5 вольт обеспечивает питание микроконтроллера ATmega328P и другой логики платформы. Максимальный выходной ток составляет 800 мА.

ICSP-разъём для ATmega328

ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328 через программатор.

Через контакты ICSP Arduino Nano общается с платами расширения по интерфейсу SPI.

Распиновка:

Распиновка Arduino Nano

Пины питания:

  • VIN: Входной пин для подключения внешнего источника питания с напряжением в диапазоне от 7 до 12 вольт.
  • 5V: Выходной пин от регулятора напряжения на плате с выходом 5 вольт и максимальных током 800 мА. Питать устройство через вывод 5V не рекомендуется — вы рискуете спалить плату.
  • 3.3V: Выходной пин от стабилизатора микросхемы FT232R с выходом 3,3 вольта и максимальных током 50 мА. Питать устройство через вывод 3V3 не рекомендуется — вы рискуете спалить плату.
  • GND: Выводы земли.
  • AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».

Порты ввода/вывода:

  • Цифровые входы/выходы: пины 013 Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ: пины 3,5,6,9,10 и 11 Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.
  • АЦП: пины A0A7 Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В. При подаче большего напряжения — вы убьёте микроконтроллер.
  • TWI/I²C: пины A4(SDA) и A5(SCL) Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеку Wire.
  • SPI: пины 11(MOSI), 12(MISO), 13(SCK) и 10(SS) Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеку SPI.
  • UART: пины 0(RX) и 1(TX) Используется для коммуникации платы Arduino с компьютером или другими устройствами по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими USB-UART преобразователя FT232R. Для работы с последовательным интерфейсом — используйте методы библиотеки Serial.