Arduino MKR Zero: распиновка, схема подключения и программирование

Arduino MKR Zero — платформа для разработки на базе микроконтроллера ATSAMD21G18 с вычислительным ядром ARM Cortex® M0!

Видеообзор

Подключение и настройка

Шаг 1

Скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.

Шаг 2

По умолчанию среда Arduino IDE настроена только на AVR-платы. Для работы с платформой Arduino MKR Zero — добавьте в менеджере плат поддержку платформ на ядре ARM Cortex-M0+.

Примеры работы

Элементы платы

Микроконтроллер ATSAMD21G18

Мозгом платформы Arduino MKR Zero является 32-разрядный микроконтроллер фирмы Microchip (Atmel) — ATSAMD21G18 с вычислительном ядром ARM Cortex® M0.

Благодаря использованию 32-разрядного ядра ARM, Arduino MKR Zero во многом превосходит типичные платы на базе 8-разрядных микроконтроллеров. Наиболее существенные отличия заключаются в следующем:

  • 32-битное ядро позволяет обрабатывать четырёх-байтовые данные всего за один такт.
  • Тактовая частота – 48 МГц.
  • Объем памяти программ Flash – 256 КБ.
  • Объем оперативной памяти SRAM – 32 КБ.
  • Наличие DMA-контроллера позволяет разгрузить центральный процессор, выполняя ресурсоёмкие операции с памятью.

Разъём micro-USB

Разъём micro-USB предназначен для прошивки платформы Arduino M0 с помощью компьютера.

Светодиодная индикация

Имя светодиода Назначение
ON Индикатор питания. При питании платформы от аккумулятора через JST PH-разъём светодиод ON не горит для экономии питания.
CHRG Индикатор зарядки внешнего аккумулятора
L Пользовательский светодиод на 32 пине микроконтроллера, в отличии от 13 пина на других платформах Arduino. Используйте определение LED_BUILTINС для работы со светодиодом. При задании значения HIGH светодиод включается, при LOW – выключается.

Разъём подключения аккумулятора

На плате расположен JST PH-разъём (2 pin) для подключения внешних Li-Pol и Li-Ion аккумуляторов. При одновременном питании платформы от USB и аккумулятора:

  • батарея заряжается током 350 мА через контролер заряда MCP73831 до 4,2 вольта.
  • светодиод ON горит об индикации питания
  • светодиод CHRG горит об индикации заряда батареи

При питании платформы только от аккумулятора:

  • батарея не заряжается
  • светодиод ON не горит для экономии питания

Разъём I²C интерфейса

На платформе предусмотрен JST SH-разъём (5 pin) для подключения дополнительных модулей по интерфейсу «I²C». Коннектор включает в себя:

  • пины питания — 5V и GND
  • пины шины I²C — SDA и SCL
  • дополнительный цифровой пин 7

Регулятор напряжения

Линейный понижающий регулятор напряжение AP7215-33 с выходом 3,3 вольта обеспечивает питание микроконтроллера. Максимальный выходной ток составляет 600 мА.

Слот карты microSD

Слот для подключения карты памяти формата microSD. Пины холдера подключены к микроконтроллеру через «SPI1», который позволяет общаться с картой памяти без траты выведенных пинов на платформе Arduino MKR Zero.

Кнопка RESET

Служит для сброса микроконтроллера. Это аналог кнопки RESET обычного компьютера.

Распиновка

Пины питания

  • VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 6 вольт.
  • 5V: На вывод поступает напряжение 5 В при подключении платы через USB. При питании платформы через пин VIN или разъём для внешнего аккумулятора — на пине может быть напряжение в диапазоне от нуля до входного.
  • VCC: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 600 мА. Регулятор обеспечивает питание микроконтроллера ATSAMD21G18. В любом варианте питания платформы на пине будет присутствовать 3,3 вольта.
  • GND: Выводы земли.
  • AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».

Порты ввода/вывода

В отличии от большинство плат Arduino, родным напряжением Arduino MKR Zero является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить микроконтроллер!

Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.

  • Цифровые входы/выходы: 22 пина; 014 и A0A6
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 7 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ: 12 пинов; 08, 10, A3 и A4
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. По умолчанию разрядность «ШИМ» установлена в 8 бит. Изменить разрядность «ШИМ» можно с помощью функции analogWriteResolution().
  • АЦП: 7 пинов; A0A6
    Позволяет представить аналоговое напряжение в виде цифровом виде. По умолчанию разрядность «АЦП» установлена в 10 бит. Изменить разрядность «АЦП» можно с помощью функции analogReadResolution(). Диапазон входного напряжения от 0 до 3,3 В. При подаче большего напряжения микроконтроллер может выйти из строя.
  • ЦАП: пин DAC/A0
    Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 10-битные уровни напряжения. Вывод может использоваться для создания аудио-выхода — для этого используйте библиотеку AudioZero.
  • TWI/I²C: пины (11)SDA и (12)SCL
    Для общения с периферией по интерфейсу «I²C». Для работы используйте библиотеку Wire.
  • SPI: пины 8(MOSI), 10(MISO) и 9(SCK)
    Для общения с периферией по интерфейсу «SPI». Для работы — используйте библиотеку SPI.
  • UART: пины 13(RX) и 14(TX)
    Используется для коммуникации платы Arduino с компьютером или другими устройствами через класс «Serial1». Для связи Arduino MKR Zero с компьютером через порт micro-USB — используйте класс «Serial». Для работы обоих классов — используйте методы библиотеки Serial.
  • UART/Serial:
    • Serial: пины 0(RX) и 1(TX)
    • Serial1: пины 13(RX) и 14(TX)
      Используется для коммуникации платы Arduino с компьютером или другими устройствами по последовательному интерфейсу. Выводы шины Serial соединены с соответствующими контактами USB-UART преобразователя CH340G. Для работы с последовательным интерфейсом — используйте методы библиотеки Serial.
  • I²S: пины 2(SCK/BCLK), 3(WS/LRCLK/FS) и A6(SD/SDATA/SDIN/SDOUT)
    Используется для передачи и приёма цифрового звука с другими аудио устройствами. Для работы используйте библиотеки I²S и Arduino Sound

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

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

  • Микроконтроллер: ATSAMD21G18
  • Ядро: 32-битный ARM Cortex M0+
  • Тактовая частота: 48 МГц
  • Объём Flash-памяти: 256 КБ (8 КБ занимает загрузчик)
  • Объём SRAM-памяти: 32 КБ
  • Портов ввода-вывода всего: 22
  • Портов с АЦП: 7
  • Разрядность АЦП: 8/10/12 бит (по умолчанию 10 бит)
  • Портов, подключённых к ЦАП: 1
  • Разрядность ЦАП: 10 бит
  • Портов с ШИМ: 12
  • Разрядность ШИМ: 10 бит, по умолчанию 8 бит
  • Аппаратных интерфейсов SPI: 1
  • Аппаратных интерфейсов I²C / TWI: 1
  • Аппаратных интерфейсов UART / Serial: 1
  • Номинальное рабочее напряжение: 3,3 В
  • Максимальный выходной ток пина 3V3: 600 мA
  • Максимальный ток с пина или на пин: 7 мА
  • Допустимое входное напряжение от внешнего источника: 5 В
  • Габариты: 62×25 мм

Ресурсы