Arduino Leonardo
Статья из энциклопедии «Занимательной робототехники»
Что такое Arduino Leonardo?
Arduino Leonardo — это плата схожая по характеристикам с Arduino Uno, но с несколько отличающимся микроконтроллером и его обвязкой.
Arduino Leonardo — контроллер на базе ATmega32u4. Платформа имеет 20 цифровых вход/выходов (7 из которых могут использоваться как выходы ШИМ и 12 как аналоговые входы), кварцевый генератор 16 МГц, разъем микро-USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.
В отличие от всех предыдущих плат ATmega32u4 имеет встроенную поддержку для USB соединения, это позволяет задать как Leonardo будет виден при подключение к компьютеру, это может быть клавиатура, мышь, виртуальный серийный / COM порт.
Характеристики Arduino Leonardo
Микроконтроллер
|
ATmega32u4
|
Рабочее напряжение
|
5 В
|
Входное напряжение (рекомендуемое)
|
7-12 В
|
Входное напряжение (предельное)
|
6-20 В
|
Цифровые Входы/Выходы
|
20 (7 из которых могут использоваться как выходы ШИМ)
|
Аналоговые каналы
|
12 |
Постоянный ток через вход/выход
|
40 мА
|
Постоянный ток для вывода 3.3 В
|
50 мА
|
Флеш-память
|
32 Кб (ATmega32u4) из которых 4 Кб используются для загрузчика
|
ОЗУ
|
2 Кб (ATmega32u4)
|
EEPROM
|
1 Кб (ATmega32u4)
|
Тактовая частота
|
16 МГц
|
Питание Arduino Leonardo
Arduino Leonardo может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.
Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.
Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 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).
Входы и Выходы Arduino Leonardo
Каждый из 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 не разведены на цифровые вход/выходы как это было в предыдущих версиях Arduino контроллеров.
- LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
- Аналоговые входы: A0-A5, A6-A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Leonardo имеет 12 аналоговых входов, помеченных от A0 до A11. Все аналоговые входы могут работать в режиме цифровых вход/выходов. Входы с A0 по A5 совпадают с аналоговыми входами Arduino 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.
Автоматическая (программная) перезагрузка
Плата Arduiono Leonardo разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Перезагрузка срабатывает когда виртуальный CDC COM порт открывается со скоростью 1200 бод, а затем закрывается. Когда это происходит, микропроцессор уходит на перезагрузку, разрывая USB соединение. После перезагрузки стартует загрузчик (бутлодер) и остается активным примерно 8 секунд. Загрузчик также можно инициировать нажатием кнопки Reset. Обратите внимание, что при подачи питания контроллер сразу переходит к выполнению загруженной пользовательской программы без выполнения загрузчика.
Токовая защита разъема USB
В Arduino Leonardo встроен самостоятельно восстанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатывает при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут восстановлены.
Физические характеристики Arduino Leonardo
Размер печатной платы Leonardo составляют 6.9 на 5.3 см. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.
Сравнение Arduino Leonardo и UNO
Uno | Leonardo | ||
---|---|---|---|
Микроконтроллер | ATmega328p | ATmega32u4 | |
Количество цифровых входов/выходов | 20 | 20 | |
…из них ШИМ поддерживают | 6 | 7 | |
Количество аналоговых входов | 6 | 12 | |
Количество контактов для аппаратного прерывания | 2 | 5 | |
Объём Flash-памяти (кБ) | 32 | 32 | |
Объём SRAM-памяти (кБ) | 2 | 2,5 | |
Объём EEPROM-памяти (кБ) | 1 | 1 | |
Тактовая частота (МГц) | 16 | 16 | |
Количество аппаратных serial-портов | 1 | 1 | |
USB-разъём | Type B | micro-USB |
Где купить Arduino
Наборы Arduino можно купить на официальном сайте и в многочисленных интернет-магазинах.
Наиболее привлекательные цены, постоянные спецпредложения и бесплатная доставка на сайтах китайских магазинов AliExpress и DealExtreme. Если нет времени ждать посылку из Китая - рекомендуем интернет-магазин Амперка. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore.
Будьте аккуратны при выборе – в продаже есть как оригинальные платы, так и более дешевые клоны. Впрочем аналоги не значительно отличаются от оригинала.
Подробные инструкции по выбору и покупке Arduino для начинающих.
Как купить Arduino дешевле 100 рублей.
Список рекомендованных магазинов.
Категории: Платформы и конструкторы
Источники информации: Описание Arduino Leonardo (Амперка), arduino.ru