Каждый современный человек владеет ноутбуком, но как самому убрать возникающие...
![Пропал звук на ноутбуке — что делать?](https://i0.wp.com/sovets.net/photos/uploads/120/8110495-2razrabotanyi-spetsialnyie-programmyi-kotoryie-testiruyut-audio-drayveryi-soundcheck.jpg)
Arduino Due – это микроконтроллерная плата на базе процессора Atmel SAM3X8E ARM Cortex-M3 . Это первая плата Arduino на базе микроконтроллера с 32-битным ядром ARM . У нее 54 цифровых I/O контакта (из которых 12 можно использовать для выдачи ШИМ ), 12 аналоговых контактов, 4 аппаратных последовательных порта (UART ), частота 84 МГц , поддержка OSB OTG , 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI , разъем для питания, SPI -гребешок, JTAG -гребешок, кнопка сброса и кнопка очистки flash -памяти.
Внимание: В отличие от большинства плат Arduino, Due работает на 3,3 вольтах. Максимальное напряжение, к которому терпимы I/O контакты – 3,3 вольта. Если подать на них более высокое напряжение, это может повредить плату.
Плата оснащена всем необходимым для микроконтроллера; просто подключите ее к компьютеру через кабель micro-USB либо запитайте через батарею или адаптер, конвертирующий переменный ток в постоянный. Модель Due совместима со всеми «шилдами» Arduino , которые работают на 3,3 вольтах .
Кроме того, Due совместима с распиновкой 1.0:
Чип SAM3X также поддерживает коммуникацию через интерфейсы SPI и TWI . Чтобы упростить использование TWI , в IDE Arduino есть библиотека Wire , а для SPI есть библиотека SPI .
Для программирования платы можно использовать оба USB -порта, но лучше отдать предпочтение USB -порту для программирования – из-за того, каким образом осуществляется стирание памяти на чипе:
В отличие от других плат Arduino , на которых используется avrdude , плата Due использует .
Плата Arduino Due оснащена восстанавливаемым предохранителем, который защищает USB-порты вашего компьютера от перегрузок. Хотя у большинства компьютеров есть собственная защита от подобных неприятностей, предохранитель добавляет к ней еще один слой. Если на USB-порт будет подано более 500 миллиампер , этот предохранитель автоматически прервет соединение, пока короткое замыкание или перегрузка не будут устранены.
Максимальные длина и ширина печатной платы Arduino Due составляют 10,16 и 5,33 см соответственно, однако USB-коннекторы и разъем для питания могут немного выходить за эти пределы. Кроме того, на плате имеются три отверстия, которые позволяют прикрепить ее к какой-либо поверхности или корпусу. Обратите внимание, что расстояние между 7-ым и 8-ым контактами составляет 0,406 см , а между остальными контактами – 0,254 см .
Плата Arduino Due совместима с большинством «шилдов» , разработанных для плат Uno , Diecimila и Duemilanove . Цифровые контракты с 0-го по 13-ый (и прилегающие к ним контакты AREF и GND ), аналоговые контакты с 0-го по 5-ый , гребешок для питания и ICSP -гребешок (для SPI ) находятся на тех же местах. Более того, на тех же контактах (т.е. на 0-ом и 1-ом ) находится и UART (последовательный порт). Обратите внимание, что интерфейс I2C расположен на 20-ом и 21-ом контактах, тогда как у Duemilanove и Diecimila она находится на 4-ом и 5-ом контактах.
Плата Arduino Due – это оборудование, распространяемое по принципу «open-source» . Вы можете создать на ее основе собственную плату, используя следующие файлы:
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno () Arduino Leonardo Arduino 101 |
Сфера применения
{{#setlogo:ArduinoCommunityLogo.png}}
Проверка/Оформление/Редактирование: Мякишев Е.А.
Чтобы подключить Arduino Due к компьютеру, понадобится USB -кабель с разъемом Micro-B . Этот кабель, с одной стороны, будет питать плату электричеством, а с другой, позволит ее программировать.
Подключите кабель разъемом Micro-B к так называемому «порту для программирования» на Due . Это USB-порт, который находится ближе к DC -разъему, т.е. разъему для питания переменным током. Чтобы загрузить скетч, открываем меню Инструменты > Плата (Tools > Board) и выбираем там . Затем выбираем нужный порт в меню Инструменты > Порт (Tools > Port) .
На официальном форуме Arduino есть специальная ветка , посвященная Arduino Due .
Чтобы программировать на Due , версия IDE Arduino должна быть не старее 1.5 . Загрузить ее можно отсюда .
Использование Arduino Due почти ничем не отличается от использования других Arduino . Однако несколько важных отличий и функциональных расширений все же есть.
Контакты на Arduino Due расположены так же, как и на Arduino Mega 2560 .
Микроконтроллеру, которым оснащена Arduino Due , нужно питание 3,3 вольт – это значит, что все датчики и прочие устройства можно будет питать только этими 3,3 вольтами . Если подключить более высокое напряжение (вроде 5 вольт , которыми обычно питаются Arduino ), это приведет к повреждению Due .
Плата может питаться либо от USB -коннекторов, либо от DC -разъема. При использовании DC -разъема напряжение должно быть в пределах 7-12 вольт .
Arduino Due оснащена импульсным стабилизатором напряжения, чьи характеристики соответствуют требованиям для устройств с функцией USB -хоста. Благодаря этому Due может выступать в качестве источника питания для USB -устройства, подключенного к ее штатному USB -порту. То есть, по сути, служить USB -хостом. Однако для этого она сама должна быть подключена к источнику питания через DC -разъем.
Модель Arduino Due оснащена двумя USB -портами. Штатный USB -порт поддерживает CDC -коммуникацию (от Connected Device Class ; означает то, что плата будет отображаться для ОС как виртуальный последовательный порт) через объект SerialUSB и подключен напрямую к микропроцессору SAM3X . Другой USB -порт – это порт для программирования. Он подключен к чипу ATMEL 16U2 , который служит USB-UART преобразователем. Именно этот порт по умолчанию используется для загрузки скетчей и коммуникации с Arduino .
Преобразователь USB-UART подключен к первому UART ’у микропроцессора SAM3X . Благодаря этому с портом для программирования можно взаимодействовать при помощи объекта Serial из языка Arduino .
USB -коннектор на штатном порте напрямую подключен к контактам USB -хоста SAM3X . Таким образом, благодаря штатному порту Due можно использовать и как клиентское периферийное USB -устройство (например, как мышь или клавиатура, подключенные к компьютеру), и как USB -хост, к которому могут быть подключены различные USB -устройства (вроде тех же мыши, клавиатуры или телефона на Andriod ). Кроме того, этот порт можно использовать как виртуальный последовательный порт при помощи объекта SerialUSB в языке программирования Arduino .
Микроконтроллер SAM3X отличается от микроконтроллеров AVR тем, что перед тем, как снова его программировать, его flash -память должна быть очищена. Это можно сделать вручную – сначала секунду нажимать на кнопку очистки памяти, потом нажать на кнопку в IDE Arduino , а после этого нажать на кнопку сброса.
Это скучная и монотонная процедура, однако ее можно автоматизировать. Но для каждого из портов это делается по-разному:
В то же время, если штатный порт будет открыт/закрыт не на 1200 бит/с , а на какой-то другой скорости, то SAM3X сброшен не будет. Чтобы воспользоваться монитором порта и с его помощью увидеть, какие данные скетч будет отправлять в самом начале работы Due , в секцию setup() нужно вписать дополнительный код – благодаря ему SAM3X перед выполнением скетча будет ждать открытия SerialUSB -порта:
while (! Serial) ;
Если нажать на Due кнопку сброса (Reset ), то будет сброшен и SAM3X , и USB -соединение. Если у вас во время этого разрыва будет открыт «Монитор порта» , то для восстановления соединения его нужно будет закрыть и снова открыть.
Это более надежная процедура, чем та, что имеется на штатном порте, и если микроконтроллер зависнет, она должна сработать лучше.
Чтобы настроить последовательную передачу данных через порт для программирования, нужно использовать объект Serial . Все скетчи, использующие последовательную коммуникацию на базе Uno , должны работать таким же образом. Порт для программирования на Due работает примерно так же, как последовательный порт Uno – в том отношении, что преобразователь USB-UART сбрасывает плату каждый раз, когда вы открываете коммуникацию через монитор порта (или другую последовательную коммуникацию).
Нажатие на Reset во время коммуникации через порт для программирования не оборвет USB -соединение с компьютером, т.к. сброшен будет только микропроцессор SAM3X .
Когда Due выступает в качестве хоста, она еще и обеспечивает периферийное устройство электричеством. Поэтому мы рекомендуем подключить ее к питанию через DC -разъем.
Кроме того, в Due можно менять установленную по умолчанию разрядность для считывания и записи аналоговых данных (10 бит и 8 бит , соответственно). Она может поддерживать разрядность до 12 бит – и для АЦП , и для ШИМ . Более подробно читайте на соответствующих страницах – и .
Модель Due также имеет SPI -шину с расширенными возможностями, которые могут пригодиться, когда к плате подключено несколько устройств, и они общаются с нею на разных скоростях. Более подробно читайте .
Если вы используете Arduino IDE версии 1.6.2 и новее, то вам надо будет установить ядро, поддерживающее Arduino Due . Инструкции для этой процедуры описаны .
С точки зрения пользователя процесс загрузки скетча на Due такой же, как и на других моделях Arduino . Мы рекомендуем использовать для этих целей порт для программирования, но вообще делать это можно через оба USB -порта. Для загрузки через порт для программирования нужно проделать следующее:
Теперь на Arduino Due можно загружать скетчи.
Более подробно читайте на странице , описывающей оборудование платы.
Мощная плата Arduino DUE имеет 32-битное ядро, производительность которого существенно превосходит 8-ми битные чипы, установленные на других платах итальянского производителя. Питание платформы осуществляется от внешнего источника или от USB порта. На процессор Atmel при его изготовлении записывается загрузчик, что позволяет обойтись без внешних программаторов. Широкий ассортимент входов позволяет осуществлять Arduino DUE простые проекты и решать сложные задачи.
Платформа укомплектована средствами связи с ПК, другими платами Arduino, планшетами, смартфонами и другими автоматизированными устройствами. Программируется с помощью ПО производителя, загрузить программы на SAM3X можно только стерев flash-память. Осуществить программирование Arduino DUE можно через один из двух USB портов. Выводы платформы аналогичны плате Arduino 1.0, что облегчает использование ее в проектах с применением других продуктов компании. Доступная на Arduino DUE цена делает этот микроконтроллер одним из самых популярных в своем классе.
Плата DUE имеет следующие технические параметры:
Для подключения Arduino Due к компьютеру понадобится USB-кабель типа Micro-B. USB-кабель необходим как для питания, так и для прошивки устройства.
Один конец кабеля с разъемом micro-USB вставьте в разъем для программирования Arduino Due (находится возле разъема питания). Для прошивки скетча необходимо в среде программирования Ардуино IDE из меню Tools > Board выбрать пункт Arduino Due (Programming port), а также из меню Tools > Serial Port выбрать соответствующий последовательный порт.
В целом, для программирования и работы с Arduino Due используются те же принципы, что и с другими моделями Ардуино. Однако, есть и несколько ключевых отличий Due от других плат.
Печатная плата Due похожа на модель Arduino Mega 2560.
Микроконтроллер в составе Arduino Due работает от 3.3В, что влечет за собой некоторые ограничения. В частности, напряжение, используемое для питания подключаемых датчиков или управления исполнительными устройствами, так же не может превышать 3.3В. В случае подачи большего напряжения (например, 5В, характерных для большинства плат Ардуино) Arduino Due выйдет из строя.
Устройство может быть запитано, как от USB, так и от разъема питания. Во втором случае, напряжение питания должно лежать в диапазоне от 7В до 12В.
В Arduino Due есть импульсный стабилизатор напряжения с высоким КПД, соответствующий требованиям, предъявляемым USB-хост устройствам. Благодаря этому, Ардуино может служить источником питания для какого-либо USB-гаджета, подключаемого к штатному USB-порту, выполняющего роль хоста. Ардуино может работать в качестве USB-хоста только при питании от внешнего источника.
В Arduino Due есть два USB-порта. Штатный USB-порт (обозначен на рисунке, как Native ) соединен непосредственно с процессором SAM3X и поддерживает последовательную CDC-связь через объект SerialUSB . Второй USB-порт - это порт для программирования (обозначен на рисунке, как Programming port). Он подключен к контроллеру ATMEL 16U2, выступающего в роли USB-UART преобразователя. По умолчанию для загрузки программ и взаимодействия с Ардуино используется порт для программирования.
Преобразователь USB-UART порта для программирования соединен с первым UART`ом контроллера SAM3X. Поэтому программно взаимодействовать с эти портом можно через объект "Serial".
Штатный USB-порт подключен непосредственно к выводам контроллера SAM3X, отвечающим за функцию USB-хоста. Штатный USB-порт позволяет использовать Arduino Due как в качестве внешнего периферийного устройства компьютера (например, USB-мыши или клавиатуры), так и в роли USB-хоста, к которому можно подключать различные устройства (такие, как мышь, клавиатура или Android-смартфон, например). А с помощью объекта "SerialUSB", описанного в языке программирования Ардуино, этот же порт можно использовать и как виртуальный последовательный порт.
Микроконтроллер SAM3X отличается от AVR-микроконтроллеров тем, что перед перепрошивкой его флеш-памяти, ее содержимое сперва необходимо стереть. Чтобы сделать это вручную, необходимо где-то на секунду зажать кнопку очистки памяти, нажать кнопку Upload в среде Ардуино, а затем нажать кнопку сброса.
Чтобы не повторять эту процедуру каждый раз, она была автоматизирована и может выполнятся программно как через штатный порт, так и через порт для программирования:
Штатный портПроцедура программной очистки (т.н. "soft-erase") автоматически активируется при закрытия порта, открытого на скорости 1200 бит/с. При это очищается флеш-память контроллера, устройство сбрасывается и стартует загрузчик. Если по какой-либо причине во время этого в процессоре произойдет сбой, то вероятнее всего soft-erase не произойдет, поскольку эта процедура выполняется программно самим контроллером.
Открытие и закрытие штатного порта на скоростях, отличных от 1200 бод, не приведет к перезагрузке контроллера SAM3X. Для того, чтобы использовать программу Serial Monitor для наблюдения данных, отправляемых вашим скетчем, необходимо добавить несколько строк кода в программный блок setup(). Такой фрагмент заставит контроллер SAM3X дождаться открытия порта SerialUSB перед выполнением основной программы:
While (!Serial) ;
Нажатие кнопки сброса на Arduino Due приводит не только к перезагрузке SAM3X, но и к сбросу USB-соединения. В случае, если программа Serial Monitor открыта, то после разрыва соединения необходимо закрыть и заново открыть ее для восстановления сеанса связи.
Порт для программированияUSB-порт для программирования взаимодействует с USB-UART преобразователем Ардуино, который в свою очередь соединен с первым UART`ом микроконтроллера SAM3X (а именно, с выводами RX0 и TX0). Причем микросхема USB-UART преобразователя управляет также выводами Reset и Erase главного микроконтроллера. При открытии последовательного порта, USB-UART преобразователь перед тем, как обмениваться данными с UART`ом контроллера, формирует на выводах Erase и Reset активный уровень сигнала, что приводит к очистке памяти SAM3X. Этот способ более надежен, чем "программная очистка" при использовании штатного USB-порта, и работает даже в случае зависания процессора.
Для программного взаимодействия с этим портом в среде разработки Ардуино используйте объект "Serial". Аналогично построена работа с USB-портом и на Arduino Uno, поэтому все программы, написанные для Uno, будут так же работать и на Due. Кроме того, порт для программирования Arduino Due ведет себя так же, как и последовательный порт Uno, в том плане, что USB-UART преобразователь в составе устройства сбрасывает главный контроллер при каждом открытии последовательного порта.
Нажатие кнопки сброса во время использования порта для программирования не разрывает USB-соединение с компьютером, поскольку сбрасывается только главный контроллер SAM3X.
Arduino Due может работать в качестве USB-хоста для периферийных устройств, подключаемых к порту SerialUSB. Для получения дополнительной информации и примеров кода, см. справку по USB-хост .
Когда Due используется в качестве хоста, он же служит источником питания для подключенного устройства. Поэтому в таком режиме работы настоятельно рекомендуется запитывать Arduino Due от внешнего источника питания.
В Arduino Due есть возможность изменять разрядность для считывания и формирования аналоговых величин (которые, по умолчанию, равны 10 и 8 битам, соответственно). Максимальная разрядность АЦП и ШИМ составляет 12 бит. Для получения дополнительной информации см. описание функций analogWriteResolution() и analogReadResolution() .
С точки зрения пользователя, процесс прошивки программ в Arduino Due осуществляется точно так же, как и в других моделях Ардуино. Несмотря на то, что для прошивки скетчей можно использовать любой USB-порт Due, все же рекомендуется задействовать для этой цели порт для программирования.
Для прошивки своей программы через порт для программирования, сделайте следующее:
После выполнения указанных действий можно прошивать в Ардуино свою программу.