Arduino:Продукты/Продукты Arduino/Плата Arduino Zero
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Arduino Zero[1]
Модель Zero – это простое и мощное 32-битное расширение платы Arduino Uno. Области применения Zero простираются от девайсов для интернета вещей и носимой электроники до высокотехнологичной автоматизации и робототехники.
В основе платы лежит микроконтроллер SAMD21 от Atmel, оснащенный 32-битным ядром ARM Cortex M0+. Одна из важнейших функций Zero – это встроенный отладчик («embedded debugger» или просто EDBG), который обеспечивает полнофункциональный отладочный интерфейс без использования дополнительного оборудования, что значительно упрощает программную отладку платы. Кроме того EDBG поддерживает использование виртуального COM-порта, который можно использовать для программирования платы и загрузчика.
Внимание: В отличие от большинства плат семейства Arduino/Genuino, Zero работает на 3,3 вольтах. Максимальное напряжение, к которому терпимы I/O контакты на Zero – 3,3 вольта. Если подать больше, это может повредить плату.
Плата обладает всем необходимым для работы микроконтроллера – просто подключите ее к компьютеру при помощи кабеля типа micro-USB либо запитайте от батареи или адаптера, конвертирующего переменный ток в постоянный. Плата Zero совместима со всеми «шилдами», работающими на 3,3 вольтах, а также с распиновкой Arduino 1.0.
О гарантии можно почитать тут.
Примечание
Платы Arduino и Genuino на базе микроконтроллеров AVR сбрасываются и перезапускают скетч каждый раз, когда в IDE Arduino открывается монитор порта. Кроме того, тот же механизм используется для загрузки скетчей. Однако Zero отличается от других плат Arduino: если она подключена через USB-порт для программирования, и пользователь открывает в IDE Arduino монитор порта, автоматического сброса не происходит, и скетч, загруженный на плату, продолжает работать. Чтобы перезапустить скетч, вам нужно самостоятельно нажать на кнопку сброса.
С чего начать
Здесь можно почитать о том, как настроить плату, использовать IDE Arduino и другие основы. О том, как обновить загрузчик до последней версии, читайте тут.
Нужна помощь? Ее можно попросить на форумах Arduino:
Примеры
В этом руководстве можно прочесть, как снизить энергопотребление Arduino Zero, в этом – как при помощи библиотеки Audio и 10-битного АЦП проигрывать WAV-файлы, хранящиеся на SD-карте, а благодаря этому – научиться использовать функции библиотеки RTC.
О других проектах, которые можно создать при помощи Arduino/Genuino Zero, читайте на Arduino Project Hub – образовательной платформе официального сайта Arduino.
Технические характеристики
- Микроконтроллер – ATSAMD21G18, 32 бита, ARM Cortex M0+
- Рабочее напряжение – 3,3 вольта
- Цифровые I/O контакты – 20 шт.
- Цифровые I/O контакты с поддержкой ШИМ – все контакты, кроме 2-ого и 7-ого
- UART – 2 шт. (штатный порт и порт для программирования)
- Входные аналоговые контакты – 6 шт., 12-битные АЦП-каналы
- Выходные аналоговые контакты – 1 шт., 10-битный ЦАП
- Внешние прерывания – все контакты, кроме 4-го
- Максимальная сила тока на один I/O контакт – 7 миллиампер
- Flash-память – 256 Кб
- SRAM – 32 Кб
- EEPROM – нет (см. документацию)
- Встроенный светодиод (LED_BUILTIN) – 13-ый
- Тактовая частота – 48 МГц
- Длина – 68 мм.
- Ширина – 30 мм.
- Вес – 12 грамм
Документация
Плата Arduino Zero – это оборудование, созданное по принципу открытого кода. Вы можете создать на ее основе собственную плату, пользуясь следующими файлами:
Преимущества ядра ARM
Плата Zero оснащена 32-битным ядром ARM, которое мощнее 8-битных микроконтроллеров, что обычно стоят на платах Arduino. Вот ряд других важных отличий:
- 32-битное ядро позволяет выполнять операции с 4-байтными данными в рамках одного такта процессора (более подробно читайте в статье о типе данных int)
- Тактовая частота процессора – 48 МГц
- 12-канальный DMA-контроллер, освобождающий процессор от выполнения особо трудоемких задач
- 32-битный RTC (счетчик реального времени) с функцией часов/календаря
- 32-битный генератор CRC
- 2-канальный интерфейс I2S (Inter IC Sound)
- Периферийный сенсорный контроллер (или PTC; от «peripheral touch controller»)
Более подробную информацию о микроконтроллере SAM-D21 читайте в даташите.
Встроенный отладчик Atmel
Чтобы программировать микроконтроллер SAMD21, встроенный отладчик (EDBG) платы Zero использует интерфейс SWD. Кроме того, EDBG подключен к одному из аппаратных последовательных портов микроконтроллера. Это значит, что класс Serial отвечает за порт для программирования. Плата Zero была разработана в сотрудничестве с Atmel, поэтому для получения полного доступа к памяти микроконтроллера (чтобы упростить отладку кода) можно воспользоваться средой разработки ATMEL Studio.
Питание
Плату Arduino Zero можно запитать через USB-коннектор или внешний источник питания. Источник питания выбирается автоматически.
Внешнее (не USB) питание может идти от адаптера, конвертирующего переменный ток в постоянный, или от батареи – в таком случае используется 2,1-миллиметровый коннектор с положительным центральным контактом, подключенный к разъему для питания на плате. Также питание можно подать через контакты GND и VIN на коннекторе POWER.
Плата может работать от источника питания с напряжением от 6 до 20 вольт. Но мы рекомендуем использовать от 7 до 12 вольт.
Контакты для питания на плате Zero:
- VIN – входное напряжение при использовании внешнего источника питания (в отличие от 5 вольт, подаваемых через USB-соединение или другой регулированный источник питания). Через этот контакт можно как подавать напряжение, так и получать к нему доступ, если напряжение подается через разъем для питания.
- 5V – выдача отрегулированных 5 вольт от регулятора напряжения, имеющегося на плате. Плату можно питать от разъема постоянного тока (7-12 вольт), от USB-соединения (5 вольт) или от контакта VIN (7-12 вольт). Подача напряжения на контакты 5V или 3.3V идет в обход регулятора и может повредить плату. Делать этого не рекомендуется.
- 3.3V – 3,3 вольта, генерируемые встроенным регулятором напряжения. Максимальная сила тока – 800 миллиампер. Кроме того, этот регулятор обеспечивает питанием микроконтроллер SAMD21.
- GND – контакты для «земли».
- IOREF – эталонное напряжение, на котором работает микроконтроллер. Правильно настроенный «шилд» может прочесть напряжение на контакте IOREF и выбрать правильный источник питания или переключить в нужное состояние вольтовую логику – либо на 5 вольт, либо на 3,3 вольта.
Память
Микроконтроллер SAMD21 оснащен 256 Кб памяти. Кроме того, у него есть 32 Кб SRAM-памяти и 16 Кб эмулированной EEPROM-памяти.
Входные и выходные контакты
Каждый из 20 цифровых I/O контактов Zero может быть использован и для ввода, и для вывода данных – при помощи функций pinMode(), digitalWrite() и digitalRead(). Некоторые контакты (3-ий, 4-ый, 5-ый, 6-ой, 8-ой, 9-ый, 10-ый, 11-ый, 12-ый и 13-ый) также можно использовать для ШИМ – при помощи функции analogWrite(). Все контакты работают на 3,3 вольтах. Каждый контакт может получать/отдавать не более 7 миллиампер и имеет встроенный подтягивающий резистор (по умолчанию отключен) на 20-50 кОм.
Кроме того, некоторые контакты Zero имеют специальные функции:
- Последовательная передача данных: 0-ой (RX) и 1-ый (TX) контакты. На этих контактах используется класс Serial1. Однако на штатном USB-порте используется класс SerialUSB.
- Внешние прерывания: Доступны на всех контактах, кроме 4-ого.
- ЦАП: 0-ой аналоговый контакт. Выдача 10-битного напряжения при помощи функции analogWrite().
- ШИМ: 3-ий, 4-ый, 5-ый, 6-ой, 8-ой, 9-ый, 10-ый, 11-ый, 12-ый и 13-ый контакты. Выдача 8-битной ШИМ при помощи функции analogWrite().
- Интерфейс SPI: SS, MOSI, MISO и SCK. Расположен на ICSP-гребешке и поддерживает SPI-коммуникацию (только при помощи библиотеки SPI).
- Встроенный светодиод: 13-ый цифровой контакт. Если подать на него значение HIGH, светодиод включится, а если LOW, то выключится.
- Аналоговые контакты: Шесть из двадцати I/O контактов Zero можно использовать для входных аналоговых данных. Они пронумерованы с A0 до A5, и каждый из них имеет 12-битное разрешение (т.е. значения в диапазоне от 1 до 4096). По умолчанию диапазон составляет от «земли» до 3,3 вольт, однако верхнюю границу этого диапазона можно поменять при помощи контакта AREF и функции analogReference().
- Интерфейс TWI: контакты SDA и SCL. Поддерживают TWI-коммуникацию при помощи библиотеки TWI.
На плате также есть еще несколько специальных контактов:
- AREF – эталонное напряжение для входных аналоговых контактов. Используется с функцией analogReference().
- Reset – если подать на эту линию значение LOW, это сбросит микроконтроллер. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, т.к. подключение «шилда» блокирует кнопку сброса на самой плате.
Программирование
Загрузка скетчей на SAMD21 осуществляется не так, как на микроконтроллерах AVR, которыми оснащаются другие Arduino/Genuino.
Для программирования платы можно использовать оба USB-порта, однако мы рекомендуем использовать тот, что расположен выше (т.е. USB-порт для программирования) – из-за того, как выполняется стирание информации на чипе:
- USB-порт для программирования: Чтобы использовать этот порт, выберите в IDE Arduino пункт Tools > Board > Arduino/Genuino Zero (Programming Port) или Инструменты > Плата > Arduino/Genuino Zero (Programming Port). Затем подключите USB-порт для программирования (тот, что ближе к разъему для питания) к компьютеру. USB-порт для программирования использует EDBG в качестве чипа, конвертирующего USB в SWD.
- Штатный USB-порт: Чтобы использовать этот порт, выберите в IDE Arduino пункт Tools > Board > Arduino/Genuino Zero (Native USB Port) или Инструменты > Плата > Arduino/Genuino Zero (Native USB Port). Штатный USB-порт подключен напрямую к SAMD21. Подключите штатный USB-порт (он находится ближе к кнопке сброса) к компьютеру.
В отличие от других плат Arduino, которые используют для загрузки avrdude, Zero полагается на bossa, а порт для программирования использует openOCD.
JTAG-коннектор для отладки через SWD
Для того, чтобы воспользоваться другим внешним отладчиком, можно задействовать встроенный JTAG-коннектор.
ICSP-коннектор для SPI-коммуникации
Ниже – картинка, показывающая расположение контактов SPI на гребешке ICSP:
EEPROM
Часть flash-памяти можно использовать для долговременного хранения информации, но с некоторыми ограничениями. Как правило, срок работы flash-памяти составляет 25 тысяч циклов записи и, в отличие от EEPROM, данные на ней стираются страницами. Кроме того, перед загрузкой нового скетча flash-память стирается.
Последовательные порты
- Serial – это аппаратный последовательный порт, который подключен к чипу EDBG. Кроме того, он соответствует виртуальному последовательному порту на компьютере, когда вы подключаете Arduino Zero через USB-порт для программирования.
- SerialUSB – это виртуальный последовательный USB-порт, который соответствует виртуальному последовательному порту на компьютере, когда вы подключаете Arduino Zero через штатный USB-порт.
- Serial1 – это аппаратный последовательный порт, подключенный к 0-ому и 1-ому контактам. Его можно свободно подключать к внешним устройствам, использующим последовательный интерфейс.
Запись загрузчика
Запись загрузчика можно осуществить при помощи USB-порта для программирования. Для этого нужно выполнить следующее:
- Выбрать в IDE Arduino пункт Tools > Programmer > Atmel EDBG или, если использовать русскоязычную версию, Инструменты > Программатор > Atmel EDBG
- Выбрать в IDE Arduino пункт Tools > Board > Arduino/Genuino Zero (Programming Port) или, если использовать русскоязычную версию, Инструменты > Плата > Arduino/Genuino Zero (Programming Port)
- Выбрать в IDE Arduino пункт Tools > Burn Bootloader или, если использовать русскоязычную версию, Инструменты > Записать Загрузчик
Защита от перегрузок
Плата Arduino Zero оснащена восстанавливаемым предохранителем, который защищает USB-порты вашего компьютера от коротких замыканий и перегрузок. Хотя многие компьютеры обладают собственной внутренней защитой, этот предохранитель добавляет к ней еще один слой. Если на USB-порт будет подано выше 500 миллиампер, этот предохранитель автоматически прервет соединение, пока короткое замыкание или перегрузка не будут устранены.
Физические характеристики
Максимальная длина и ширина печатной платы Arduino Zero составляют 6,85 см и 5,33 см соответственно, причем USB-коннекторы и разъем для питания немного выходят за пределы ширины. Также на плате имеются три отверстия, через которые плату можно прикрепить к какой-либо поверхности или корпусу. Обратите внимание, что расстояние между 7-ым и 8-ым контактом составляет 0,406 см, а между другими контактами – 0,254 см.
Плата Zero совместима с большинством «шилдов», созданных для моделей Uno, Diecimila и Duemilanove. Цифровые контакты с 0-го по 13-ый (и прилегающие контакты AREF и GND), аналоговые контакты с 0-го по 5-ый, гребешок для питания и ICSP-гребешок находятся на тех же местах. Более того, главный UART (последовательный порт) тоже расположен на тех же контактах – 0-ом и 1-ом.
См.также
Внешние ссылки
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 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Продукты Arduino
- Arduino продукты
- Плата Arduino