Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 0

Arduino Leonardo R3

  • <label> Нет в наличии </label>

Arduino Leonardo — контроллер на базе ATmega32u4, в котором сам микроконтроллер используется в качестве USB-UART преобразователя. Этим плата выделяется среди линейки Arduino, где для коммуникации используется дополнительный микроконтроллер.

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

  • Плата общается через USB не по аппаратному, а по виртуальному serial-порту. Благодаря этому аппаратный порт остается свободным, и его можно использовать одновременно с коммуникацией с компьютером. Виртуальный serial-порт доступен через класс Serial, а аппаратный — через класс Serial1.

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

  • Рабочее напряжение: 5 В
  • Входное напряжение (рекомендуемое): 7-12 В
  • Входное напряжение (предельное): 6-20 В
  • Цифровые Входы/Выходы: 20 (7 из которых могут использоваться как выходы ШИМ)
  • Аналоговые каналы: 12
  • Постоянный ток через вход/выход: 40 мА
  • Постоянный ток для вывода 3.3В: 50 мА
  • Флеш-память: 32 Кб из которых 4 Кб используются для загрузчика
  • ОЗУ: 2 Кб
  • EEPROM: 1 Кб
  • Тактовая частота: 16 МГц

#Arduino, #Leonardo

—>

  • Модель: —> Наличие: Нет в наличии —>

—> <label>Количество: </label> —> —> В КОРЗИНУ —> —>

Arduino Leonardo схожа по форм фактору с Arduino Uno но имеет некоторые отличия. Эта плата имеет встроенную поддержку USB соединения. Это позволяет подключать этот микроконтроллер к компьютеру как периферийное устройство. Эту плату можно использовать при разработке игровых контроллеров, клавиатур, манипуляторов и тд. Плата Arduino Leonardo имеет на борту микроконтроллер ATmega32u4 20 цифровых вводов/выводов (7 из них могут использоваться как ШИМ выводы), 12 аналоговых пинов, кварцевый генератор с частотой 16 МГц, разъем micro usb, штекер питания и кнопку перезагрузки.

Характеристики ардуино леонардо

  • Микроконтроллер: ATmega32u4
  • Диапазон допустимого напряжения питания: 5-20 В
  • Рекомендуемое напряжение питания: 7-12 В
  • Количество цифровых вводов/выводов: 20
  • ШИМ: 7 цифровых пинов могут быть использованы как выводы ШИМ
  • Количество аналоговых выводов: 12
  • Максимальная сила тока: 40 mAh с одного вывода и 500 mAh со всех выводов.
  • Flash память: 32 кб
  • SRAM: 2 кб
  • EEPROM: 1 кб
  • Тактовая частота: 16 МГц

Подключение Arduino Leonardo к питанию

Эту плату можно питать четырьмя способами:

  1. Через порт USB. Можно питать ардуино от компьютера, powerbank, смартфона (если он поддерживает режим OTG) или от адаптера, вставленного в розетку.
  2. Через пин +5V. Этот пин является не только выводом, но и вводом. Будьте внимательны! На этот пин нужно подавать ровно 5 вольт. В противном случае можно спалить сам микроконтроллер.
  3. Через штекер питания, расположенный на плате. Можно использовать, батарейки, аккумуляторы и разнообразные блоки питания. Этот штекер подключен к пину VIN. О напряжении и мерах предосторожности написано в следующем пункте.
  4. Через пин VIN. Ток от этого пина проходит через встроенный стабилизатор напряжения. По заявлениям производителя можно подавать от 5 до 20 вольт. Но это не совсем так. Так как стабилизатор напряжения имеет не 100% КПД, то при подаче 5 вольт на пин VIN напряжения может не хватить на питание микроконтроллера, да и на цифровых пинах будет не 5 вольт, а меньше. Также не стоит работать на максимальном напряжении. При 20 вольтах на пине VIN будет сильно греться стабилизатор напряжения, вплоть до выхода из строя. Поэтому рекомендуется использовать напряжение от 7 до 12 вольт.

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

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

Как уже было написано выше, плата имеет 20 цифровых пинов. На плате они помечены с ведущей буквой «D» (digital или цифровой). Они могут быть как входом так и выходом. Рабочее напряжение этих пинов составляет 5 В. Каждый из них имеет подтягивающий резистор и поданное на один из этих пинов напряжения ниже 5 вольт все равно будет считаться как 5 вольт (логическая единица).

Аналоговые пины на плате помечены ведущей «A». Эти пины являются входами и не имеют подтягивающих резисторов. Они измеряют поступающее на них напряжение и возвращают значение от 0 до 1024 при использовании функции analogRead(). Эти пины измеряют напряжение с точностью до 0,005 В.

ШИМ Arduino Leonardo

Если внимательно посмотреть на плату то можно увидеть значок тильды (~) рядом с некоторыми цифровыми пинами. Этот значок означает, что данный пин может быть использован как выход ШИМ. На некоторых платах ардуино этого значка нет так как производители не всегда находят место для этого символа на плате. У Arduino Leonardo есть 7 выводов ШИМ, это пины D3, D5, D6, D9, D10, D11 и D13. Для использования ШИМ в Arduino есть специальная функция analogWrite().

Другие пины:

  • rx0 и tx1 используются для передачи данных по последовательному интерфейсу.
  • Интерфейс SPI на плате Arduino Leonardo не распая на цифровые пины. Для этих целей есть отдельные вводы/выводы.
  • На выводе D13 имеется встроенный в плату светодиод.
  • Выводы 2 (SDA) и 3 (SCL) могут использоваться для связи с другими устройствами по шине I2C. Подробнее про этот интерфейс вы можете почитать на википедии. В среде разработке Arduino IDE есть встроенная библиотека «wire.h» для более легкой работы с I2C.

Физические характеристики

Arduino Leonardo имеет следующие размеры: длина 69 мм и ширина 53 мм. Однако разъем питания и разъем USB немного выпирают за пределы печатной платы. Leonardo весит около 25 грамм. Плата имеет 4 отверстия для возможности ее закрепления на поверхности. Расстояние между выводами равняется 2,5 мм, кроме выводов 7 и 8. Между ними 4 мм.

Принципиальная схема

Принципиальная схема Arduino Leonardo

Arduino Leonardo — контроллер на базе ATmega32u4. Платформа имеет 20 цифровых вход/выходов (7 из которых могут использоваться как выходы ШИМ и 12 — как аналоговые входы), кварцевый генератор 16 МГц, разъем микро-USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру через кабель USB, либо подать питание при помощи адаптера AC/DC или батареи.

В отличие от всех предыдущих плат ATmega32u4 имеет встроенную поддержку для USB соединения, что позволяет задать как Leonardo будет виден при подключении к компьютеру: это может быть клавиатура, мышь, виртуальный серийный/COM порт.

Питание

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

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

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

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

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

Память

Микроконтроллер ATmega32u4 располагает 32 кБ флэш памяти, из которых 4 кБ используется для хранения загрузчика, а также 2.5 кБ ОЗУ (SRAM) и 1 Кб EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).

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

Каждый из 20 цифровых выводов Leonardo может настроен как вход или выход, используя функции pinMode(), digitalWrite() и digitalRead(). Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega32U4 USB-to-TTL. Обратите внимание что у Leonardo, класс Serial относится к последовательному соединению USB CDC. Последовательное соединение через выводы 0 и 1 осуществляется через класс Serial1.
  • TWI: 2 (SDA) и 3 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.
  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания, либо на младшем значении, либо на переднем или заднем фронте или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
  • ШИМ: 3, 5, 6, 9, 10, 11 и 13. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
  • SPI: на разъеме ICSP. Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI. В Leonardo выводы SPI не разведены на цифровые входы/выходы.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
  • Аналоговые входы: A0-A5, A6-A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Leonardo имеет 12 аналоговых входов, помеченных от A0 до A11. Все аналоговые входы могут работать в режиме цифровых вход/выходов. Входы с A0 по A5 совпадают с аналоговыми входами UNO. Входы с A6 по A11 на цифровых выводах 4, 6, 8, 9, 10 и 12 соответственно. Рарешение аналоговых входов — 10 бит, т.е. 1024 различных значения. По умолчанию значение на аналоговых входах измеряется от земли (0) до 5 В, верхний предел диапазона может быть изменен с помощью AREF входа и analogReference() функции.

Дополнительная пара выводов платформы:

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

Связь

На платформе Arduino Leonardo можно устанавливать связь с компьютером, другими устройствами Arduino или микроконтроллерами несколькими способами. ATmega32U4 поддерживает последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). ATmega32U4 позволяет также организовать последовательное соединение с программами на стороне компьютера через USB так, чтобы они сообщались с платой через виртуальный COM порт. Leonardo c помощью стандартных драйверов USB COM (для Windows потребуется .inf файл) может подключаться как USB 2.0 устройтво.  Мониторинг последовательной шины (Serial Monitor) среды разработки Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Библиотекой SoftwareSerial можно создать последовательную передачу данных через любой из цифровых выводов Leonardo.

ATmega32U4 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Для SPI может использоваться библиотека SPI.

Arduino Leonardo умеет определяться при подключение к компьютеру как устройство мышь или клавиатура. Управление этим режимом осуществляется через классы Keyboard и Mouse.

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

Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Leonardo» (согласно установленному микроконтроллеру).

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

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

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

Leonardo разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Перезагрузка срабатывает когда виртуальный CDC COM порт открывается со скоростью 1200 бод, а затем закрывается. Когда это происходит, микропроцессор уходит на перезагрузку, разрывая USB соединение. После перезагрузки стартует загрузчик (бутлодер) и остается активным примерно 8 секунд. Загрузчик также можно инициировать нажатием кнопки Reset.

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

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

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

Физические характеристики

Размер печатной платы Leonardo составляют 6,9 на 5,3 см. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, между другими выводами оно составляет 0,25 см.

Используемые источники:

  • https://roboshop.spb.ru/arduino-leonardo
  • https://all-arduino.ru/product/arduino-leonardo/
  • https://arduino54.ru/catalog/platy-mikrokompyutery/arduino/arduino-leonardo-r3/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации