====== Arduino Leonardo: распиновка, схема подключения и программирование ======
[[amp>product/arduino-leonardo?utm_source=man&utm_campaign=arduino-leonardo&utm_medium=wiki|Arduino Leonardo]] — платформа для разработки на базе микроконтроллера ATmega32U4.
{{ :продукты:arduino-leonardo:arduino_leonardo_overview.jpg?nolink |}}
На плате предусмотрены: 20 цифровых входов/выходов (7 из них могут работать в качестве ШИМ-выходов, 12 — в качестве аналоговых входов), кварцевый резонатор на 16 МГц, разъём микро-USB, разъём питания, разъём для внутрисхемного программирования ICSP (In-Circuit Serial Programming) и кнопка сброса.
Отличие Arduino Leonardo от других плат в том, что его USB-контроллер встроен непосредственно в микроконтроллер ATmega32U4, исключая необходимость в дополнительном процессоре. При подключении к компьютеру Leonardo определяется HID-устройство (вроде клавиатуры или мыши) — сделать на основе Arduino Leonardo новый компьютерный манипулятор значительно проще, чем с другими платами.
===== Подключение и настройка =====
Для работы с платой Arduino Leonardo в операционной системе Windows [[articles:arduino-ide-install|скачайте и установите]] на компьютер интегрированную среду разработки Arduino IDE.
==== Что-то пошло не так? ====
* [[установка-и-настройка-arduino-ide:arduino-leonardo-restore|У меня не появляется новых устройств при подключении Arduino]]
===== Элементы платы =====
{{ :продукты:arduino-leonardo:arduino_leonardo_annotation.png?nolink |}}
==== Микроконтроллер ATmega32U4 ====
Сердцем платформы Iskra Neo является 8-битный микроконтроллер семейства AVR — ATmega32U4. Он предоставляет в ваше распоряжение 32 КБ флеш-памяти для хранения прошивки, 2.5 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных. Этого вполне достаточно для решения множества задач вроде управления роботом, промышленной автоматикой, умным домом, световыми инсталляциями и т.д.
==== Пины питания ====
* **VIN:** Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
* **5V:** На вывод поступает напряжение 5 В от стабилизатора платы. Стабилизатор обеспечивает питание микроконтроллера ATmega32U4. Питать устройство через вывод ''5V'' не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
* **3.3V:** 3,3 В от стабилизатора напряжения платы. Максимальный ток — 50 мА.
* **GND:** Выводы земли.
* **IOREF:** Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.
==== Порты ввода/вывода ====
* **Цифровые входы/выходы:** пины ''0''–''13''\\ Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
* **ШИМ:** пины ''3'',''5'',''6'',''9'',''10'',''11'' и ''13''\\ Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
* **АЦП:** пины ''A0''–''A5'', ''A6''–''A11''(на цифровых пинах 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''
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| RX и TX |Мигают при обмене данными между Arduino Leonardo и ПК.|
| L | Светодиод выводу ''13''. При отправке значения HIGH светодиод включается, при отправке LOW – выключается.|
| ON |Индикатор питания Arduino Leonardo.|
==== Разъём micro-USB ====
Разъём micro-USB предназначен для прошивки платформы Arduino Leonardo с помощью компьютера.
==== Разъём для внешнего питания ====
Разъём для подключения внешнего питания от 7 В до 12 В.
==== ICSP-разъём ====
ICSP-разъем предназначен для внутрисхемного программирования микроконтроллера ATmega32U4.
Также с применением библиотеки ''SPI'' данные выводы могут осуществлять связь по интерфейсу SPI. Обратите внимание линии SPI не продублированы на цифровых контактах, как например на [[amp>product/arduino-uno?utm_source=man&utm_campaign=arduino-leonardo&utm_medium=wiki|Arduino Uno]]. Это означает, что если плата расширения использует SPI и не имеет снизу ICSP-разъёма ответного к этим штырькам на Arduino, она работать не будет.
===== Распиновка =====
{{:продукты:arduino-leonardo:arduino_leonardo_pinout.png?direct&700 |}}
===== Принципиальная и монтажная схемы =====
{{:продукты:arduino-leonardo:arduino_leonardo_schematic.png?direct&350 |}}
{{ :продукты:arduino-leonardo:arduino_leonardo_layout.png?direct&300|}}
===== Характеристики =====
* Микроконтроллер: ATmega32u4
* Тактовая частота: 16 МГц
* Напряжение логических уровней: 5 В
* Входное напряжение питания: 7–12 В
* Портов ввода-вывода общего назначения: 20
* Максимальный ток с пина ввода-вывода: 40 мА
* Максимальный выходной ток пина 3.3V: 50 мА
* Максимальный выходной ток пина 5V: 800 мА
* Портов с поддержкой ШИМ: 7
* Портов, подключённых к АЦП: 12
* Разрядность АЦП: 10 бит
* Flash-память: 32 КБ
* EEPROM-память: 1 КБ
* Оперативная память: 2,5 КБ
* Габариты: 69×53 мм
===== Ресурсы =====
* {{:продукты:arduino-leonardo:atmega32u4.pdf|Datasheet на микроконтроллер Atmega32U4}}
* [[amp>product/arduino-leonardo?utm_source=man&utm_campaign=arduino_leonardo&utm_medium=wiki|Arduino Leonardo ]] в магазине.