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

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

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


Arduino Micro[1]

Arduino Micro – это микроконтроллерный модуль на базе ATmega32U4«даташитом» можно ознакомиться тут), разработанный в сотрудничестве с Adafruit. он оснащен 20 цифровыми I/O контактами (из которых 7 можно использовать для ШИМ, а 12 – аналоговые контакты), кварцевым генератором на 16 МГц, соединением типа micro USB, ICSP-гребешком и кнопкой сброса. Он имеет все необходимое для поддержки микроконтроллера – чтобы начать, просто подключите его к компьютеру через кабель micro USB. Он выполнен в такой форме, чтобы его без труда можно было разместить на макетной плате.

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

Почитать о гарантии можно здесь.

С чего начать

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

Если нужна помощь, то...

На базе Arduino Micro можно создать множество различных проектов, а руководства по их созданию можно найти тут. Вот несколько примеров оттуда:

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

  • Микроконтроллер – ATmega32U4
  • Рабочее напряжение – 5 вольт
  • Входное напряжение (рекомендуемое) – 7-12 вольт
  • Входное напряжение (лимит) – 6-20 вольт
  • Цифровые I/O контакты – 20
  • Цифровые I/O контакты с поддержкой ШИМ – 7
  • Входные аналоговые контакты – 12
  • Максимальная сила тока на один I/O контакт – 20 миллиампер
  • Максимальная сила тока на контакт 3.3V – 50 миллиампер
  • Flash-память – 32 Кб (ATmega32U4), из которых 4 Кб отведено под загрузчик
  • SRAM – 2,5 Кб (ATmega32U4)
  • EEPROM – 1 Кб (ATmega32U4)
  • Тактовая частота – 16 МГц
  • Встроенный светодиод (LED_BUILTIN) – 13-ый
  • Длина – 48 мм.
  • Ширина – 18 мм.
  • Вес – 13 грамм

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

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

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

Модуль Arduino Micro программируется при помощи IDE Arduino. Зайдите в нее и кликните на Инструменты > Плата > Arduino/Genuino Micro (Tools > Board > Arduino/Genuino Micro). О языке программирования Arduino читайте тут, а о руководствах – тут.

Чип ATmega32U4 на Arduino Micro идет уже с загрузчиком, который позволяет вам загружать новый код, избавляя от необходимости использовать внешний аппаратный программатор. Этот загрузчик коммуницирует при помощи протокола AVR109.

Вы, впрочем, можете обойти загрузчик и запрограммировать микроконтроллер через ICSP-гребешок (от «in-circuit serial programming») при помощи Arduino ISP или похожего устройства. Более подробно читайте тут.

Внимание

Модуль Micro оснащен восстанавливаемым предохранителем, который защищает USB-порты вашего компьютера от коротких замыканий и избыточного напряжения. Хотя многие компьютеры обладают собственной защитой от подобных неприятностей, лишняя степень защиты все же не помешает. Если на USB-порт будет подано более 500 миллиампер, этот предохранитель автоматически прервет соединение, пока короткое замыкание или перенапряжение не будут устранены.

Питание

Модуль Micro можно запитать от USB-соединения или внешнего источника питания. Источник питания выбирается автоматически.

Внешнее (не USB) питание может идти либо от источника постоянного тока, либо от батареи, и в этом случае провода подключаются к контактам Gnd и Vin.

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

Питание осуществляется через следующие контакты:

  • VIN – контакт для входного напряжения, если питание осуществляется от внешнего источника (в отличие от 5 вольт, идущих от USB-соединения или другого регулированного источника питания).
  • 5V – контакт для регулированного источника питания, используемого для микроконтроллера и других компонентов платы. Питание может идти от VIN через встроенный регулятор или от USB или другого отрегулированного источника питания.
  • 3V – контакт для 3,3-вольтового питания, генерируемого встроенным регулятором. Максимальная сила тока – 50 миллиампер.
  • GND – контакты для «земли».

Память

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

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

По этой ссылке можно посмотреть распиновку между контактами Arduino и портами чипа ATmega32u4, а по этой – распиновку самой Arduino Micro.

Любой из 20 цифровых I/O контактов Micro можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode(), digitalWrite() и digitalRead(). Они оперируют на 5 вольтах.

Рекомендуется, чтобы каждый из этих контактов получал/отдавал не более 20 миллиампер. Кроме того, у каждого из них имеется подтягивающий резистор (по умолчанию отключен) на 20-50 кОм. Максимальная сила тока, которую можно использовать на контакте – это 40 миллиампер, т.к. если ее превысить, это может привести к необратимому повреждению микроконтроллера.

Некоторые контакты Arduino Micro имеют специализированные функции:

  • Последовательная передача данных: 0-ой (RX) и 1-ый (TX) контакты. Используются для получения (RX) и передачи (TX) последовательных TTL данных при помощи функционала для аппаратной последовательной коммуникации, имеющейся на ATmega32U4. Обратите внимание, что на Micro класс Serial используется для коммуникации типа USB (CDC), а для передачи последовательных TTL данных на 0-ом и 1-ом контактах используется класс Serial1.
  • Интерфейс TWI: 2-ой (SDA) и 3-ий (SCL) контакты. Поддерживают коммуникацию типа TWI при помощи библиотеки Wire.
  • Внешние прерывания: 0-ой (RX), 1-ый (TX), 2-ой, 3-ий и 7-ой контакты. Эти контакты можно настроить на запуск прерывания при переключении на значение LOW, нарастающем/убывающем фронте импульса или изменении значения. Более подробно читайте в статье о функции attachInterrupt().
  • ШИМ: 3-ий, 5-ый, 6-ой, 9-ый, 10-ый, 11-ый и 13-ый контакты. Обеспечивают 8-битную ШИМ при помощи функции analogWrite().
  • Интерфейс SPI: на гребешке ICSP. Эти контакты поддерживают коммуникацию типа SPI при помощи библиотеки SPI. Обратите внимание, что контакты SPI не подключены ни к одному I/O контакту, как это сделано на Uno, и доступны только на ICSP-коннекторе и на близлежащих контактах, названных MISO, MOSI и SCK.
  • RX_LED/SS – еще один дополнительный контакт, подключенный к светодиоду RX_LED, который сообщает о передаче данных по USB-соединению. Кроме того, его можно использовать в качестве SS-контакта для интерфейса SPI.
  • LED: 13-ый контакт. Это встроенный светодиод, подключенный к 13-ому цифровому контакту. Когда этот контакт переходит в состояние HIGH, светодиод включается, а когда в LOW, то выключается.
  • Аналоговые контакты: A0-A5, а также A6-A11 (на 4-ом, 6-ом, 8-ом, 10-ом и 12-ом цифровых контактах). В общей сложности на Micro имеется 12 входных аналоговых контактов. Первые шесть аналоговых контактов, с A0 по A5, расположены на плате отдельно и обозначены соответствующими надписями. К оставшимся шести аналоговым контактам можно обращаться в коде, как к A6, A7, A8, A9, A10 и A11, и они расположены на 4-ом, 6-ом, 8-ом, 10-ом и 12-ом цифровых контактах соответственно. Каждый аналоговый контакт обеспечивает 10-битное разрешение (т.е. может работать с данными в диапазоне от 1 до 1024). По умолчанию диапазон напряжения на аналоговых контактах составляет 0-5 вольт, однако верхнюю часть этого диапазона можно поменять при помощи контакта AREF и функции analogReference().
  • AREF – эталонное напряжение для входных аналоговых контактов. Используется вместе с analogReference().
  • Reset – если подать на эту линию LOW, это сбросит микроконтроллер. Как правило, используется, чтобы добавить кнопку сброса на «шилд», потому что когда вы подключаете «шилд», это блокирует кнопку сброса на самой плате.

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

Модуль Micro обладает несколькими средствами для коммуникации с компьютером, а также другими платами семейства Arduino/Genuino и другими микроконтроллерами. Чип ATmega32U4 обеспечивает последовательную UART TTL (5 вольт) коммуникацию, которая доступна на 0-ом (RX) и 1-ом (TX) контактах. Кроме того, чип ATmega32U4 обеспечивает последовательную CDC-коммуникацию через USB, и ПО на компьютере видит его как виртуальный COM-порт. Чип также может действовать в качестве девайса типа USB 2.0, используя стандартные драйверы USB COM.

На Windows требуется файл *.inf. В IDE Arduino имеется монитор порта, который позволяет отправлять текстовые данные – и на модуль, и от него. Также на модуле имеются светодиоды RX и TX, которые загораются при передаче данных по USB-соединению (но не при использовании последовательной коммуникации на 0-ом и 1-ом контактах) на компьютер и обратно.

Для последовательной коммуникации на других контактах Arduino Micro можно использовать библиотеку SoftwareSerial.

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

Компьютер видит модуль Micro как обычную мышь или клавиатуру, поэтому его можно запрограммировать на управление этими устройствами ввода при помощи классов Keyboard и Mouse.

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

Максимальная длина и ширина Arduino Micro составляют 4,8 и 1,77 см соответственно, хотя USB-коннектор выходит немного за пределы ширины. Эти размеры позволяют без особого труда разместить модуль на макетной плате.

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

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

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

См.также

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