Arduino pro micro usb распиновка

Обновлено: 07.07.2024

Микроконтроллер Arduino Micro – плата микроконтроллера на базе ATmega32u4 (техническое описание), разработанный совместно (in conjunction) с Adafruit. Плата имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 - как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для работы с микроконтроллером. Чтобы запустить Arduino Micro, просто подключите его к компьютеру с помощью кабеля микро-USB. Форм-фактор контроллера позволяет легко разместить его на макетной плате.

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

Характеристики
32 Кб (ATmega32u4) из которых 4 Кб используются для загрузчика
Схема и исходные данные
Питание

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

Внешнее питание (не USB) может поступать либо от источника питания постоянного тока, либо с батареи. Выводы батареи или источника питания должны подключаться к выводам Gnd и Vin. Плата Arduino Micro может работать при подаче внешнего питания от 6 до 20 В. Однако при подаче напряжения ниже 7 В, на вывод 5 В может поступать менее пяти вольт, что приведет к нестабильной работе платы. При использовании более 12 В, стабилизатор напряжения может перегреться и вызвать повреждение платы.

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

Память

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

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

  • Последовательная шина: 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) последовательных данных TTL уровней с использованием аппаратных возможностей последовательной шины ATmega32U4. Обратите внимание, что на Micro класс Serial относится к (CDC) соединению; для последовательного TTL соединения на выводах 0 и 1 используйте класс Serial1.
  • TWI: 2 (SDA)и3 (SCL). Поддерживает TWI соединение с использованием библиотеки Wire.

Внешние прерывания: 0(RX), 1(TX), 2 и 3. Эти выводы могут быть сконфигурированы для запуска прерывания по нижней границе, по фронту или спаду, или по изменению значения. Детали описаны в функции attachInterrupt().

На плате имеются еще два вывода:

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

Цоколевка Arduino Micro

Распределение выводов Arduino Micro показывает полную функциональность всех выводов для использования их аналогично Leonardo.

Связь

Micro имеет несколько средств для связи с компьютером, другим Arduino, или иными микроконтроллерами. Контроллер ATmega32U4 предоставляет UART TTL (5V) для последовательной связи, доступный на цифровых выводах 0 (RX) и 1 (TX). Также 32U4 разрешает последовательный обмен (CDC) через USB и появляется для компьютерного программного обеспечения как виртуальный COM-порт. Кроме того, кристалл работает как «full speed» USB устройство при использовании стандартных драйверов USB COM. Для Windows требуется .inf файл (смотри пункт 4 для Arduino Uno). Программное обеспечение Arduino включает монитор последовательной шины (Serial monitor), позволяющий принимать и посылать с платы Arduino простые текстовые данные. Светодиоды RX и TX на плате будут вспыхивать при передаче данных через USB соединение с компьютером (но не при последовательной связи через выводы 0 и 1) В библиотеке SoftwareSerial предусмотрена последовательная связь через любой из цифровых выводов Micro.

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

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

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

Micro программируется с помощью программного обеспечения Arduino (скачать). В меню Tools > Boardmenu выберите плату "Arduino Micro". Более подробную информацию можно найти в справочнике и инструкциях.

Контроллер ATmega32U4 на Arduino Micro поставляется с уже записанным загрузчиком (бутлодером), позволяющим загружать новый код без использования внешнего аппаратного программатора. Связь осуществляется по протоколу AVR109.

Можно также обойти загрузчик и программировать микроконтроллер через разъем ICSP (In-Circuit Serial Programming, последовательное внутрисхемное программирование); более подробная информация приведена в инструкциях.

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

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

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

Защита от токовых перегрузок на USB

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

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

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

Pro Micro pins

- 18 цифровых вывода могут работать как входами, так и выходами. Напряжение на выводах 5 или 3,3В в зависимости от версии платы, при токе в 40мА на каждом пине;
- последовательный интерфейс с пинами TX и RX;
- I2C интерфейс с пинами SDA и SCL;
- ШИМ выводы: 3, 5, 6, 9, 10;
- SPI интерфейс с пинами MISO, MOSI и SCK;
- Светодиоды сигнализирующие: наличие питания, RX и TX;
- 9 аналоговых входов A0-A3 и A6-A10;
- RESET – вывод для перезагрузки микроконтроллера, аналогичен физической кнопки сброса.

На плате имеется восстанавливающий предохранитель MF-MSMF050-2, который защитит USB-порты вашего компьютера, если будет короткое замыкание и перегрузка по току. Предохранитель автоматически разорвёт соединение, если к USB компьютера будет подключено более 500 мА. В таком состоянии он будет находится пока не будет устранено короткое замыкание или перегрузка.

Pro Micro может быть запитана от USB порта вашего ПК, для этого используется USB разъём на плате.

Для питания платы от внешнего не стабилизированного источника, питание нужно подавать на вывод RAW. На этот вывод рекомендуется подавать от 7 до 12В. Если питать плату от 6В, плата может работать не стабильно. При напряжении более 12В, встроенный стабилизатор напряжения может сгореть. С этого вывода, напряжение будет преобразовываться внутренним стабилизатором до необходимого и питать микроконтроллер.

VCC – данный пин можно использовать как для подачи напряжения для питания платы, так и для снятия напряжения, для запитки всевозможных датчиков / сенсоров. Для питания платы через этот пин, нужно строго подавать то стабилизированное напряжение, на которое рассчитана плата. С этого пина напряжение не идёт через внутренний стабилизатор, а напрямую подаётся на контроллер, поэтому если оно будет выше необходимого — плата сгорит.
При питании платы через USB разъём или RAW, на данном выводе будет присутствовать напряжение, равное напряжению питания Pro Micro. Этим напряжением можно запитывать различные датчики. Максимальный выходной ток для всей платы не должен превышать 500мА, на отдельный пин не больше 5 — 10мА.

J1 – Если плата прошита загрузчиком Arduino Micro, то эти контакты используются при конфигурировании версии платы. При 5-вольтовой версии контакты запаяны, при 3,3В — разомкнуты. Поскольку у меня плата распознаётся как «Leonardo», эта перемычка не используется и она разомкнута.

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

Pro Micro drivers

В диспетчере устройств появится неизвестное устройство "Arduino Leonardo". Почему так, а не "Pro Mini"? Потому что разработчик прошил микроконтроллер загрузчиком от Leonardo, на работе это никак не скажется.

Для Windows 10 ничего не придётся скачивать, драйвер установится автоматически.

Для остальных систем семейства Windows скачиваем драйвер и устанавливаем его в ручном режиме.

Pro Micro drivers

Pro Micro drivers

В итоге, в диспетчере устройств появится устройство "Arduino Leonardo". Рядом будет указан номер виртуального COM-порта, в моём случае это COM14.

Попробуем загрузить в плату скетч Blink и убедится в её работоспособности. Открываем стандартный скетч "Blink". Выбираем в Arduino IDE плату.

Pro Micro Arduino IDE

Поскольку загрузчик в ней от Leonardo, значит эту плату и выбираем: "Инструменты" - Плата: "Arduino Leonardo".

Если у вас загрузчик будет от Arduino Micro, значит выбираете его. Не забывайте так же выбрать версию платы 5 или 3,3В, как это выбирается с платой Pro mini. Отсюда выплывает объяснение, почему 5-вольтовый китайский аналог Micro, прошит загрузчиком Leonardo. Плата Leonardo присутствует в Arduino IDE, а плату Pro Micro нужно добавлять вручную через менеджер плат. Видимо что бы пользователи не заморачивались в этих настройках, плату прошивают как Leonardo. Подобные доводы имеют место быть, если мы говорим про версию платы 5В. Если нужна плата на ATmega32u4 с логическими уровнями 3,3В, без ручного добавления платы в Arduino IDE не обойтись.

Pro Micro Arduino IDE

Выбираем номер виртуального COM-порта, который прописан в Диспетчере устройств, в моём случае это COM14.

Нажимаем кнопку "Вгрузить" (Upload) и ждём загрузку скетча.

В процессе загрузки в колонках услышите звук извлечения / подключения USB устройства. Это происходит потому что последовательный порт с которым взаимодействует устройство, на платах Leonardo и Micro является виртуальным. При каждом автоматическом сбросе платы, виртуальный порт исчезает, затем вновь появляется, чем объясняется характерный звук в колонках.
Обычно скетч загружается в плату без нажатия кнопки reset, видимо поэтому на китайском аналоге решили избавится от этой кнопки. В редких случаях, когда автоматический сброс не сработает, нужно использовать физическую кнопку сброса или пин reset.

Загрузив в плату скетч "Blink" мы не сможем наблюдать мигание светодиода. Дело в том, что на плате Pro Micro нет светодиода подключенного к 13 пину. Придётся его отдельно подключать к ножкам через резистор. Можно поступить по другому, на плате имеются светодиоды RX и TX, можно ими помигать.

Загружаем следующий скетч:

int LED_RX = 17;
void setup() <
Serial.begin(9600);
pinMode(LED_RX, OUTPUT);
> void loop() Serial.println ("Hello World!");
digitalWrite(LED_RX, LOW);
delay(1000);
digitalWrite(LED_RX, HIGH);
delay(1000);
>

Увидим как мигает RX светодиод.

Pro Micro Arduino IDE

Если открыть монитор последовательного порта, увидим надпись Hello World! и теперь светодиоды RX и TX будут перемигиваться.

Arduino Micro - это устройство на основе микроконтроллера ATmega32u4 (datasheet), разработанное совместно с Adafruit. В его состав входит все необходимое для удобной работы с микроконтроллером: 20 цифровых входов/выходов (из них 7 могут использоваться в качестве ШИМ-выходов, 12 - в качестве аналоговых входов), кварцевый резонатор на 16 МГц, разъем micro-USB, разъем ICSP для внутрисхемного программирования и кнопка сброса. Для начала работы с устройством достаточно просто подключить его к компьютеру посредством USB-кабеля. Устройство разработано таким образом, чтобы его можно было удобно размещать на макетной плате.

Как и в Leonardo, в Arduino Micro используется микропроцессор ATmega32u4 со встроенным контроллером USB. Такое решение исключает необходимость использования дополнительного контроллера, и при подключении к компьютеру позволяет Ардуино Micro определяться в системе как обычная мышь, клавиатура или виртуальный COM-порт. Помимо этого, использование данного микроконтроллера оказывает влияние на поведение платы, о чем подробнее описано на странице "Начало работы".

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

Микроконтроллер ATmega32u4
Рабочее напряжение
Напряжение питания (рекомендуемое) 7-12В
Напряжение питания (предельное) 6-20В
Цифровые входы/выходы 20
Каналы ШИМ 7
Аналоговые входы 12
Максимальный ток одного вывода 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 32 КБ (ATmega32u4) из которых 4 КБ используются загрузчиком
SRAM 2.5 КБ (ATmega32u4)
EEPROM 1 КБ (ATmega32u4)
Тактовая частота 16 МГц

Схема и исходный проект

Питание

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

В качестве внешнего источника питания (не USB) может использоваться любой источник питания постоянного тока (DC) или обычный аккумулятор/батарея. Для этого выводы аккумулятора или DC-источника питания необходимо подсоединить к выводам Gnd и Vin.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

Основные выводы питания перечислены ниже:

  • VIn. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно подавать внешнее питание.
  • 5V. Стабилизированный источник напряжения, используемый для питания микроконтроллера и других компонентов устройства. Это напряжение может поступать как от встроенного стабилизатора напряжения Vin, так и от USB или другого стабилизированного источника питания на 5В.
  • 3V. Питание 3.3В, формируемое встроенным стабилизатором напряжения. Максимальный выходной ток этого вывода составляет 50 мА.
  • Gnd Выводы земли.

Память

Объем памяти программ микроконтроллера ATmega32U4 составляет 32 КБ (из них 4 КБ отведены под загрузчик). Помимо этого, он имеет 2.5 КБ оперативной памяти SRAM и 1 КБ EEPROM (для взаимодействия с которой служит библиотека EEPROM).

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

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.

Расположение выводов


Распиновка иллюстрирует функциональные возможности всех выводов Arduino Micro, что также позволяет использовать его как Arduino Leonardo.

Связь

Arduino Micro предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega32U4 имеется приемопередатчик UART, позволяющий осуществлять связь по последовательным интерфейсам посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер 32U4 поддерживает последовательную (CDC) связь через USB и при подключении к компьютеру может определяться как виртуальный COM-порт. При этом микросхема использует стандартные USB-COM драйвера и может работать в режиме USB 2.0 Full Speed. На платформе Windows необходим только соответствующий .inf-файл. В пакет программного обеспечения Ардуино входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных компьютеру через USB на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1 данные светодиоды не задействуются).

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Micro.

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

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

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

Arduino Micro программируется с помощью программного обеспечения Ардуино (скачать). Для этого из меню Tools > Board необходимо выбрать "Arduino Micro". Для получения более подробной информации см. справку и примеры.

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

Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; более подробно об этом см. соответствующие инструкции.

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

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

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

Защита USB от перегрузок

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

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

Максимальная длина и ширина печатной платы Micro составляет 4.8 см и 1.77 см соответственно, с учетом разъема USB, выступающего за пределы платы. Печатная плата устройства спроектирована таким образом, чтобы его можно было удобно размещать на беспаечной макетной плате.

Arduino Micro - это миниатюрная плата совмещающая в себе все необходимые возможности, простоту в использовании и низкую стоимость. Она может определяться как периферийное устройство.

Arduino Micro не сильно отличается от своих собратьев. На плате расположены 12 аналоговых вводов и 20 цифровых вводов/выводов. 7 из них могут быть использованы как ШИМ выходы. Так же имеется кварцевый генератор с частотой 16 МГц, кнопка перезагрузки и разъем микро-USB. Основное отличие ардуино микро от ардуино нано заключается в самом микроконтроллере. Здесь использован ATmega32u4. Он имеет встроенную поддержку USB соединения. Благодаря этому Arduino Micro может определяться компьютером не только как последовательный COM порт, но и как периферийное устройство. Можно сказать что это уменьшенная копия Arduino Leonardo

Версия Arduino Pro Micro отличается меньшими размерами и имеет 22 пина. Из них 5 могут быть использованы в качестве ШИМ выводов и 4 как аналоговые входы.

Arduino Pro Micro выглядит вот так:

Arduino Micro

Так как ардуино микро и про микро практически не отличаются друг от друга, я расскажу подробнее про одну из них.

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

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

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

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

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

Широтно-импульсная модуляция (ШИМ) Arduino Micro

У ардуино микро есть 7 выводов ШИМ, это пины 3, 5, 6, 9, 10, 11 и 13. Для использования ШИМ у Arduino есть специальная функция analogWrite().

Другие пины:

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

Arduino Micro имеет следующие размеры: длина 48 мм и ширина 18 мм. Однако разъем USB немного выпирает за пределы печатной платы. Arduino Micro весит всего около 12 грамм. Плата имеет 4 отверстия для возможности ее закрепления на поверхности. Расстояние между выводами равняется 2,54 мм.

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

Читайте также: