Arduino:Продукты/Продукты Arduino/Плата Arduino Micro
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
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 контакты – Цифровые I/O контакты::20
- Цифровые I/O контакты с поддержкой ШИМ – Цифровые I/O контакты с поддержкой ШИМ::7
- Входные аналоговые контакты – Входные аналоговые контакты::12
- Максимальная сила тока на один I/O контакт – Максимальная сила тока на один I/O контакт::20 миллиампер
- Максимальная сила тока на контакт 3.3V – Максимальная сила тока на контакт 3,3V::50 миллиампер
- Flash-память – Flash-память::32 Кб (ATmega32U4), из которых 4 Кб отведено под загрузчик
- SRAM – SRAM::2,5 Кб (ATmega32U4)
- EEPROM – EEPROM::1 Кб (ATmega32U4)
- Тактовая частота – Тактовая частота::16 МГц
- Встроенный светодиод (LED_BUILTIN) – Встроенный светодиод (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 не может сбросить плату, вы всегда можете запустить загрузчик нажатием кнопки сброса на самом модуле.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |