Ардуино Микро. Описание, характеристики, распиновка, схема
Arduino Micro — это микроконтроллерная плата на основе ATmega32U4, разработанная совместно с Adafruit.
Она обладает 20 цифровыми входами/выходами (из которых 7 могут быть использованы в качестве выходов ШИМ и 12 — как аналоговые входы), кристаллом с частотой 16 МГц, микро-USB-подключением, ICSP и кнопкой сброса.
Все необходимое для поддержки микроконтроллера уже встроено, просто подключите его к компьютеру с помощью микро-USB-кабеля, чтобы начать.
Плата Micro аналогична Arduino Leonardo тем, что у ATmega32U4 встроенная поддержка USB-связи, что исключает необходимость во втором процессоре. Это позволяет Ардуино Микро определяться компьютером как мышь и клавиатура, а также виртуальным последовательным/COM-портом (CDC).
Технические характеристики
| Характеристика | Значение |
|---|---|
| Микроконтроллер | ATmega32U4 |
| Рабочее напряжение | 5V |
| Рекомендуемое входное напряжение | 7-12V |
| Цифровые вход/выход пины | 20 |
| Каналы ШИМ | 7 |
| Аналоговые входы | 12 |
| Ток на каждом цифровом пине | 20 мА |
| Ток на 3.3V пине | 50 мА |
| Flash-память | 32 KB (ATmega32U4), из которых 4 KB используются загрузчиком |
| SRAM | 2.5 KB (ATmega32U4) |
| EEPROM | 1 KB (ATmega32U4) |
| Тактовая частота | 16 MHz |
| Встроенный светодиод (LED) | 13 |
| Длина | 48 мм |
| Ширина | 18 мм |
| Вес | 13 г |
Часто Задаваемые Вопросы (FAQs)
Программирование
Плату Arduino Micro можно программировать с использованием программного обеспечения Arduino IDE, выбрав «Arduino/Genuino Micro» из меню «Инструменты > Плата». Дополнительную информацию можно найти в моём Блоге или в видео на канале.
ATmega32U4 на плате Micro поставляется с предварительно загруженным загрузчиком, который позволяет вам загружать новый код без использования внешнего программатора. Он взаимодействует с использованием протокола AVR109.
Также вы можете обойти загрузчик и программировать микроконтроллер через разъем ICSP (In-Circuit Serial Programming) с использованием Arduino ISP или подобных. см. инструкции для получения дополнительной информации.
Предупреждения
У Micro установлен предохранитель, сбрасывающийся при перегрузке, который защищает USB-порты компьютера от короткого замыкания и перегрузки. Несмотря на то, что у большинства компьютеров есть встроенная защита, этот предохранитель добавляет дополнительный уровень безопасности. Если к USB-порту подается более 500 мА, предохранитель автоматически разорвет соединение до устранения короткого замыкания или перегрузки.
Питание (Power)
Плата Micro может быть запитана через микро-USB кабель подключения или внешний источник питания. Источник питания выбирается автоматически.
Внешнее (не-USB) питание может поступать от источника постоянного тока или батареи. Провода от батареи или блока питания постоянного тока могут быть подключены к выводам Gnd и Vin.
Плата может работать от внешнего источника напряжения от 7 до 20 вольт.
Однако, если подается менее 7 вольт, пин 5V может выдавать менее пяти вольт, и плата может работать нестабильной.
При использовании более 12 вольт регулятор напряжения может перегреться и повредить плату.
Рекомендуемый диапазон — от 7 до 12 вольт.
Пины питания следующие:
Vin: Входное напряжение на плату Ардуино Микро при использовании внешнего источника питания (в отличие от 5 вольт от USB-подключения или другого регулируемого источника питания). Вы можете подавать напряжение через этот пин.
+5V: Регулируемое питание, используемое для питания микроконтроллера и других компонентов на плате. Оно может поступать либо от VIN через встроенный регулятор, либо от USB или другого регулируемого источника 5 вольт.
+3V: Напряжение 3.3 вольта, генерируемое встроенным регулятором. Максимальный ток потребления — 50 мА.
GND: Контакты Земли.
Память (Memory)
ATmega32U4 имеет 32 КБ флэш-памяти (из которых 4 КБ используются для загрузчика). Также у него есть 2.5 КБ статической оперативной памяти (SRAM) и 1 КБ электрически стираемой программируемой памяти (EEPROM), которую можно читать и записывать с использованием библиотеки EEPROM.
Ввод и вывод (Input and Output)
Смотрите сопоставление между пинами Arduino и портами ATmega 32U4, а также сопоставление пинов Arduino Micro:
Цифровые входы/выходы (Digital I/O)
Каждый из 20 цифровых пинов на Micro может быть использован в качестве входа или выхода с использованием функций pinMode(), digitalWrite() и digitalRead().
Они работают на напряжении 5 вольт. Каждый пин может отдавать или принимать 20 мА при рекомендуемых условиях эксплуатации и имеет внутренний резистор pull-up (по умолчанию не подключен), сопротивление которого составляет 20-50 кОм.
Максимальное значение 40 мА — это предельное значение, которое не должно быть превышено, чтобы избежать необратимого повреждения микроконтроллера.
Кроме того, некоторые пины имеют специализированные функции:
Serial (Сериал): 0 (RX) и 1 (TX). Используются для приема (RX) и передачи (TX) TTL-серийных данных с использованием аппаратных возможностей серийной связи ATmega32U4. Обратите внимание, что на Micro класс Serial относится к USB (CDC) связи; для TTL-серийной связи на пинах 0 и 1 используйте класс Serial1.
TWI (I2C): 2 (SDA) и 3 (SCL). Поддерживают TWI-коммуникацию с использованием библиотеки Wire.
Внешние прерывания: 0 (RX), 1 (TX), 2, 3 и 7. Эти пины можно настроить для генерации прерывания при низком уровне, фронте или спаде, или изменении значения. См. функцию attachInterrupt() для подробностей.
PWM: 3, 5, 6, 9, 10, 11 и 13. Предоставляют 8-битный PWM-выход с использованием функции analogWrite().
SPI: на разъеме ICSP. Эти пины поддерживают SPI-коммуникацию с использованием библиотеки SPI. Обратите внимание, что пины SPI не подключены к цифровым пинам ввода/вывода, как на Uno; они доступны только на разъеме ICSP и на близлежащих пинах с метками MISO, MOSI и SCK.
RX_LED/SS: Это дополнительный пин по сравнению с Leonardo. Он подключен к RX_LED, который индицирует активность передачи во время USB-связи, но также может использоваться в качестве пина выбора рабочего устройства (SS) в SPI-коммуникации.
LED: 13. Встроенный светодиод, подключенный к цифровому пину 13. Когда пин имеет HIGH значение, светодиод горит, когда пин имеет LOW значение, светодиод выключен.
Аналоговые входы (Analog Inputs)
A0-A5, A6 — A11 (на цифровых пинах 4, 6, 8, 9, 10 и 12). Всего у Micro 12 аналоговых входов. Пины с A0 по A5 обозначены непосредственно на пинах, и другие, к которым можно обратиться в коде с использованием констант с A6 по A11, разделяются соответственно на цифровые пины 4, 6, 8, 9, 10 и 12.
Все они также могут использоваться как цифровые входы/выходы. Каждый аналоговый вход обеспечивает разрешение 10 бит (т.е. 1024 различных значения). По умолчанию аналоговые входы измеряют от 0 до 5 вольт, хотя можно изменить верхний предел их диапазона с использованием пина AREF и функции analogReference().
Другие пины на плате:
AREF: Опорное напряжение для аналоговых входов. Используется с analogReference().
Reset: Понижение этой линии до LOW для сброса микроконтроллера. Обычно используется для добавления кнопки сброса к шилдам, которые блокируют встроенную кнопку на плате.
Коммуникация
Arduino Micro обладает рядом возможностей для взаимодействия с компьютером, другой платой из семейства Arduino & Genuino или другими микроконтроллерами.
ATmega32U4 обеспечивает UART TTL (5V) последовательную связь, доступную на цифровых пинах 0 (RX) и 1 (TX). ATmega32U4 также позволяет осуществлять последовательную (CDC) связь через USB и появляется как виртуальный последовательный порт для программного обеспечения на компьютере.
Микросхема также действует как устройство USB 2.0 полной скорости, используя стандартные драйверы USB COM. На Windows требуется файл .inf. В Arduino IDE включен монитор последовательного порта, который позволяет отправлять и принимать простые текстовые данные с платы. Светодиоды RX и TX на плате будут мигать при передаче данных через USB-подключение к компьютеру (но не при последовательной связи на пинах 0 и 1).
Библиотека SoftwareSerial позволяет осуществлять последовательную связь на других цифровых пинах Micro.
ATmega32U4 также поддерживает I2C (TWI) и SPI-коммуникацию.
В Arduino IDE включена библиотека Wire для упрощения использования шины I2C; см. документацию для получения дополнительной информации. Для SPI-коммуникации используйте библиотеку SPI.
Ардуино Микро появляется как обычная клавиатура и мышь и может быть запрограммирована для управления этими устройствами воспроизведения с использованием классов Keyboard и Mouse.
Физические характеристики
Максимальная длина и ширина печатной платы Micro составляют соответственно 4,8 см и 1,77 см, при этом разъем USB выступает за пределы первого измерения. Макет обеспечивает удобное размещение на безпаячной макетной плате.
Автоматический (программный) сброс и инициация загрузчика
Вместо требования физического нажатия кнопки сброса перед загрузкой, плата Micro спроектирована так, что ее можно сбросить программно с помощью запущенного на подключенном компьютере программного обеспечения.
Сброс вызывается, когда виртуальный последовательный (CDC) порт Micro открывается с параметром 1200 бод и затем закрывается. Когда это происходит, процессор сбрасывается, разрывая USB-соединение с компьютером (что означает исчезновение виртуального последовательного/COM-порта). После сброса процессора запускается загрузчик, оставаясь активным около 8 секунд. Загрузчик также можно инициировать, нажав кнопку сброса на Micro.
Обратите внимание, что при первом включении плата сразу перейдет к пользовательскому скетчу, если он присутствует, вместо инициации загрузчика.
Из-за того, как Micro обрабатывает сброс, лучше дать Arduino IDE попытаться инициировать сброс перед загрузкой, особенно если у вас есть привычка нажимать кнопку сброса перед загрузкой на других платах. Если программное обеспечение не может сбросить плату, всегда можно запустить загрузчик, нажав кнопку сброса на плате.