Ioref ардуино что это
Перейти к содержимому

Ioref ардуино что это

Ioref ардуино что это

Arduino Uno — это устройство на основе микроконтроллера ATmega328 (datasheet). В его состав входит все необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем для внутрисхемного программирования (ICSP) и кнопка сброса. Для начала работы с уcтройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля.

В отличие от всех предыдущих плат Ардуино, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI.

На плате Arduino Uno версии R2 для упрощения процесса обновления прошивки добавлен резистор, подтягивающий к земле линию HWB микроконтроллера 8U2.

Изменения на плате версии R3 перечислены ниже:

  • Распиновка 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый — IOREF — позволяет платам расширения подстраиваться под рабочее напряжение Ардуино. Данный вывод предусмотрен для совместимости плат расширения как с 5В-Ардуино на базе микроконтроллеров AVR, так и с 3.3В-платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
  • Улучшена помехоустойчивость цепи сброса.
  • Микроконтроллер ATmega8U2 заменен на ATmega16U2.

«Uno» (в переводе с итальянского — «один») назван по случаю предстоящего выпуска Arduino 1.0. Совместно с Arduino 1.0 данные устройства будут базовыми версиями Ардуино. Uno — эталонная модель платформы Arduino и является последней в серии USB-плат; для сравнения с предыдущими версиями, см. список плат Arduino.

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

Микроконтроллер ATmega328
Рабочее напряжение
Напряжение питания (рекомендуемое) 7-12В
Напряжение питания (предельное) 6-20В
Цифровые входы/выходы 14 (из них 6 могут использоваться в качестве ШИМ-выходов)
Аналоговые входы 6
Максимальный ток одного вывода 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком
SRAM 2 КБ (ATmega328)
EEPROM 1 КБ (ATmega328)
Тактовая частота 16 МГц

Схема и исходный проект

Файлы EAGLE: arduino-uno-Rev3-reference-design.zip (ПРИМЕЧАНИЕ: совместимо с версиями Eagle не ниже 6.0)

Примечание: В файлах проекта Ардуино могут фигурировать микроконтроллеры ATmega8, 168 или 328. Например, в последних моделях используется микроконтроллер ATmega328, но на схеме может быть указан микроконтроллер ATmega8. Это не является ошибкой, поскольку все три микросхемы полностью совместимы между собой по выводам.

Питание

Arduino Uno может быть запитан от USB либо от внешнего источника питания — тип источника выбирается автоматически.

В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр — 2.1мм, центральный контакт — положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

Ниже перечислены выводы питания, расположенные на плате:

  • VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
  • 5V. На вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 — 12В), от USB (5В) или через вывод VIN (7 — 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.
  • GND. Выводы земли.
  • IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.

Память

Объем флеш-памяти ATmega328 составляет 32 КБ (из которых 0.5 КБ используются загрузчиком). Микроконтроллер также имеет 2 КБ памяти SRAM и 1 КБ EEPROM (из которой можно считывать или записывать информацию с помощью библиотеки EEPROM).

Входы и выходы

С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на выводах ограничен 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо этого, некоторые выводы Ардуино могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART.
  • Внешние прерывания: выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах. Для получения дополнительной информации см. функцию attachInterrupt().
  • ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI.
  • Светодиод: 13. Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.

В Arduino Uno есть 6 аналоговых входов (A0 — A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference(). Помимо этого, некоторые из аналоговых входов имеют дополнительные функции:

  • TWI: вывод A4 или SDA и вывод A5 или SCL. С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Смотрите также соответствие выводов Arduino и ATmega328. Распиновка для микроконтроллеров ATmega8, 168 и 328 идентична.

Связь

Arduino Uno предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART, позволяющий осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер ATmega16U2 на плате обеспечивает связь этого приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется. На платформеWindows необходим только соответствующий .inf-файл. В пакет программного обеспечения Ардуино входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Uno.

В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.

Программирование

Arduino Uno программируется с помощью программного обеспечения Ардуино (скачать). Для этого из меню Tools > Board необходимо выбрать «Arduino Uno» с микроконтроллером, соответствующим вашей плате. Для получения более подробной информации см. справкуи примеры.

ATmega328 в Arduino Uno выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (описание, заголовочные файлы C).

Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; более подробно об этом см. соответствующие инструкции.

Исходный код прошивки микроконтроллера ATmega16U2 (или 8U2 на платах версии R1 и R2) находится в свободном доступе. Прошивка ATmega16U2/8U2 включает в себя DFU-загрузчик (Device Firmware Update), позволяющий обновлять прошивку микроконтроллера. Для активации режима DFU необходимо:

  • На платах версии R1: замкнуть перемычку на обратной стороне платы (возле изображения Италии), после чего сбросить 8U2.
  • На платах версий R2 и выше — для упрощения перехода в режим DFU присутствует резистор, подтягивающий к земле линию HWB микроконтроллера 8U2/16U2.

После перехода в DFU-режим для загрузки новой прошивки можно использовать программное обеспечение Atmel’s FLIP (для Windows) или DFU programmer (для Mac OS X и Linux). Альтернативный вариант — прошить микроконтроллер через разъем для внутрисхемного программирования ISP с помощью внешнего программатора, однако в этом случае DFU-загрузчик затрется. Для получения более подробной информации см. эти инструкции, составленные пользователями.

Автоматический (программный) сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Uno спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATmega8U2/16U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.

Однако эта система может приводить и к другим последствиям. При подключении Uno к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Uno активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.

На плате Uno существует дорожка (отмеченная как «RESET-EN»), разомкнув которую, можно отключить автоматический сброс микроконтроллера. Для повторного восстановления функции автоматического сброса необходимо спаять между собой выводы, расположенные по краям этой дорожки. Автоматический сброс также можно выключить, подключив резистор номиналом 110 Ом между выводом RESET и 5В; для получения более подробной информации см. соответствующую ветку форума.

Защита USB от перегрузок

В Arduino Uno есть восстанавливаемые предохранители, защищающие USB-порт компьютера от коротких замыканий и перегрузок. Несмотря на то, что большинство компьютеров имеют собственную защиту, такие предохранители обеспечивают дополнительный уровень защиты. Если от USB-порта потребляется ток более 500 мА, предохранитель автоматически разорвет соединение до устранения причин короткого замыкания или перегрузки.

Физические характеристики

Максимальная длина и ширина печатной платы Uno составляет 6.9 см и 5.4 см соответственно, с учетом разъема USB и разъема питания, выступающих за пределы платы. Четыре крепежных отверстия позволяют прикреплять плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет 4 мм.

Быстрый старт с Ардуино — отладочная плата Arduino UNO R3

Не являясь будучи программистом, радиолюбителю трудно использовать в своей практике микроконтроллеры, создавать для них платы и самостоятельно писать программы. И тут на помощь приходит всем уже известная и популярная платформа итальянских разработчиков «Ардуино» со всем разнообразием поддерживаемых ею отладочных плат и подключаемых различных модулей в виде датчиков, органов ввода-вывода и управления, и исполняемых устройств. Среда для разработки программ «Arduino IDE» так же является очень простой и удобной, а «Скетч» — так называется исходный текст программ, пишется на языке «Wiring-Processing». Имеется множество библиотек и примеров, и для начала можно совсем не знать язык программирования C/C++, на котором чаще всего пишутся программы для микроконтроллеров. Не обязательно вручную настраивать таймер-счётчик микроконтроллера для генерации ШИМ-сигнала или задавать режим аналого-цифрового преобразователя для считывания значений на аналоговых входах. Так же не надо напрямую работать с регистрами и запоминать, или всегда иметь под рукой все их названия. Для управления выводами микроконтроллера не нужно использовать битовые маски и совершать побитовые операции, так как в среде разработки каждый регистр порта ввода-вывода ассоциирован с определённым номером вывода отладочной платы. Большинство параметров уже задано по умолчанию и скрыто от пользователя, так что не придётся часами искать ошибку от неправильной установки какого-либо значения. При написании «скетча» можно копировать и соединять в одном проекте несколько примеров из разных библиотек, и изменяя номера выводов и значения задаваемых констант подстраивать всю программу под свои нужды. И что самое интересное, при всём этом написанную для одной платы программу можно использовать для другой, просто выбрав соответствующую плату в меню и заново скомпилировав проект.

Приобретение

На сайте уже есть статья с обзором отладочной платы «Arduino Pro Mini» и здесь мы рассмотрим самую распространённую из всех отладочных плат, поддерживаемых платформой Ардуино — это плата под названием «Arduino UNO». Плата была куплена на сайте Aliexpress и не является подлинной оригинальной итальянской платой, хотя это самый похожий и максимально приближённый образец, подобранный в интернет-магазине. Заказ делался в 2018 году и обошёлся в 12$ вместе с доставкой. Хотя этот вариант и стоит немного дороже остальных, но у него имеются преимущества по сравнению с дешёвыми подделками, о которых будет идти речь при сравнении разных плат:

Отладочная плата из Китая

Arduino UNO является самым подходящим вариантом для начала работы с платформой, так как она имеет средний размер, достаточное количество выводов микроконтроллера для большинства проектов и удобно организованные контакты портов ввода-вывода. И самое важное для быстрого старта работы с микроконтроллером — наличие встроенного программатора и интерфейса USB для прямого подключения к компьютеру. Arduino Uno — это аппаратное обеспечение со свободно распространяемыми файлами схем и чертежей. Каждый может изготовить подобную плату используя эти файлы с официального сайта проекта Ардуино. За невысокую цену в Китае можно найти как простые похожие изделия, так и почти подлинные платы на базе оригинальных микроконтроллеров. В конце будет произведено сравнение разных вариантов плат, а для начала рассмотрим характеристики отладочной платы Arduino UNO третьей ревизии.

Технические характеристики

Основные параметры платы Arduino UNO версии 3 приведены в таблице. Для более детального ознакомления с характеристиками платы следует посетить официальный сайт https://store.arduino.cc/usa/arduino-uno-rev3

Параметр Значение
Рабочее напряжение 5 Вольт
Напряжение питания 7 — 12 Вольт
Установленный микроконтроллер ATmega328P
Количество цифровых выводов 14
Число аналоговых входов 6
Допустимый ток одного вывода 20 мА
Тактовая частота 16 МГц
  • 5V – выход напряжения 5 В для питания внешних устройств;
  • 3.3V – маломощный выход стабилизированного напряжения 3.3 В;
  • GND – общий вывод;
  • VIN – вывод для подачи внешнего напряжения питания для всей платы и подключённых модулей;
  • IOREF – вывод, информирующий о значении напряжения высокого уровня портов ввода/вывода платы.
  • AREF. Опорное напряжение для аналого-цифрового преобразователя микроконтроллера. Используется совместно с функцией analogReference () при написании скетчей.
  • Reset. Подача низкого уровня на вывод Reset приводит к перезагрузке микроконтроллера. Обычно используется для добавления кнопки сброса к дополнительно устанавливаемым и подключаемым модулям.

Принципиальная схема отладочной платы Arduino UNO Rev3:

Принципиальная схема отладочной платы Arduino UNO Rev3

Распаковка — комплектация

Во время заказа платы был так же куплен сетевой адаптер для питания и кабель USB для подключения к компьютеру. Они были помещены в обычный полиэтиленовый пакет, находящийся в основной упаковке:

Пакет с USB-кабелем и сетевым адаптером

Пакет с USB-кабелем и сетевым адаптером

Сама плата находилась в жёстком антистатическом пакете и была герметично запечатана в нём:

Плата в пакете

Плата в пакете

Ознакомление

Блок питания имеет сетевую вилку европейского типа и разъём 2,1 мм с положительным центральным контактом:

Сетевой адаптер

Разъём 2,1 мм

Адаптер преобразует сетевое напряжение переменного тока 100-240 В частотой 50/60 Гц в постоянное стабилизированное напряжение 9 В с допустимым током нагрузки 0,85 А:

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

Пожалуй это самое оптимальное напряжение питания. При подаваемом напряжении ниже 7 Вольт плата может работать нестабильно, а при напряжении более 12 Вольт будет увеличиваться нагрев интегрального стабилизатора. При необходимости, для питания платы можно использовать любой другой адаптер с близкими характеристиками.

В комплекте так же довольно качественный USB-кабель, который имеет длину 1,8 м и разъём типа «B» для подключения к плате:

USB-кабель типа "B"

USB-кабель типа "B"

Хотя плата и изготовлена в Китае, уровень производства довольно высокий, монтаж выполнен ровно и красиво без каких-либо видимых дефектов. На плате синего цвета установлен оригинальный микроконтроллер ATmega16U2 преобразователя USB-UART и основной микроконтроллер ATmega328P в DIP-корпусе, вставленный в панельку::

Отладочная плата Arduino UNO

Отладочная плата Arduino UNO

С передней стороны платы расположены разъём для подачи питания и разъём USB-B, возле которого в самом углу находится кнопка сброса:

Расположение разъёмов питания и USB

Рядом находится шести-контактный ICSP-разъём внутрисхемного программирования микроконтроллера ATmega16U2 преобразователя интерфейса, три индикаторных светодиода обозначенные как «L», «TX», «RX», перемычка «RESET-ON», кварцевый резонатор на 16 МГц, само-восстанавливающийся предохранитель на 500 мА и интегральные стабилизаторы питания:

Расположение радиоэлементов Расположение радиоэлементов

Расположение радиоэлементов Расположение радиоэлементов

Плата Arduino Uno может питаться через USB-соединение или от внешнего источника питания. Источник питания выбирается автоматически. Внешнее (не USB) питание может подаваться либо от адаптера, либо от аккумулятора. Адаптер можно подключить, вставив штекер 2,1 мм в разъем питания платы. Выводы от батареи могут быть подключены к контактам GND и Vin разъема POWER. На контакт «5 В» выводится напряжение +5 В от установленного на плате интегрального стабилизатора.

Выводы платы с номерами от 0 до 13 являются цифровыми. Это означает, что с них можно считывать и подавать на них только два вида сигналов: HIGH и LOW, нуль или единицу. Некоторые цифровые выводы поддерживают ШИМ и на плате они обозначены знаком «

«. Все цифровые выводы расположены сбоку в один ряд:

Цифровые выводы

Следуя далее по периметру, с задней стороны платы находится индикаторный светодиод наличия питания и ещё один шести-контактный разъём внутрисхемного программирования, уже для основного микроконтроллера ATmega328P. С его помощью можно записать загрузчик в пустой микроконтроллер в обход установленного программатора:

Задняя сторона платы

Аналоговые входы Arduino Uno обозначены как A0-A5 и являются входами для встроенного аналого-цифрового преобразователя (АЦП) микроконтроллера, обеспечивающего 10-битную разрядность. По умолчанию измеряемое значение должно быть в пределах от 0 до 5 вольт, хотя возможно изменить верхний предел диапазона, используя вывод AREF и функцию analogReference (). Выводы с аналоговыми входами так же можно использовать как цифровые. Они расположены с другого боку от цифровых выводов рядом с выводами питания:

Аналоговые входы и выводы питания

Некоторые выводы совмещают дополнительные функции и могут быть использованы различными модулями для связи с микроконтроллером:

  • Последовательный порт: 0 (RX) и 1 (TX). Используется для приема (RX) и передачи (TX) последовательных данных. Эти контакты внутренне подключены к соответствующим контактам микросхемы ATmega16U2 преобразователя интерфейса USB-to-TTL.
  • Внешние прерывания: 2 и 3. Эти выводы могут быть сконфигурированы для запуска прерывания по низкому уровню, нарастающему или спадающему фронту, или по изменению значения.
  • ШИМ: 3, 5, 6, 9, 10 и 11. Обеспечивает 8-битную ШИМ на этих выводах.
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти выводы используются для связи по SPI протоколу.
  • Светодиод: 13. На плате имеется встроенный светодиод, подключённый между общим проводом и цифровым выводом 13.
  • TWI: вывод A4 или SDA и вывод A5 или SCL. Поддержка TWI связи по двухпроводному соединению.

Соответствие выводов отладочной платы Arduino UNO выводам микроконтроллера ATmega328P можно посмотреть на следующем чертеже:

Соответствие выводов платы выводам микроконтроллера

Снизу плата закрашена белым цветом и оставлены только синие надписи и логотип «Arduino». На плате написано что она изготовлена в Италии и является оригинальной, хотя в конце будет произведено сравнение подделок и станет понятно что это не подлинная плата из Италии:

Нижняя сторона платы

Нижняя сторона платы Нижняя сторона платы

Подключение к компьютеру

Плата Uno версии R3 отличается от других плат тем, что не использует микросхему конвертера FTDI USB-to-serial. Вместо этого она оснащена микроконтроллером ATmega16U2, запрограммированным как преобразователь USB-последовательный порт. Arduino/Genuino Uno имеет ряд средств для связи с компьютером, другой платой Arduino или другими микроконтроллерами. ATmega328 обеспечивает последовательную связь UART TTL (5 В), которая доступна на цифровых выводах 0 (RX) и 1 (TX). ATmega16U2 на плате преобразовывает эту последовательную связь в USB соединение и выглядит как виртуальный COM-порт для программного обеспечения на компьютере. Прошивка ATmega16U2 использует стандартные драйверы USB COM, и дополнительный драйвер не требуется.

Плату можно запустить, подключив к ней адаптер питания, но при таком включении она будет работать автономно, без связи с компьютером, выполняя записанную в основной микроконтроллер программу:

Подача внешнего питания

Запуск платы

После подключения USB-кабеля плата получает питание от компьютера, зажигается зелёный светодиод и запускаются микроконтроллеры:

Подключение кабеля USB

Запуск платы

В компьютере сразу определяется USB-устройство и опознаётся, что это Arduino UNO:

Определение USB-устройстваОпознавание платы

Создаётся точка восстановления системы и начинается установка стандартного драйвера для последовательного порта:

Создание точки восстановления

Установка драйверов

После успешной установки драйвера плата Arduino UNO появляется в списке портов диспетчера устройств. В данном случае был добавлен виртуальный последовательный порт под номером COM3:

Завершение установки

Диспетчер устройств

Открыв свойства порта можно детально посмотреть характеристики установленного драйвера и соответствующего ему оборудования:

Свойства оборудования Свойства оборудования

Свойства оборудования Свойства оборудования

После того как драйвер установлен и плата опознана, можно запустить среду разработки и начать писать программы или использовать готовые примеры, которые имеются на большинство случаев. Среду разработки можно бесплатно скачать с официального сайта проекта Ардуино по ссылке https://www.arduino.cc/en/main/software где имеются версии для Windows, Mac OS X и Linux. Для Windows можно скачать установщик, аппликацию или ZIP-файл для портативной работы. При запуске показывается логотип Arduino и краткая информация:

Запуск среды разработки

Программное обеспечение Arduino IDE включает в себя монитор последовательного порта, который позволяет отправлять и принимать простые текстовые данные. Индикаторы RX и TX на плате будут мигать, когда данные передаются через USB-Serial чип и USB-соединение с компьютером, но не при последовательной связи на контактах 0 и 1. Для программирования платы Uno в Arduino Software IDE на вкладке «Tools» > «Board» нужно выбрать «Arduino/Genuino Uno». В данном случае использовалась версия программы 1.8.5:

Выбор платы Ардуино УНО

Далее на вкладке «Tools» > «Port» следует выбрать порт, к которому физически подключена плата:

Выбор порта

Можно проверить правильность выбора и соединений нажав на пункт «Tools» > «Get Board Info» при подключённой и работающей плате:

Проверка подключённой платы

При правильном подключении и корректной установке будет показана информация о плате в виде названия, VID, PID и серийного номера:

Информация о плате

Первая программа

Микроконтроллер ATmega328P на Arduino Uno поставляется с запрограммированным загрузчиком, который позволяет загружать в него новый код без использования внешнего аппаратного программатора. Плата Arduino Uno имеет возможность программного сброса. Вместо того, чтобы требовать физического нажатия кнопки сброса перед загрузкой скетча, плата Arduino/Genuino Uno разработана таким образом, чтобы можно было произвести сброс с помощью программного обеспечения, работающего на подключенном компьютере. Одна из аппаратных линий управления потоком (DTR) ATmega16U2 подключена к линии сброса ATmega328P через конденсатор на 100 нанофарад. Когда на этой линии появляется низкий уровень сигнала, происходит сброс чипа и его перезагрузка. Программное обеспечение Arduino IDE использует эту возможность, чтобы можно было загружать скетч, просто нажимая кнопку загрузки на панели инструментов интерфейса. Плата Uno содержит перемычку, которую можно обрезать, чтобы отключить программный сброс. Она помечена как «RESET-ON». Можно также обойти загрузчик и запрограммировать микроконтроллер через разъём ICSP (In-Circuit Serial Programming), установленный на плате, используя Arduino ISP или другой аналогичный внутрисхемный ISP-программатор.
Для примера будет показано как очень просто можно мигать установленным на плате светодиодом с заданным в тексте программы полупериодом в миллисекундах. Вначале текста объявляется переменная для хранения состояния светодиода. Сама программа Ардуино как правило состоит из двух основных и обязательных частей — процедур:

Первая процедура называется setup() и в ней происходит настройка и инициализация микроконтроллера. Вторая процедура loop() основной цикл, в котором циклически происходят все действия во время работы микроконтроллера. Обе процедуры могут быть пустыми, но они обязательно должны присутствовать, так как при их вызове происходят невидимые, скрытые от пользователя-программиста действия, необходимые для работы на платформе Ардуино. В данном случае для мигания светодиодом в процедуре setup() назначается вывод для подключения светодиода, как цифровой выход, а в процедуре loop() происходит циклическая установка на этом выходе низкого и высокого уровня с задержкой между переключениями в 1000 миллисекунд, что в итоге даёт период мигания в две секунды:

Написание текста программы

Перед загрузкой программы прямо из среды разработки, следует подключить отладочную плату к компьютеру с помощью кабеля USB:

Подключение платы к компьютеру

После нажатия в левом верхнем углу кнопки со стрелкой и названием «Upload» происходит компиляция и загрузка написанного скетча, с последующим информированием об используемом для успешной работы программы, объёме оперативной и программной памяти микроконтроллера:

Компиляция скетча

Загрузка скетча

Успешное завершение загрузки

При успешном завершение всех операций микроконтроллер сразу же начинает выполнять программу и установленный на плате светодиод мигает с периодом в две секунды:

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

Автономная работа платы

Программы так же можно писать на чистом языке программирования «C» без использования предопределённых функций и процедур Ардуино, но рассмотренные ранее обязательные процедуры настройки и бесконечного цикла должны присутствовать во всех написанных скетчах. Рассмотренная выше простая программа мигания светодиодом будет выглядеть следующим образом:

При компиляции такого варианта исполняемый код получается меньшего размера, да и сама программа будет выполнятся быстрее при прямом обращении к регистрам порта, но при этом теряется удобство написания и универсальность исходного текста для разных вариантов плат Ардуино:

Текст программы на чистом Си

Замена/Установка нового микроконтроллера

Платы Arduino, кроме использования в конечных разработках, являются в первую очередь отладочными платами для удобного процесса отладки и доработки программ, с уже подключёнными датчиками и модулями. Arduino UNO выделяется тем, что имеет DIP-панельку для установки микроконтроллера, который после отладки в случае необходимости можно перенести на готовое устройство, а на отладочную плату установить новый микроконтроллер и дальше работать уже с ним. Но при установке нового микроконтроллера, он не будет работать и взаимодействовать со средой Arduino по USB-подключению. Для того, что бы можно было загружать скетчи по USB, в микроконтроллере должна быть записана программа-загрузчик bootloader, которая может программировать микроконтроллер по UART-интерфейсу. В среде разработки имеется возможность записать bootloader в чистый микроконтроллер, но при обычном подключении платы через USB-кабель это не сработает и будет выдана ошибка:

Ошибка при записи bootloader-а

Для того, что бы записать загрузчик и установить необходимые надстроечные FUSE-биты можно использовать любой ICSP-программатор внутрисхемного программирования. Подойдёт даже самодельный пассивный COM-ISP программатор, схема и возможность добавления в среду Arduino IDE которого описаны в ранней статье «Arduino Pro Mini и UniProf». Программатор подключается к плате UNO через шести-контактный ICSP-разъём, находящийся возле светодиода индикатора питания. При этом если на программаторе предусмотрено наличие питания для программируемого микроконтроллера, то нет надобности подключать USB-кабель или дополнительное питание и микроконтроллер будет питаться от программатора:

Подключение программатора

Подключение программатора

В среде разработки на вкладке «Tools» > «Programmer» нужно выбрать используемый программатор и на этой же вкладке «Tools» > «Port» указать порт, к которому он подключён:

Выбор программатора

Выбор порта

После завершения этих действий можно записать bootloader. При этом всё так же должна быть выбрана плата «Arduino/Genuino Uno» а на вкладке «Tools» нужно нажать на пункт «Burn Bootloader»:

Burn Bootloader

После этого начнётся процесс записи программы-загрузчика в память микроконтроллера и будут установлены необходимые для корректное работы FUSE-биты. В строке состояния можно видеть текущую задачу, а по завершении будет показано уведомление об успешной записи bootloader-а:

Запись bootloader-а

Запись bootloader-а

Запустив программу UniProf и прочитав значения установочных ячеек, можно видеть запрограммированные FUSE и LOCK-биты:

FUSE и LOCK-биты

После этого новый микроконтроллер можно использовать в составе отладочной платы Arduino UNO и программировать его через USB-интерфейс, одним нажатием, прямо из среды Arduino IDE.

Заключение-сравнение

Для подведения итога и лучшего понимания стоит ли приобретать отладочную плату в Китае было произведено сравнение оригинальной, приобретённой и дешёвой подделки. Между рассматриваемой в данной статье и оригинальной платой существенных различий нет. С верхней стороны видно, что расположение и обозначение радиоэлементов совпадает, немного отличается маркировка и цвет самой платы, а самое главное отличие это разъёмы GPIO и качество монтажа:

Сравнение плат

На подлинной итальянской плате GPIO-разъёмы с каждой стороны представляет из себя единое целое без разрывов, и маркировка выводов кроме платы продублирована и на самих разъёмах:

Оригинальная плата Arduino UNO

С нижней стороны разница в расцветке и маркировке платы более заметна и ярко выражена. На купленной плате заметны так же следы пайки и остатки флюса:

Сравнение плат

В Китае кроме схожих с оригинальными и полностью совместимыми с платформой Arduino, по очень низкой цене встречаются разнообразные клоны и подделки. Основное их отличие от оригинальной и рассматриваемой здесь платы является отсутствие второго микроконтроллера преобразователя интерфейса, и его роль выполняет микросхема CH340, что иногда требует установку в операционную систему дополнительных драйверов. Второе главное отличие это отсутствие DIP-панельки для основного микроконтроллера и его использование в корпусе поверхностного монтажа. Это сводит на нет основное достоинство большой по размерам платы Arduino UNO с возможностью изъятия и замены микроконтроллера:

Сравнение плат

Самым близким родственником платы Arduino UNO по сходству и функционалу является плата Arduino Nano. Она так же имеет стабилизатор напряжения питания и может программироваться по USB. Основные отличия заключаются в размерах самих плат, в типе корпуса установленного микроконтроллера, в типе USB-разъёма и разъёмов GPIO. Плата Ардуино Нано имеет гораздо меньшие габариты и может пригодиться там, где важен конечный размер устройства. В связи с меньшими размерами разъём для подключения к компьютеру установлен USB Mini-B. Разъёмы GPIO так же имеют тип «папа» и установлены в виде ряда штырьков в отличие от разъёмов типа «мама» на плате UNO. Так же из за меньшего размера на плате Nano установлен микроконтроллер поверхностного монтажа с двумя дополнительными аналоговыми входами, но отсутствует возможность его быстрой замены путём вытаскивания из панельки. На плате Nano нет в наличии стабилизатора напряжения на 3,3 Вольт:

What are the AREF, IOREF, and the unlabeled pin next to IOREF on the Uno R3?

There are some pins on the Arduino which I haven’t been able to find out anything about:

  • IOREF
  • AREF
  • An unlabeled one next to IOREF

Anonymous Penguin's user avatar

2 Answers 2

AREF:

This is the voltage reference analog-to-digital converter (ADC). It can be used instead of the standard 5V reference for the top end of the analog spectrum – for example, if you wanted to use the ADC to monitor a signal that had a 0-1.5 volt range you could get the full scale of the ADC by connect AREF to a 1.5V signal. DO NOT CONNECT A SIGNAL OUTSIDE THE 0V TO 5V RANGE!

Note that in order for this to work, you must run analogReference(EXTERNAL); before using analogRead() . Also:

After changing the analog reference, the first few readings from analogRead() may not be accurate.

Fore more information, see AnalogReference.

IOREF:

This is a voltage corresponding to the i/o of that board, for example an Uno would supply 5v to this pin, but a Due would supply 3.3v. Sending a signal to this pin does nothing.

Unlabeled pin:

This pin is unused, but is there to ensure compatibility with future products. It is not connected to anything on any R3 boards I have seen.

Arduino.ru

Arduino Due — плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3 (описание). Это первая плата Arduino на основе 32-битного микроконтроллера с ARM ядром. На ней имеется 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), a генератор тактовой частоты 84 МГц, связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое выдерживают вход/выходы составляет 3,3 В. Подав более высокое напряжение, например, 5 В, на выводы Arduino Due, можно повредить плату.

Плата содержит все, что необходимо для поддержки микроконтроллера. Чтобы начать работу с ней, достаточно просто подключить её к компьютеру кабелем микро-USB, либо подать питание с AC/DC преобразователя или батарейки. Due совместим со всеми платами расширения Arduino, работающими от 3,3 В, и с цоколевкой Arduino 1.0.

Расположение выводов Due повторяет цоколевку Arduino 1.0:

  • TWI: Выводы SDA и SCL расположены рядом с выводом AREF.
  • Вывод IOREF, который позволяет с помощью правильной конфигурации адаптировать присоединенную плату расширения к напряжению, выдаваемому Arduino. Благодаря этому платы расширения могут быть совместимы и с 3,3-вольтовыми платами типа Due и с платами на базе AVR, работающими от 5 В.
  • Неподключенные выводы, зарезервированные для использования в будущем.

Преимущества ядра ARM

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

32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).

  • частота процессора (CPU) 84 МГц.
  • 96 КБ ОЗУ.
  • 512 КБ флеш-памяти для хранения программ.
  • контроллер DMA, который разгружает центральный процессор от выполнения интенсивных операций с памятью.
Схема, исходные данные и расположение выводов
Характеристики
Питание

Питание Arduino Due может осуществляться через USB соединитель или с помощью внешнего источника питания. Выбор источника питания выполняется автоматически.

Внешним (не USB) источником питания может быть либо AC/DC преобразователь («wall wart» — адаптер в одном корпусе с вилкой), либо батарея. Адаптер подключается к разъему питания платы 2,1 мм штепсельной вилкой с центральным положительным контактом. Выводы батареи подключаются к контактам Gnd и Vin разъема POWER. Плата может функционировать при внешнем питании от 6 до 20 В. Но если напряжение питания опускается ниже 7 В, на выводе 5 В может оказаться меньше пяти вольт, и плата будет работать нестабильно. Если же подается напряжение более 12 В, может перегреться стабилизатор напряжения, что приведет к повреждению платы. Рекомендуемый диапазон напряжений – от 7 до 12 В.

Ниже перечислены выводы питания:

  • VIN. Это входное напряжение для платы Arduino, когда она питается от внешнего источника питания (в противоположность 5 вольтам, поступающим через USB соединение или от иного регулируемого источника питания). Напряжение питания может подаваться на этот вывод, или сниматься с этого вывода в случае питания через разъем питания.
  • 5V. Данный вывод служит выходом регулируемого напряжения 5 В со встроенного стабилизатора на плате. Сама плата может питаться через разъем питания постоянного тока (7-12 В), либо через USB соединитель (5 В), либо через вывод VIN на плате (7-12V). Питающее напряжение через выводы 5 В и 3,3 В подается в обход стабилизатора и может повредить вашу плату. Мы не советуем так делать.
  • 3.3V. Питание 3,3 В, вырабатываемое встроенным стабилизатором. Максимальный выходной ток 800 мА. Стабилизатор также обеспечивает питание микроконтроллера SAM3X.
  • GND. Земляные выводы.
  • IOREF. Данный вывод платы Arduino обеспечивает опорное напряжение, при котором работает микроконтроллер. Верно сконфигурированная плата расширения может считать напряжение на выводе IOREF и выбрать соответствующий источник питания, или разрешить использование выходных преобразователей напряжения для работы с 5 В или 3,3 В.
Память

Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.

Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы.

Входы и Выходы
  • Цифровые входы/выходы: выводы с 0 по 53
    Каждый из 54 цифровых выводов Due может использоваться в качестве входа или выхода, с помощью функций pinMode(), digitalWrite() и digitalRead(). Выводы работают от 3,3 В. Каждый вывод может выдавать (как источник) ток 3 мА или 15 мА, в зависимости от вывода, или получать (как приемник) ток 6 мА или 9 мА, в засимости от вывода. На них также имеются внутренние нагрузочные резисторы (по умолчанию они отключены) номиналом 100 кОм. Кроме этого, некоторым выводам назначены специализированные функции:
  • Последовательная линия: 0 (RX) и 1 (TX)
  • Последовательная линия 1: 19 (RX) и 18 (TX)
  • Последовательная линия 2: 17 (RX) и 16 (TX)
  • Последовательная линия 3: 15 (RX) и 14 (TX)
    Эти выводы используются для приема (RX) и передачи (TX) последовательных данных TTL (с уровнем 3,3 В). Выводы 0 и 1 соединены с соответствующими выводами последовательного контроллера ATmega16U2 USB-to-TTL.
  • ШИМ: выводыс2по13
    На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
  • SPI: разъемSPI (разъем ICSP на других платах Arduino)
    Данные выводы служат для связи по SPI с использованием библиотеки SPI. Сигналы SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Разъем SPI можно использовать только для связи с другими устройствами SPI, но не для программирования SAM3X по технологии внутрисхемного последовательного программирования (ICSP). SPI на Due также имеет расширенные функции, доступные при использовании Расширенных методов SPI для Due.
  • CAN: CANRXиCANTX
    На этих выводах поддерживается протокол связи CAN, но пока его не поддерживают программные интерфейсы (API) Arduino.
  • "L"LED: 13
    Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне сигнала на данном выводе, светодиод включается, при низком – выключается. Возможно также убавить яркость светодиода, поскольку вывод 13 одновременно является выходом ШИМ.
  • TWI 1: 20 (SDA) и 21 (SCL)
  • TWI2:SDA1иSCL1
    На данных выводах с использованием библиотеки Wire поддерживается связь по TWI.
  • Аналоговые входы: выводы сA0 поA11
    Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может обеспечить разрешение 12 бит (т.е. 4096 различных значений). По умолчанию установлено разрешение 10 бит для совместимости с другими платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до максимального значения 3,3 В. Приложение к этим выводам напряжения свыше 3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на Due игнорируется.
    Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X через резисторный мост. Для активации вывода AREF необходимо отпаять с печатной платы резистор BR1.
  • DAC1 иDAC2
    На выводах ЦАП DAC1 иDAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio.
  • AREF
    Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
  • Reset
  • По низкому уровню на этой линии происходит сброс микроконтроллера. Типичное применение вывода Reset – добавление кнопки сброса на плату расширения, которая перекрывает эту кнопку на микроконтроллере.
Связь

В Arduino Due есть ряд средств для взаимодействия с компьютером, платами Arduino и другими микроконтроллерами, а также различными устройствами, такими как телефоны, планшеты, фотокамеры и т.п. SAM3X имеет один аппаратный UART и три аппаратных USARTа для последовательной связи TTL-уровня (3,3 В).

Порт программирования соединен с ATmega16U2, предоставляющей виртуальный COM порт для программ на подключенном компьютере. (Для определения этого устройства компьютеру с ОС Windows потребуется файл .inf, на машинах же с OSX и Linux плата автоматически будет распознана как COM порт). Чип 16U2 также соединен с аппаратным UARTом SAM3X. Последовательная шина на выводах RX0 и TX0 предоставляет преобразование Serial-to-USB для программирования платы через микроконтроллер ATmega16U2. В программное обеспечение Arduino входит монитор последовательной шины, который дает плате возможность отправлять и принимать простые текстовые сообщения. Светодиоды RX и TX на плате будут мигать, когда идет передача данных через кристалл ATmega16U2 и через USB подключение к компьютеру (но не во время последовательного обмена по выводам 0 и 1).

Собственный USB порт (Native USB port) подключен к SAM3X. Это позволяет осуществлять последовательную связь (CDC) посредством USB. Таким образом обеспечивается подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Также это дает Due возможность эмулировать для присоединенного компьютера USB мышь или клавиатуру. Для использования этих возможностей смотрите справочные страницы Библиотека мыши и клавиатуры.

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

Контроллер SAM3X поддерживает, кроме того, связь по интерфейсам TWI и SPI. Программное обеспечение Arduino включает в себя библиотеку Wire для облегчения работы с шиной TWI; смотрите более детальное описание в документации. Для связи через SPI воспользуйтесь библиотекой SPI.

Программирование

Arduino Due можно запрограммировать с помощью программных средств Arduino (скачать). Более детальная информация содержится в справочнике.

Загрузка программ для SAM3X отличается от таковой для микроконтроллеров AVR, находящихся на других платах Arduino, поскольку необходимо стереть флеш-память перед тем как перепрограммировать её. Загрузка в кристалл управляется из ПЗУ контроллера SAM3X и запускается, только когда флеш-память кристалла пуста.

Due USB Ports

Плату можно программировать через оба USB порта, хотя рекомендуется использовать порт программирования, в связи с тем, что он поддерживает стирание кристалла:

  • Порт программирования: Для использования этого порта выберите в Arduino IDE в качестве вашей платы "Arduino Due (Programming Port)". Подключите порт программирования платы Due (ближайший к разъему питания постоянного тока) к вашему компьютеру. Порт программирования использует микросхему 16U2 в качестве преобразователя USB-to-serial, соединенный с первым UARTом контроллера SAM3X (RX0 и TX0). Два вывода 16U2 подключены к выводам Reset и Erase SAM3X. Открытие и закрытие порта программирования, подключенного на скорости передачи 1200 бит в секунду, запускает процедуру «аппаратного стирания» чипа SAM3X, активирование выводов Erase и Reset на SAM3X перед установлением связи с UART. Это рекомендуемый порт для программирования Due. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже в случае повреждения главного микропроцессора.
  • Собственный порт: Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы "Arduino Due (Native USB Port)". Собственный USB порт подсоединен напрямую к SAM3X. Подключите собственный USB порт Arduino Due (ближний к кнопке Reset) к вашему компьютеру. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Если главный микроконтроллер по какой-либо причине поврежден, то, вероятно, программное стирание не будет работать, так как эта процедура на SAM3X происходит полностью программно. Открытие и закрытие собственного порта на других скоростях передачи не вызовет сброса SAM3X.

В отличие от других плат Arduino, использующих для загрузки avrdude, Due полагается на bossac.

Исходный код программы для ATmega16U2 доступен в архиве Arduino. К разъему ISP можно подключать внешний программатор (перезаписывая загрузчик DFU). Более подробную информацию можно найти в инструкциях для помощи пользователям.

Токовая защита разъема USB

На Arduino Due имеется самовосстанавливающийся предохранитель, назначение которого – защитить USB порты вашего компьютера от короткого замыкания и перегрузки по току. Несмотря на то, что в большинстве компьютеров есть встроенная защита по току, этот предохранитель дает дополнительную защиту. При токе через USB порт более 500 мА связь автоматически обрывается предохранителем до прекращения перегрузки или короткого замыкания.

Физические характеристики и совместимость с платами расширения

Максимальная длина печатной платы Arduino Due равна 4 дюйма, а ширина – 2,1 дюйма, без учета USB соединителей и разъема питания, которые выступают за приведенные габаритные размеры. Три отверстия под винты позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0.16", 4,064 мм), не кратно промежуткам в 100 мил (2,54 мм) между остальными выводами.

Arduino Due сделан совместимым с большинством плат расширения, разработанных для Uno, Diecimila или Duemilanove. Цифровые выводы с 0 по 13 (и соседние выводы AREF и GND), аналоговые входы с 0 по 5, разъем питания, разъем "ICSP" (SPI) расположены одинаково на всех платах. Более того, основной UART (последовательный порт) находится на тех же выводах (0 и 1).
Пожалуйста, обратите внимание, что шина I 2 C расположена в Arduino Due на других выводах (20 и 21), не так как в Duemilanove / Diecimila (аналоговые входы 4 и 5).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *