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 пина;
0
–14
иA0
–A6
Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 7 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. - ШИМ: 12 пинов;
0
–8
,10
,A3
иA4
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. По умолчанию разрядность «ШИМ» установлена в 8 бит. Изменить разрядность «ШИМ» можно с помощью функции analogWriteResolution(). - АЦП: 7 пинов;
A0
–A6
Позволяет представить аналоговое напряжение в виде цифровом виде. По умолчанию разрядность «АЦП» установлена в 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 мм