Дайджест: 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, она работать не будет.