Arduino:Продукты/Продукты Arduino/Плата Lilypad Arduino USB

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


LilyPad Arduino USB[1]

LilyPad Arduino USB – это микроконтроллерная плата на базе чипа ATmega32u4. У нее 9 цифровых I/O контактов (из которых 4 можно использовать для выдачи ШИМ и 4 также являются входными аналоговыми контактами), тактовая частота 8 МГц, соединение типа Micro-USB, коннектор JST для 3,7-вольтовой литий-ионной батареи и кнопка сброса. Она имеет все необходимое для поддержки микроконтроллера; чтобы начать использовать, просто подключите ее к компьютеру через USB-кабель или запитайте от батареи.

Плата LilyPad Arduino USB отличается от предыдущих LilyPad тем, что чип ATmega32u4 имеет встроенный функционал для USB-коммуникации, что устраняет необходимость в отдельном адаптере, конвертирующем USB-данные в последовательные данные. Благодаря этому LilyPad Arduino USB отображается на компьютере как мышь или клавиатура – вдобавок к виртуальному (CDC) последовательному/COM порту. Это влияет на работу платы и в другом, и подробнее об этом можно почитать на ознакомительной странице.

О гарантии можно почитать тут.

С чего начать

На этой странице можно найти всю необходимую информацию о том, как настроить плату, использовать IDE Arduino и т.д.

Нужна помощь?

  • О проектах можно почитать на вебсайте LilyPad
  • Клиентскую поддержку о продуктах можно запросить здесь

Технические характеристики

  • Микроконтроллер – ATmega32u4
  • Рабочее напряжение – 3,3 вольта
  • Входное напряжение – 3,8-5 вольт
  • Цифровые I/O контакты – 9 шт.
  • Цифровые I/O контакты с поддержкой ШИМ – 4 шт.
  • Входные аналоговые контакты – 4 шт.
  • Максимальная сила тока на один I/O контакт – 40 миллиампер
  • Flash-память – 32 Кб (ATmega32u4), из которых 4 Кб используются загрузчиком
  • SRAM – 2,5 Кб (ATmega32u4)
  • EEPROM – 1 Кб (ATmega32u4)
  • Тактовая частота – 8 МГц

Документация

LilyPad Arduino USB распространяется по принципу «open-source». Вы можете собрать на ее основе собственную плату, используя файлы ниже:

Питание

Плату LilyPad Arduino USB можно питать от USB-соединения или от 3,7-вольтовой литий-полимерной батареи (подключается к плате через коннектор JST). Напряжение от любого источника питания регулируется до рабочего напряжения (3,3 вольта) встроенным MIC5219.

Кроме того, плату можно включать/выключать при помощи встроенного переключателя. Если выставить его в положение ON, микроконтроллер начнет получать питание, а плата заработает. Если выставить его в положение CHG, микроконтроллер перестанет получать питание. (Речь о случаях, когда питание идет от USB или батареи).

Плата оснащена чипом MCP73831, который управляет зарядкой литий-полимерной батареи. Если плата подключена и к USB-соединению, и к батарее, USB начнет заряжать эту батарею – независимо от положения переключателя. Если батарея заряжается, загорится светодиод, расположенный выше слова CHG. Когда батарея зарядится полностью, зарядка прекратится.

Контакты для питания:

  • (+) – отрегулированные 3,3 вольта, используемые для питания микроконтроллера и других компонентов платы. Может идти либо от USB, либо от батареи, и в обоих случаях – через встроенный регулятор напряжения. Этот контакт питается только в том случае, если переключатель выставлен в положение ON.
  • (-) – контакт для «земли».

Память

Чип ATmega32u4 имеет 32 Кб flash-памяти для хранения кода, из которых 4 Кб используются загрузчиком. У него также есть 2,5 Кб памяти типа SRAM и 1 Кб памяти типа EEPROM, запись и считывание с которой осуществляются при помощи библиотеки EEPROM.

Входные и выходные контакты

Каждый из 9 цифровых I/O контактов LilyPad Arduino USB можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode(), digitalWrite() и digitalRead(). Они работают на 3,3 вольтах. Каждый контакт может получать/отдавать не более 40 миллиампер и имеет встроенный подтягивающий резистор (по умолчанию отключен) на 20-50 кОм.

Кроме того, некоторые контакты имеют специальные функции:

  • Интерфейс TWI: контакты 2 (SDA) и 3 (SCL). Поддерживают простую коммуникацию типа TWI при помощи библиотеки Wire.
  • Внешние прерывания: контакты 2 и 3. Эти контакты можно настроить на активацию прерывания при переключении на значение LOW, убывающем/возрастающем фронте импульса или при переключении значения. Более подробно читайте в статье о функции attachInterrupt().
  • ШИМ: контакты 3, 9, 10, 11 и 13. Поддерживают выдачу 8-битной ШИМ при помощи функции analogWrite().
  • Встроенный светодиод: контакт 13. Если подать на него значение HIGH, то светодиод включится, а если LOW, то выключится.
  • Входные аналоговые контакты: с A2 по A5. Каждый из них можно использовать в качестве цифрового I/O контакта, и все они поддерживают 10-битное разрешение (т.е. могут работать с 1024 разными значениями). По умолчанию вольтовый диапазон на них составляет от «земли» до 5 вольт, однако верхнюю границу этого диапазона можно поменять при помощи функции analogReference().

Распиновку между контактами Arduino и портами ATmega32u4 можно посмотреть по этой ссылке.

Коммуникация

Плата LilyPad Arduino USB имеет несколько средств для коммуникации с компьютером, а также с другими Arduino и микроконтроллерами. Благодаря чипу ATmega32u4 плата поддерживает последовательную (CDC) коммуникацию через USB и отображается на ПО компьютера как виртуальный COM-порт. Этот чип также может действовать в качестве устройства типа USB 2.0, работающего в режиме full-speed, для чего достаточно стандартных драйверов USB/COM. На Windows потребуется файл *.inf. В IDE Arduino встроен монитор порта, позволяющий отправлять простые текстовые данные – и на плату, и от нее. Также на плате имеются светодиоды RX и TX, которые загораются при передаче данных через USB-соединение с компьютером.

Кроме того, благодаря библиотеке SoftwareSerial любой цифровой контакт LilyPad Arduino USB можно использовать для последовательной передачи данных.

LilyPad Arduino USB также поддерживает коммуникацию типа I2C (TWI). Чтобы упростить работу с этой шиной, в IDE Arduino встроена библиотека Wire.

На ПО компьютера LilyPad Arduino USB отображается как обычная клавиатура или мышь. Таким образом, LilyPad можно запрограммировать так, чтобы использовать ее в качестве мыши или клавиатуры –для этого понадобятся библиотеки Mouse и Keyboard.

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

LilyPad Arduino USB программируется при помощи IDE Arduino. Перед началом работы зайдите в программу, кликните на Инструменты > Плата > LilyPad Arduino USB (Tools > Board > LilyPad Arduino USB). Более подробно читайте в статье о языке Arduino и руководствах.

Чип ATmega32u4 на LilyPad Arduino USB идет с уже установленным загрузчиком, который позволяет загружать на плату новый код без использования внешнего аппаратного программатора. Он коммуницирует через протокол AVR109.

Вы можете обойти этот загрузчик и программировать микроконтроллер через ICSP-гребешок. Впрочем, эти отверстия слишком малы, поэтому к контактам на ISP-коннекторе программатора нужно подсоединить штырьковый гребешок, а затем вплотную прижать его к ICSP-гребешку на плате (сверху).

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

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

Из-за того, как LilyPad Arduino USB работает система сброса, лучше позволить IDE Arduino инициировать сброс перед загрузкой скетча – особенно если вы привыкли, работая с другими платами, делать это сами.

Если IDE Arduino не сумеет сбросить плату, вы всегда сможете запустить загрузчик сами, дважды быстро нажав на кнопку сброса на плате.

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

Плата LilyPad Arduino USB имеет круглую форму и диаметр примерно Диаметр::50 мм.. Впрочем, коннектор Micro-USB выходит немного за пределы этого диаметра. Толщина самой платы составляет 0,8 мм, а если вместе с компонентами (самым толстым из которых является коннектор JST), то 6,5 мм.

См.также

Внешние ссылки