Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Разновидности плат Arduino, а также про клоны, оригиналы и совместимость – RoboCraft

Периодически команда Arduino радует нас новыми платами, расплодили итальянцы их уже много, наклонировано и понавыдумано мировым сообществом ещё больше, попробуем разобраться, что нужно именно вам.

Для тех кому лень читать, озвучу важный вывод с некоторым опережением.
Все «размеры» и разновидности ардуино-плат абсолютно совместимы друг с другом — если вас заинтересовал проект на ArdinoNano — ничто вам не помешает реализовать его на обычной Ardino(Freeduino) или ArdinoMega(SeeduinoMega), причём ни в коде ни в схеме переделывать ничего не придётся. Можно и наоборот, например, с «меги» на «мини» — лишь бы выводов/памяти хватило (часто в проектах применяются откровенно избыточные платы), изучайте характеристики. Так же никакой разницы нет в выборе конкретной платы внутри размерного ряда — берём проект для ArduinoDiecimila(DFRduino) и спокойно делаем его на UNO(CraftDuino) и наоборот!
Тем более нет НИКАКОЙ принципиальной разницы, кто сделал эту плату и как она называется — это не айфон — качественно можно собрать такую плату и в подвале.

Ниже обо всех нюансах, подробно и с картинками.

Как известно, ардуино придумали в Италии, оригинальные платы там и делают. С них и начнём.

Оригинальные платы.
Сами итальянцы выпускают плату в нескольких основных форм-факторах:
Ardino xxx — стандартный размер, 20входо-выходов, полная совместимость со всеми шилдами .
ArdinoMega xxx — увеличенный размер, 70входо-выходов, совместимость не со всеми шилдами.
ArdinoNano xxx — уменьшеный размер, 22входо-выхода, не совместима с шилдами.
ArdinoMini ххх — ещё меньший размер, 20входо-выхоов, не совместима с шилдами, не имеет USB.

Весь итальянский зоопарк можно увидеть тут.

Ardino xxx

Стандартный и самый распространённый размер. Когда говорят «ардуина» («обычная ардуина») — обычно все сразу представляют именно такие платы.

Самые первые платы были в этом этом форм-факторе, соответственно именно он пережил больше всего реинкорнаций (USB-версии в хронологическом порядке выхода):
Extreme, NG, Diecimila, Duemilanove, Uno, Leonardo.
Вы не поверите, но ощутимая разница для пользователя наблюдается только в Леонардо=))
Сейчас на оф. сайте предлагается к покупке только Leonardo и Uno, однако интернет завален вариантами Duemilanove (наша CraftDuino именно её разновидность=) и не зря — всё что нужно среднему пользователю было воплощено ещё в Ardino Extreme, с тех пор поменялось крайне мало=)
Все эти платы имеют одинаковое количество входов-выходов, собранных на одинаковые разъёмы (для подключения перефирии и шилдов), программируются по USB, и имеют микроконтроллер ATMega на борту. На ранних версиях стоял ATMega8, потом стали ставить ATMega168, потом ATMega328.

На «восьмёрке» только 3 ШИМ выхода, 8Кб под скетч 1Кб оперативки, но для многих приложений хватает=) У ATMega168 уже 6 ШИМ каналов и 16Кб под ваши нужды, а у 328-й 32Кб под программы и уже 2Кб оперативки. Кстати не вся флеш-память доступна пользователю, часть её занимает бутлоадер.

На всех платах до UNO стоял чип-преобразователь USB-UART FT232, позволяющий втыкать плату прямо в USB и программировать без программатора. При втыкании в системе появлялся виртуальный COM-порт, который и используется средой разработки Ардуино для программирования.

UNO

На UNO решили заменить хардварный преобразователя USB-UART, на микроконтроллер Atmega8U2 (в более поздних ревизиях 16U2)- в него залита специальная прошивка, делающая ровно то же что и FT232.

Что это дало?
Поднялась скорость прошивки — теперь вместо ~10секунд надо ждать ~3c =)
А главное, в этот МК-конвертор можно залить свою прошивку, и превратить ардуино в мышку, клавиатуру или миди устройство… наверняка кому-то это очень надо=)
Только делается это как-то не очень по-ардуиновски, и примеров пока крайне мало=( ИМХО, фича, совсем не для начинающих.
Так что, если ваша цель изменение протокола обмена платы и компа, вы хотите делать трушную клаву-мышь-МИДИдевайс ( вот, кстати, «не трушный» миди-пульт, на самой обычной ардуине=) тогда конечно вам нужна именно UNO. И если вам предстоит писать объёмную прошивку для этого (использовать исходники большого объёма), тогда нужно искать последнюю ревизию UNO — с Atmega16U2 (у неё в два раза больше памяти программ)
Да, тут ещё стоит оговориться — эта Atmega8U2/16U2 на самом деле делает не ровно то же, что FT232, она не реализует очень удобной фичи — BitBang-а, так что превратить плату в программатор таким нехитрым образом уже не получится.

Но всё же можно.

«стандарт» arduino 1.0 pinout

Ещё зоркие должны были заметить появление новых пинов на разъёмах UNO. Ага, появились — на «верхнем левом» коннекторе — SDA и SCL — пины интерфейса i2c, но они дублирующие (SDA и SCL и так сидят на 4 и 5 аналоговых входах) и функционал это не расширяет. Плюс «нижний левый» коннектор подрос, то же на 2 пина — резервный и IOREF. Резервный пин болтается в воздухе — никуда не подключен, а на IOREF глухо засажен на 5 вольт (схема). Когда-нибудь это всё, наверное пригодится…а на данный момент — старые шилды встают в UNO, как родные, новые шилды (коих пока крайне мало 1, 2 3 4 ), полностью совместимы со старыми платам хотя и грозят уткнуться в неё новыми пинами — их, возможно, придётся подогнуть или откусить.

Резюмируя моё сугубо личное мнение — нет никаких поводов гоняться именно и только за UNO, кроме случая когда вы собираетесь переписать прошивку USB-UART конвертора, а если вы не знаете что это — то вам точно нет никакой необходимости именно в уне=)
Тут всё то же про уну но по-короче=)

Leonardo

Вот это действительно шаг вперёд — всё на одном чипе, USB независим ни от UART ни вообще от каких бы то ни было пинов!
Итак, плата построена на ATmega32u4 и по сравнению с предыдущими моделями прокачалась.
На 0,5кБ увеличилась оперативка, ШИМ-выходов стало на 1 больше, аналоговых входов стало 12 (6 сидят где у всех Ардуино-плат, новые +6 разбросаны по цифровым пинам) и, как уже говорилось, разделены USB и UART.
Так же незатейливо поддерживаются, не только виртуальный ком порт, но и мышь и клавиатура, гораздо проще чем это реализовано в UNO.

Ну и, конечно, разъём micro-USB=)
Правда «шаг вперёд» вышел с нюансами — долго боролись с разнообразными глюками и затягивали выход, пара всё-таки осталась (функции tone и attachInterrupt), к тому же бутлоадер теперь занимает 4кб! А ещё в любой скетч для леонардо пихается поддержка USB — blink для Duemilanove/UNO займёт 1084 байт, а для Leonardo — 4858 байт=\
Физически леонардо имеет ту же разводку что и UNO, так что так же совместим со старыми шилдами.

ArdinoMega xxx

Серия прокачанных плат (по размеру и характеристикам) представлена моделями (в хронологическом порядке): Mega, Mega2560 и Arduino ADK.
В платы успешно втыкаются почти все шилды, но из-за разного (с «обычными» ардуинами) расположения выводов SPI-интерфейса, шилды использующие его с цифровых пинов 11,12,13 будут не совместимы.

Пример — старый эзернет шилд. На новом SPI берётся со стандартной вилки ISP и всё отлично работает и на «мегах», и на «обычных» дуинах.
На платах куча выводов:
54 цифровых
из них 15 — с ШИМ
16 — аналоговых,
Куча памяти:
128/256кб — флэш,
8кб оперативки,
4кб еепрома
и целых 4 хардварных UART-а!
«Мега» построена на ATmega1280, а «2560» и «ADK» на ATmega2560, поэтому различаются платы обьёмом памяти, к тому же у свежих — 2560 и ADK — USB-часть выполнена на ATmega8U2 (на более поздних ревизиях 2560 — на ATmega16U2), тут всё как у УНО.
А у ADK ещё и USB-host имеется, от которого ожидается большая дружба с Android-телефонами=)

ArdinoNano

Маленькая платка с mini-USB. Шилды к ней не подходят, но сама она удобно втыкается в макетку.
Ранние версии использовали ATmega168, сейчас стоят 328.
В качестве USB-UART моста стоят FT232.

ArdinoMini

Ещё меньшая плата. (Да-да, именно, тут какой-то исторический ляп — ардуино мини, почему-то значительно меньше ардуино нано=)
Пережила несколько версий — имеющих незначительные отличия в назначении некторых выводов.
С шилдами не совместима, но удобна для встраивания в законченные девайсы — ничего лишнего.
На мини нет USB — программируется она с помощью переходника USB-Serial (например на базе той же FT232).
Так же на плате стоит весьма маломощный стабилизатор, а из светодиодов — только индикатор питания и то на последних версиях=).
Есть варианты платы работающие на 3,3В и 8МГц, раньше ставили ATmega168, сейчас стоят 328.

Тээкс, разобрались с итальянскими оригиналами, пройдёмся по творчеству остальных ардуино-делов.

Проект ардуино — полностью открытый (доступна вся техническая документация необходимая для производства) и платы благополучно копируют и творчески перерабатывают все кому не лень=)

Ограничение касается только названия «Arduino» — его нельзя использовать для обзывания не итальянских плат (китайцы, естественно, плевали=) поэтому более законопослушные производители изгаляются с производными, много уже напридумали, кстати=)

Всё, что наплодили неитальянцы, можно условно разделить на три группы: «клоны», «совместимые» и «ардуино-подобные».

Клоны

Тут всё просто — берём документацию с сайта ардуино и тупо сдаём на производство, при желании изменив цвет маски и название (некоторые китайцы не желают=)
Такие платы («клоны») полностью повторяют ардуину и полностью совместимы с ней. То есть, разница между клоном и оригиналом — только в производителе (+иногда в цвете=) — соответственно различия могут быть только

в качестве сборки, качестве компонентов, строгости выходного контроля. С качеством — всё на совести производителя/продавца и на ваше эстетическое восприятие/везение.
В целом, повторюсь — не айфон, никаких космических технологий для сборки таких плат не нужно, и обеспечить достойное качество вполне может средний китайский подвал=) ИМХО за оригиналом гоняться особого смысла нет.
Да, чуть не забыл, у оригинальных плат в комплекте коробочка из тонкого, экологически чистого, цветного картона. И брошюрка с заверениями об экологичности и протестированности платы, а также повествующая, о том, что производители отказываются нести ответственность за использование платы в аэрокосмических/автомобильных/военных/ядерных/медицинских целях=)
видео распаковки)

Совместимые

Некоторые, наверное, более сознательные товарищи, пошли не путём копирования, а решили что-то добавить в проект (помимо своего названия и цвета маски) и повыдумывали ворох своих плат полностью совместимых с ардуино — условно их можно назвать «совместимыми переработками» (переосмыслениями=)

Например:
Freeduino
Freetronics Eleven
Seeeduino
CraftDuino
Diavolino
Japanino
и ещё многие-многие=)
Как правило доработки и переработки носят довольно эстетический характер (не несут принципиальных изменений функционала или характеристик) иначе платы потеряли бы совместимость. Обычно это дополнительные разъёмы, другое расположение светодиодов и кнопок, своя разводка, применение других компонентов (в других корпусах, других размеров), другие схемы питания, сброса, USB-части.
Повторюсь, этот класс плат полностью совместим с ардуино — и шилды можно втыкать и с ИДЕ работают как родные. Ярчайший пример — указанные на оф. сайте у итальянцев плата ArduinoPro (упрощена схема питания и убрана USB-часть) на самом деле их придумали и делает Sparkfun=)
Естественно, основным размером плат не ограничиваются — есть версии и мини- и нано- и мега- совместимых переработок, правда в этих случаях совместимость не такая уж важная вещь.

Тут я всё талдычу совместимо-несовместимо, пора уточнить что имеется ввиду.
Совместимость с ардуино складывается из двух вещей:

1.Совместимости с платами расширениями — шилдами. Для этого расположение и вид разъёмов должен быть как на итальянской Arduino Duemilanove/UNO. Так, например, самая что ни на есть итальянская-оригинальная «Нано» с шилдами не совместима=)
Естественно провода и скотч никто не отменял — соединить можно что угодно=)

2. Програмная совместимость. (программная часть проекта ардуино — это среда разработки(ИДЕ), библиотеки и скетчи)
На платах ардуино установлены микроконтроллеры фирмы Atmel, семейства ATMega — ATMega8/168/328 — на всех кроме Мега(ATMega1280/2560) и Леонардо(ATMega32U4).
Обычно тактируются эти МК кварцевым резонатором на 16МГц (Реже 8МГц)
Питаются МК на платах от (реже 3,3В)
Загрузка скетчей происходит через бутлоадер(специальная программа-загрузчик заранее прошитая в МК), хотя в последних версиях среды появилась опция прошивки скетча через программатор, так что это уже, пожалуй, не критерий=)
Так вот, ЛЮБАЯ плата удовлетворяющая перечисленным условиям (Тип контроллера, частота, напряжение питания, наличие бутлоадера) сможет использовать все наработки сообщества Arduino — и скетчи, и библиотеки, и писать всё это можно будет в той же среде Arduino, и загружать оттуда же.
При наличии прямых рук, можно подпилить библиотеки для использования не в среде ардуино или среду для использования плат с нехарактерными МК или частотами их работы. Но вроде как у нас тут начинающие рассматриваются — какие правки среды и библиотек?!
Так что будем считать программно совместимыми только те платы, которые корректно заработают без всяких допиливаний.

Ардуино-подобные
Некоторые идут дальше и вносят более существенные изменения теряя совместимость (с шилдами) такие платы можно назвать ардуино-подобными.

К ним можно смело отнести, расположенные в официальном зоопарке:
ArdinoFio — плата для портативных устройств с питанием от литиевых батарей.
LilyPad — круглая плата для «электронной одежды»
ProMini, значительно отличающаюсяя версия ардуино мини.
Всех их, тоже выдумал и клепает Sparkfun=)

Менее известные общественности примеры — древняя Roboduino — плата для управления кучей сервоприводов. Несмотря на общие с ардуиной очертания — шилды в неё втыкать не выйдет, да и не предполагалось=)

Менее похожая на родоначальника Rainbowduino, — для управления светодиодными матрицами,
и ни на что не похожая гибкая версия Seeeduino Film от Seeedstudio.

Или вот ещё мегакомбайн-всё-в-одном DINo Internet Ethernet IO board тоже совместим лишь программно.

Собственно, как мы уже сказали, ардуино-подобной может считаться (и является) любая плата с ATMega8/168/328/32U4/1280/2560, 16/8Мгц, 5/3,3В, так что в этом месте классификация/перечесление срывается в бесконечность=)

Использованы фотографии с
arduino.cc
robocraft.ru
freeduino.org
freeduino.ru
dfrobot.com
yourduino.com
evilmadscientist.com
seeedstudio.com
kmtronic.com
store.curiousinventor.com
syslab.asablo.jp
freetronics.com

По теме
Ардуино что это и зачем?
Почему Arduino побеждает и почему он здесь, чтобы остаться?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)
Возможные ошибки при работе с Arduino

Купить контроллер Arduino или CraftDuino — можно в нашем Магазине.

Что такое Arduino?

Что такое Arduino? Формально это торговая марка, под которой выпускаются официальные платы и программы. Название Arduino идёт от одноименного названия забегаловки в Италии, где создатели любили пропустить по рюмочке. С точки зрения использования, Arduino – это платформа для разработки электронных устройств, точнее их прототипов и макетов. Включает в себя железо (платы) и софт (среда разработки).

Семейство Arduino – несколько моделей так называемых отладочных плат. Отладочная плата представляет собой как ни странно печатную плату, на которой стоит микроконтроллер (далее МК) – та самая штука, которую мы будем программировать. В младших платах Arduino используются микроконтроллеры AVR (UNO, Nano, Mega, Leonardo), в современных моделях стоят более мощные ARM Cortex для более серьёзных проектов.

Ардуино является открытой платформой, поэтому модельный ряд постоянно пополняется неофициальными платами от других производителей, такие платы называют “Arduino-совместимыми”. С ними можно работать в официальной программе Arduino IDE, писать на том же языке с тем же набором команд и даже использовать те же библиотеки! В качестве примера: это платы Teensy, платы на базе МК esp32 и esp8266 (Wemos, NodeMCU), различных китайских клонов и так далее.

Рассмотрим, из чего состоит платформа и какие задачи она решает.

Железо (аппаратная часть)


Как собрать электронное устройство на базе МК? Нужно:

  • Сделать печатную плату, ибо сам МК очень маленький и паять его неудобно.
  • Обеспечить тактирование МК (те самые мегагерцы, как в обычном компьютере) – подключить тактовый генератор.
  • Добавить необходимую обвязку: фильтры по питанию, кнопку перезагрузки, некоторые МК требуют подключения резисторов к определённым пинам, и так далее.
  • Подключить остальные компоненты проекта: расположить их на плате или предусмотреть штекеры.
  • Обеспечить стабильное питание схемы, возможно даже в широком диапазоне питающего напряжения.
  • Некоторые МК нужно “настроить” при помощи программатора.
  • Загрузить прошивку при помощи программатора.

Звучит сложно, именно поэтому ребята из Arduino решили объединить всё это на одной плате: уже настроенный микроконтроллер и всё необходимое для его работы, стабилизатор напряжения, и самое главное – программатор, он тоже расположен на плате и для загрузки прошивки достаточно просто подключить USB кабель! Ноги МК выведены на рейку с пинами (стандартный шаг 2. 54 мм), что позволяет работать с платой на брэдборде (макетная плата) и быстро подключать к ней любые компоненты. Изначально сложную задачу упростили до электронного “конструктора”, именно поэтому Arduino стали настолько популярны.

Софт (программная часть)


Как запрограммировать МК? Нужно:

  • Написать прошивку (при помощи любого текстового редактора).
  • Скомпилировать прошивку (для AVR – при помощи бесплатного консольного компилятора avr-gcc).
  • Загрузить прошивку в МК (для AVR – при помощи консольной утилиты avrdude).

Для этого у Arduino есть своя IDE (Integrated Development Environment) – интегрированная среда разработки Arduino IDE. Она представляет собой текстовый редактор, умеет компилировать и загружать код. А также менеджер библиотек и поддержку неофициальных плат. Таким образом весь процесс прошивки сводится к одному щелчку по кнопке загрузить: никаких настроек, никаких плясок с бубном, ничего лишнего. Подробнее об Arduino IDE мы поговорим в отдельном уроке.

Также к программной части можно отнести:

  • “Язык” Arduino, который на самом деле является просто встроенной библиотекой. У всех Arduino-совместимых плат есть одинаковый набор функций, поэтому проект можно практически без изменений перенести с одной платы на другую.
  • Библиотеки, которые в сотни упрощают работу с модулями и прочими железками. Для Arduino-среды существует около 5000 библиотек, которые охватывают все Arduino-модули и некоторые микросхемы. Также среди библиотек можно найти различные интересные алгоритмы обработки данных и прочие полезные штуки.

Простота и удобство разработки в совокупности с огромным множеством плат на разных МК и набором библиотек на все случаи жизни сделало Arduino самой простой и удобной платформой для изучения робототехники и создания прототипов электронных устройств.

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


На каком языке программируется Arduino? Многие называют его “упрощённый C++“, “разновидность C++“, “язык Ардуино“, сами Arduino называют его “Arduino Wiring“. Но на самом деле язык здесь – обычный C++ (си-плюс-плюс) со всем соответствующим ему синтаксисом и возможностями, операторами и прочими инструментами (версия C++17). Но есть пара моментов:

  • Среда Arduino IDE слегка меняет стандартный вид программы на C++ и действительно упрощает понимание для новичка. В то же время Arduino IDE не заставляет писать программу “по-Ардуиновски”, можно оформить её как обычную программу на Си (объявить int main(){} и писать свой код).
  • Arduino IDE автоматически подключает в код библиотеку Arduino.h, которая содержит базовый набор функций для работы с МК, а также некоторые константы и математические функции, которые пришли из открытого фреймворка Wiring.
  • В AVR Arduino используется компилятор avr-gcc, в котором нет стандартных для компьютерной разработки std:: библиотек. Но зато есть свои библиотеки, ориентированные на работу с микроконтроллером.

Дополнительно в Arduino IDE нам доступно:

  • Встроенные библиотеки для работы с интерфейсами связи и памятью.
  • В папке с программой лежит набор стандартных библиотек: для LCD дисплея, шагового мотора, сервопривода и некоторых других железок.
  • [Только для AVR Arduino] Вместе с компилятором идёт набор низкоуровневых библиотек для AVR (сон, progmem, watchdog и многие многие другие).
  • Работа с микроконтроллером “напрямую” при помощи регистров.
  • Можно писать на ассемблере, взяв под контроль каждый такт работы МК.

Если вы научитесь свободно программировать Ардуино и вдруг перейдете к разработке программ на том же C++ в более взрослых средах разработки, вы будете неприятно удивлены большим количеством дополнительного кода, который придется писать руками. И наоборот, если умеющий в C++ человек посмотрит на типичный ардуино-код, он скажет “да как это вообще работает?”. Компилятор в Arduino IDE настроен на максимальную всеядность и прощение ошибок, потому что это обучающая платформа.

Библиотеки


Жизнь рядового ардуинщика неразрывно связана с библиотеками, потому что огромное комьюнити за годы своего существования сделало огромное количество этих самых библиотек на все случаи жизни и для всех продающихся датчиков и модулей. Библиотека это набор файлов с кодом, которым мы можем пользоваться просто ознакомившись с документацией или посмотрев примеры. Такой подход называется “черным ящиком”, мы можем даже не догадываться, насколько сложный код содержится в библиотеке, но будем с лёгкостью пользоваться возможностями, который этот код даёт. Купили модуль – нашли библиотеку – открыли пример – всё, результат достигнут.

Чистый Си? Писать без библиотек?


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

  • Современные микроконтроллеры имеют достаточно памяти для того, чтобы разработчик мог позволить себе сэкономить время и использовать готовые инструменты. Более того, серьёзные разработки делаются с использованием операционных систем реального времени, которые сами по себе являются огромной тяжёлой библиотекой. Никто не пишет на ассемблере, за окном не 1980 год.
  • Компилятор “вырежет” неиспользуемый код из библиотеки.
  • Если писать крупный проект чисто голым кодом – это будет полотно на несколько тысяч строк, в котором невозможно будет разобраться. Программу разбивают на файлы – по сути на те же самые библиотеки! Некоторые алгоритмы и части программы изначально удобно обернуть в независимую библиотеку и использовать в том числе для других проектов, чтобы не писать заново. Так что писать без библиотек невозможно в принципе, неважно скачаете ли вы её с интернета или напишете сами.
  • Если у вас в проекте одна кнопка – нет большой разницы, описывать её вручную или использовать библиотеку. Но как только появляется ещё одна кнопка – с точки зрения памяти гораздо эффективнее использовать библиотеку, потому что код обработки не будет дублироваться. К этому мы вернёмся в уроке про создание крупных проектов.
  • Если вы новичок, то в 99% библиотека из интернета будет написана и оптимизирована в разы лучше, чем ваш код.

Возможности


Зачем учиться работать с Ардуино и электроникой в целом?

  • Это невероятно интересное, техническое, развивающее мозги и относительно дешёвое “DIY” хобби с бесконечным количеством идей и способов их реализаций
  • Возможность создания узко-специальных электронных устройств и станков, аналогов которым нет в продаже или они слишком дорогие. В том числе для личных нужд или работы (знакомый ювелир сделал себе контроллер для муфельной печи, который стоит очень дорого).
  • Возможность создания уникальных устройств с целью выхода на краудфандинг и запуска своего бизнеса.
  • Отличная практика в программировании и электронике, особенно перед обучением на соответствующую специальность.
  • Возможности в целом: автоматизация, автоматическое регулирование процессов, дистанционное управление, мониторинг различных величин, носимые и стационарные электронные устройства различного назначения.

Хейтеры платформы


В мире серьезных программистов и разработчиков очень не любят Ардуино. Почему? Рассмотрим несколько популярных негативных комментариев о платформе.

  • В среде Arduino IDE работа с микроконтроллером упрощена настолько, что ардуинщику вообще ничего не нужно знать о его архитектуре и о том, как он вообще программируется и настраивается: все сделано в виде готовых и понятных функций.
    • С каких пор удобство и простота стали плохими? Для новичка это единственный способ познакомиться с миром робототехники без изучения кипы документации и получения соответствующего образования. Ардуино создана в первую очередь для обучения, и во вторую – для быстрого и удобного создания прототипов электронных устройств, это её фишка.
  • Это всё конечно хорошо, но скрытый за ширмой дружелюбного “Ардуино Вайринга” код ужасает: за безобидными на первый взгляд функциями кроются полотна кода, который что-то проверят, перепроверяет, перенастраивает уже настроенное и делает многие другие на первый взгляд ненужные вещи. Это безобразие работает очень медленно и занимает кучу места!
    • Да, стандартные функции имеют кучу защит от дурака новичка, они тяжёлые и медленные. Но новичок и не сможет написать такой код, где скорость и память будут настолько критичны! А если понадобится, то к этому времени он уже будет в состоянии писать код оптимально и найдёт на моём сайте или в другом месте в Интернете быстрые аналоги Ардуино-функций или напишет их сам. И ещё один момент: ядро Ардуино устроено так, что обеспечивает совместимость кода и библиотек для всех Ардуино-плат. Начали делать проект на Arduino NANO и памяти/ног стало не хватать? Переносим проект на Arduino MEGA и продолжаем работать. NANO оказалась слишком велика для проекта? Переносим на ATTiny85, даже не открывая документацию: большинство библиотек работают на всех Ардуино-совместимых платах, это очень жирный плюс, хоть и в ущерб производительности и памяти.
  • Стандартные функции из Arduino.h описывают незначительную часть всех возможностей и настроек, которые есть в микроконтроллере.
    • А никто и не обещал вам HAL! Возможности МК раскрываются при использовании библиотек (см.  список библиотек), благо сообщество у платформы действительно огромное. Также всегда можно научиться работать с даташитом и регистрами и настраивать всё что угодно и как угодно вручную.
  • Arduino IDE “скрывает” от пользователя важные низкоуровневые настройки.
    • И правильно делает! Одна ошибка – и можно остаться с заблокированным МК. При желании через Arduino IDE можно и фьюзы прошить, и под другие частоты настроить, об этом читайте вот в этом уроке.
  • Ардуино для детей! Серьёзные дяди работают с “голым камнем”.
    • Всё верно, для детей и домохозяек. Плата Ардуино задумана для создания макетов, прототипирования, её можно рассматривать как часть электронного “конструктора” для обучения. На плате есть вся необходимая обвязка, почему не использовать её даже как сердце готового проекта?
  • Arduino IDE для детей! Серьёзные дяди работают во взрослых средах разработки.
    • Верно, но есть небольшой нюанс: Arduino IDE официально бесплатная, после простой установки (Далее, Далее, Далее, Готово) она сразу готова к работе: достаточно выбрать плату из списка и начать писать код. Взрослые среды разработки требуют взрослого подхода и порог вхождения для работы с ними несоизмеримо высок. Помимо непростой установки и настройки вас ждут расширенные настройки самого микроконтроллера в ручном режиме, чтение документации и даташитов, “взрослый” интерфейс и множество нюансов в самом программировании и настройках компилятора. Времени на изучение этого всего уйдёт много, а нормальных уроков вы скорее всего не найдёте.
  • Ардуинщики ходят по замкнутому кругу, они никогда не разовьются дальше мигания светодиодом.
    • Платформа ничем не ограничивает разработчика, но если он сам не захочет – не разовьётся.
  • На Ардуино нельзя создать что-то реально сложное и интересное.
    • Скажите это ЧПУ станкам (прошивка GRBL), 3D принтерам (прошивка Marlin), квадрокоптерам и самолётам (прошивка Ardupilot) и многим другим крупным проектам.
  • А STM32 лучше! И в разы мощнее! И возможностей у неё больше! И она дешевле!!!
    • Да, да, да. Но не забывайте про порог вхождения и размер сообщества с контентом, библиотеками и примерами “для новичков”, а также о сложности работы с STM в целом. Посмотрите видосы вот на этом канале и сравните происходящее с Arduino. Что касается возможностей и скорости работы – для большинства любительских проектов Arduino (ATmega328/2560) будет более чем достаточно, особенно если уметь писать оптимальный код.
  • Качество кода “из Интернета” просто ужасное.
    • Да, из-за простых, но понятных стандартных примеров аудитория ардуинщиков выросла очень быстро и буквально завалила интернет своими проектами, завлекая тем самым в это хобби других новичков. 99% учебных примеров, примеров работы с библиотеками и модулями написаны простенько и ужасно неоптимально: int переменные для всего подряд, вездесущий delay, блокирующие циклы и прочее, помимо богомерзких ардуино-функций. Люди берут эти примеры как основу и продолжают дальше писать так же. Но эти люди стоят на пороге очень большой двери под названием робототехника. Перешагнув через этот порог, отбросив все кривые примеры и научившись грамотно выстраивать структуру своего кода, они попадают в мир безграничных возможностей для творчества и исследования, мир бесконечно интересных и разнообразных проектов на Arduino. Для этого я и пишу данные уроки.

Что ещё хочется сказать по поводу негатива от “профессионалов” – в большинстве случаев они просто завидуют: в “их время” для создания даже простенького проекта на базе микроконтроллера нужно было потратить огромное количество времени на изучение документации на английском языке на конкретную модель МК, на все остальные железки и микросхемы в проекте, научиться работать в недружелюбной среде разработки, развести и спаять плату, купить дорогой программатор и прочее прочее. А в наше время можно купить плату за 150р, воткнуть её в USB, запустить программу вида “блокнот с кнопкой Загрузить” и начать кодить с использованием огромного количества готовых библиотек и примеров для практически любых железок на рынке, а на любой свой вопрос можно найти ответ в гугле. Реально, у ребят просто пригорает одно место =)

Видео версия


Полезные страницы


  • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
  • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
  • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
  • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
  • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
  • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
  • Поддержать автора за работу над уроками
  • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту (alex@alexgyver. ru)

Arduino Nano — Официальный магазин Arduino

Код: A000005 / Штрих-код: 7630049200173

21,60 €

| /

Классическая плата Arduino Nano — это самая маленькая плата для создания ваших проектов.

##цена##

Расширьте свои возможности, добавьте в корзину: €0,00

Обзор

Arduino Nano — это небольшая, полная и удобная для макета плата на базе ATmega328 (Arduino Nano 3.x). Он имеет более или менее ту же функциональность, что и Arduino Duemilanove, но в другом корпусе. В нем отсутствует только разъем питания постоянного тока, и он работает с USB-кабелем Mini-B вместо стандартного.

Связанные платы

Если вы ищете плату Nano с аналогичными функциями, но с дополнительными функциями, проверьте: 

  • Arduino Nano 33 BLE
  • Arduino Nano 33 BLE SENSE
  • Ардуино 33 Интернет вещей
  • Ардуино Микро

Начало работы

Найдите вдохновение для своих проектов с доской Nano на нашей обучающей платформе Project Hub.

В разделе «Начало работы с Arduino Nano» вы можете найти всю информацию, необходимую для настройки вашей платы, использования программного обеспечения Arduino (IDE) и начала работы с программированием и электроникой.

В разделе «Учебники» вы можете найти примеры из библиотек и встроенных скетчей, а также другую полезную информацию, которая поможет расширить ваши знания об аппаратном и программном обеспечении Arduino.

Нужна помощь?

Посетите форум Arduino, чтобы задать вопросы о языке Arduino или о том, как создавать собственные проекты с помощью Arduino. Если вам нужна помощь с вашей платой, пожалуйста, свяжитесь с официальной службой поддержки пользователей Arduino, как описано на странице «Контакты».

Гарантия

Здесь вы можете найти информацию о гарантии на вашу плату.


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

Микроконтроллер ATmega328
Архитектура АВР
Рабочее напряжение 5 В
Флэш-память 32 КБ, из которых 2 КБ используются загрузчиком
ОЗУ 2 КБ
Тактовая частота 16 МГц
Контакты аналогового входа 8
ЭСППЗУ 1 КБ
Постоянный ток на контакты ввода/вывода 40 мА (контакты ввода-вывода)
Входное напряжение 7-12 В
Контакты цифрового ввода/вывода 22 (из них 6 ШИМ)
Выход ШИМ 6
Потребляемая мощность 19 мА
Размер печатной платы 18 х 45 мм
Вес 7 г
Код продукта А000005

Документация

 

OSH: Схемы

Arduino Nano — это оборудование с открытым исходным кодом! Вы можете создать свою собственную доску, используя следующие файлы:

ФАЙЛЫ EAGLE В . ZIP СХЕМЫ В .PDF РАЗМЕР ПЛАТЫ В .PDF

 

Схема контактов

Загрузите полную схему контактов в формате PDF здесь.

Узнать больше

  • ARDUINO DOCS Для получения полной технической документации, руководств и многого другого посетите Arduino Docs

Получите вдохновение

##заглавие## ##субтитры##

##текст##

читать далее

Часто задаваемые вопросы

Питание

Arduino Nano может питаться через USB-разъем Mini-B, нерегулируемый внешний источник питания 6–20 В (контакт 30) или регулируемый внешний источник питания 5 В (контакт 27). В качестве источника питания автоматически выбирается источник с самым высоким напряжением.

Память

ATmega328 имеет 32 КБ (также 2 КБ используются для загрузчика). ATmega328 имеет 2 КБ SRAM и 1 КБ EEPROM. могут использоваться как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают при напряжении 5 В. Каждый контакт может обеспечить или получить максимум 40 мА и имеет внутренний подтягивающий резистор ( отключен по умолчанию) 20-50 кОм Кроме того, некоторые контакты имеют специальные функции:

  • Серийный номер: 0 (RX) и 1 (TX). Используется для приема (RX) и передачи (TX) последовательных данных TTL. Эти контакты подключены к соответствующим контактам последовательного чипа FTDI USB-to-TTL.
  • Внешние прерывания: 2 и 3. Эти контакты могут быть настроены для запуска прерывания по низкому значению, нарастающему или падающему фронту или изменению значения. Подробности смотрите в описании функции attachInterrupt().
  • PWM: 3, 5, 6, 9, 10 и 11. Обеспечьте 8-битный вывод PWM с помощью функции AnalogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты поддерживают связь SPI, которая, хотя и обеспечивается базовым оборудованием, в настоящее время не включена в язык Arduino.
  • Светодиод
  • : 13. К цифровому выводу 13 подключен встроенный светодиод. Когда на выводе ВЫСОКОЕ значение, светодиод горит, когда на выводе НИЗКИЙ, он выключен.

Nano имеет 8 аналоговых входов, каждый из которых обеспечивает 10-битное разрешение (т. е. 1024 различных значения). По умолчанию они измеряют от земли до 5 вольт, хотя можно изменить верхнюю границу их диапазона с помощью функции AnalogReference(). Аналоговые контакты 6 и 7 не могут использоваться в качестве цифровых контактов. Кроме того, некоторые контакты имеют специальные функции:

  • I2C: A4 (SDA) и A5 (SCL). Поддержка связи I2C (TWI) с использованием библиотеки Wire (документация на веб-сайте Wiring).

На плате есть еще пара контактов:

  • AREF. Опорное напряжение для аналоговых входов. Используется с AnalogReference().
  • Сброс. Установите на этой линии НИЗКИЙ уровень, чтобы перезагрузить микроконтроллер. Обычно используется для добавления кнопки сброса к экранам, которые блокируют кнопку на плате.

Связь

Arduino Nano имеет ряд средств для связи с компьютером, другим Arduino или другими микроконтроллерами. ATmega328 обеспечивает последовательную связь UART TTL (5V), которая доступна на цифровых контактах 0 (RX) и 1 (TX). FTDI FT232RL на плате направляет эту последовательную связь через USB, а драйверы FTDI (входящие в состав программного обеспечения Arduino) предоставляют виртуальный COM-порт для программного обеспечения на компьютере. Программное обеспечение Arduino включает в себя последовательный монитор, который позволяет отправлять простые текстовые данные на плату Arduino и с нее. Светодиоды RX и TX на плате будут мигать, когда данные передаются через микросхему FTDI и USB-подключение к компьютеру (но не при последовательной связи на контактах 0 и 1). Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых контактов Nano. ATmega328 также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino включает библиотеку Wire для упрощения использования шины I2C. Чтобы использовать связь SPI, см. техническое описание ATmega328.

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

Arduino Nano можно запрограммировать с помощью программного обеспечения Arduino (скачать). Выберите «Arduino Duemilanove или Nano w/ATmega328» в меню «Инструменты» > «Плата» (в зависимости от микроконтроллера на вашей плате). ATmega328 на Arduino Nano поставляется с предварительно записанным загрузчиком, который позволяет загружать в него новый код без использования внешнего аппаратного программатора. Он обменивается данными с использованием оригинального протокола STK500. Вы также можете обойти загрузчик и запрограммировать микроконтроллер через заголовок ICSP (внутрисхемное последовательное программирование), используя Arduino ISP или аналогичный.

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

Вместо того, чтобы требовать физического нажатия кнопки сброса перед загрузкой, Arduino Nano сконструирован таким образом, что его можно сбросить с помощью программного обеспечения, работающего на подключенном компьютере. Одна из линий аппаратного управления потоком (DTR) FT232RL подключена к линии сброса ATmega328 через конденсатор емкостью 100 нанофарад. Когда эта линия активна (низкий уровень), линия сброса падает на время, достаточное для сброса микросхемы. Программное обеспечение Arduino использует эту возможность, чтобы вы могли загружать код, просто нажав кнопку загрузки в среде Arduino. Это означает, что загрузчик может иметь более короткий тайм-аут, так как снижение DTR может быть хорошо согласовано с началом загрузки. Эта установка имеет и другие последствия. Когда Nano подключен к компьютеру с Mac OS X или Linux, он сбрасывается каждый раз, когда к нему подключается программное обеспечение (через USB). Следующие полсекунды загрузчик работает на Nano. Хотя он запрограммирован на игнорирование искаженных данных (то есть всего, кроме загрузки нового кода), он будет перехватывать первые несколько байтов данных, отправленных на плату после открытия соединения. Если скетч, работающий на плате, получает одноразовую конфигурацию или другие данные при первом запуске, убедитесь, что программное обеспечение, с которым он взаимодействует, ждет секунду после открытия соединения и перед отправкой этих данных.

Arduino Due — Официальный магазин Arduino

Код: A000062 / Штрих-код: 7630049200487

42,00 €

| /

Arduino Due — первая плата Arduino, основанная на 32-битном микроконтроллере ARM. С 54 цифровыми входами/выходами, 12 аналоговыми входами, это идеальная плата для мощных крупномасштабных проектов Arduino.

##цена##

Расширьте свои возможности, добавьте в корзину: €0,00

Обзор

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

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

Плата содержит все необходимое для поддержки микроконтроллера; просто подключите его к компьютеру с помощью кабеля micro-USB или включите адаптер переменного тока в постоянный или аккумулятор, чтобы начать. Due совместим со всеми шилдами Arduino, которые работают от 3,3 В и совместимы с распиновкой Arduino 1.0.

Due соответствует распиновке 1.0:

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

Информацию о гарантии на плату можно найти здесь.

Начало работы

В разделе «Начало работы» вы можете найти всю информацию, необходимую для настройки платы, использования программного обеспечения Arduino (IDE) и начала работы с программированием и электроникой.

Нужна помощь?

  • О программном обеспечении на форуме Arduino
  • О проектах на форуме Arduino
  • На самом продукте через нашу службу поддержки клиентов

Эта плата поставляется с припаянными разъемами. Плату без заголовков можно найти по этой ссылке.


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

Микроконтроллер АТ91САМ3С8Э
Рабочее напряжение 3,3 В
Входное напряжение (рекомендуется) 7-12 В
Входное напряжение (пределы) 6-16 В
Контакты цифрового ввода/вывода 54 (из них 12 обеспечивают выход ШИМ)
Аналоговые входные контакты 12
Аналоговые выходные контакты 2 (ЦАП)
Суммарный выходной постоянный ток на всех линиях ввода-вывода 130 мА
Постоянный ток для контакта 3,3 В 800 мА
Постоянный ток для контакта 5 В 800 мА
Флэш-память 512 КБ всего доступно для пользовательских приложений
ОЗУ 96 КБ (два банка: 64 КБ и 32 КБ)
Тактовая частота 84 МГц
Длина 101,52 мм
Ширина 53,3 мм
Вес 36 г

Документация

OSH: Схемы

Arduino Due — это аппаратное обеспечение с открытым исходным кодом! Вы можете создать свою собственную плату, используя следующие файлы:

ФАЙЛЫ EAGLE В . ZIP СХЕМЫ В .PDF FRITZING В .FZPZ РАЗМЕР ПЛАТЫ В .PDF

Схема выводов

Загрузите полную схему выводов в формате PDF здесь.

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

 

Питание

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

Внешнее (не USB) питание может поступать либо от адаптера переменного тока в постоянный (настенный), либо от аккумулятора. Адаптер можно подключить, вставив штекер 2,1 мм с центральным положительным контактом в разъем питания на плате. Выводы от аккумулятора можно вставить в контактные разъемы Gnd и Vin разъема POWER.

Плата может работать от внешнего источника питания от 6 до 20 вольт. Однако при подаче менее 7 В на контакт 5 В может подаваться менее пяти вольт, и плата может работать нестабильно. При использовании более 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 до 12 вольт.

Контакты питания следующие:

  • Вин.  Входное напряжение платы Arduino при использовании внешнего источника питания (в отличие от 5 вольт от USB-соединения или другого регулируемого источника питания). Вы можете подавать напряжение через этот контакт или, если подаете напряжение через разъем питания, получить к нему доступ через этот контакт.
  • 5V . Этот контакт выводит регулируемое напряжение 5V от регулятора на плате. Плата может питаться от разъема питания постоянного тока (7–12 В), разъема USB (5 В) или контакта VIN платы (7–12 В). Подача напряжения через контакты 5 В или 3,3 В обходит регулятор и может повредить вашу плату. Мы не советуем.
  • 3V3 . Питание 3,3 В, генерируемое бортовым регулятором. Максимальный потребляемый ток составляет 800 мА. Этот регулятор также обеспечивает питание микроконтроллера SAM3X.
  • ЗЕМЛЯ . Заземляющие штифты.
  • ИОРЕФ . Этот контакт на плате Arduino обеспечивает опорное напряжение, с которым работает микроконтроллер. Правильно сконфигурированный экран может считывать напряжение на выводе IOREF и выбирать соответствующий источник питания или включать преобразователи напряжения на выходах для работы с 5 В или 3,3 В.

Память

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

Можно стереть флэш-память SAM3X с помощью встроенной кнопки стирания. Это удалит текущий загруженный скетч из MCU. Чтобы стереть, нажмите и удерживайте кнопку Erase в течение нескольких секунд, когда плата включена.

Вход и выход

  • Цифровой ввод/вывод: контакты с 0 по 53
  • Каждый из 54 цифровых контактов на Due можно использовать как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают от 3,3 вольта. Каждый контакт может обеспечить (источник) ток 3 мА или 15 мА, в зависимости от вывода, или принять (приемник) ток 6 мА или 9 мА.мА, в зависимости от выв. У них также есть внутренний подтягивающий резистор (по умолчанию отключен) на 100 кОм. Кроме того, некоторые контакты имеют специальные функции:
  • Серийный номер: 0 (RX) и 1 (TX)
  • Серийный номер 1: 19 (прием) и 18 (передача)
  • Серийный номер 2: 17 (прием) и 16 (передача)
  • Серийный порт 3: 15 (RX) и 14 (TX)   Используется для приема (RX) и передачи (TX) последовательных данных TTL (с уровнем 3,3 В). Контакты 0 и 1 подключены к соответствующим контактам микросхемы ATmega16U2 USB-to-TTL Serial.
  • ШИМ: контакты со 2 по 13   Обеспечьте 8-битный вывод ШИМ с помощью функции AnalogWrite(). разрешение ШИМ можно изменить с помощью функции AnalogWriteResolution().
  • SPI: Заголовок SPI (заголовок ICSP на других платах Arduino)  Эти контакты поддерживают связь SPI с использованием библиотеки SPI. Штыри SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Заголовок SPI можно использовать только для связи с другими устройствами SPI, а не для программирования SAM3X методом внутрисхемного последовательного программирования. SPI of the Due также имеет расширенные функции, которые можно использовать с методами расширенного SPI для Due.
  • CAN: CANRX и CANTX Эти контакты поддерживают протокол связи CAN, но еще не поддерживаются API-интерфейсами Arduino.
  • Светодиод «L»: 13   К цифровому контакту 13 подключен встроенный светодиод. Также возможно уменьшить яркость светодиода, потому что цифровой контакт 13 также является выходом PWM.
  • TWI 1:20 (SDA) и 21 (SCL)
  • TWI 2: SDA1 и SCL1.   Поддержка связи TWI с использованием библиотеки Wire. SDA1 и SCL1 можно контролировать с помощью класса Wire1, предоставляемого библиотекой Wire. В то время как SDA и SCL имеют внутренние подтягивающие резисторы, SDA1 и SCL1 их не имеют. Для использования Wire1 необходимо добавить два подтягивающих резистора на линии SDA1 и SCL1.
  • Аналоговые входы: контакты от A0 до A11   Due имеет 12 аналоговых входов, каждый из которых может обеспечивать 12-битное разрешение (т. е. 4096 различных значений). По умолчанию разрешение показаний установлено на 10 бит, для совместимости с другими платами Arduino. Можно изменить разрешение АЦП с помощью функции AnalogReadResolution(). На контактах аналоговых входов Due измеряется напряжение от земли до максимального значения 3,3 В. Подача напряжения более 3,3 В на контакты Due приведет к повреждению микросхемы SAM3X. Функция AnalogReference() игнорируется в Due.

Вывод AREF подключен к аналоговому опорному выводу SAM3X через резисторный мост. Чтобы использовать вывод AREF, резистор BR1 необходимо отпаять от печатной платы.

  • ЦАП1 и ЦАП2   Эти контакты обеспечивают настоящие аналоговые выходы с 12-битным разрешением (4096 уровней) с функцией AnalogWrite(). Эти контакты можно использовать для создания аудиовыхода с помощью аудиобиблиотеки.

Обратите внимание, что выходной диапазон ЦАП фактически составляет от 0,55 В до 2,75 В.

Другие контакты на плате:

  • AREF   Опорное напряжение для аналоговых входов. Используется с AnalogReference().
  • Сброс   Установите на этой линии НИЗКИЙ уровень для сброса микроконтроллера. Обычно используется для добавления кнопки сброса к экранам, которые блокируют кнопку на плате.

См. также сопоставление выводов Arduino и портов SAM3X:

ОТОБРАЖЕНИЕ ВЫВОДОВ SAM3X

Связь

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 подключен к SAM3X. Это позволяет осуществлять последовательную (CDC) связь через USB. Это обеспечивает последовательное соединение с Serial Monitor или другими приложениями на вашем компьютере. Это также позволяет Due эмулировать USB-мышь или клавиатуру на подключенном компьютере. Чтобы использовать эти функции, см. справочные страницы библиотеки мыши и клавиатуры.

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

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

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

Due можно запрограммировать с помощью программного обеспечения Arduino Arduino (IDE). Подробнее см. в справочнике и руководствах.

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

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

  • Порт программирования: чтобы использовать этот порт, выберите «Arduino Due (ProgrammingPort)» в качестве платы в Arduino IDE. Подключите порт программирования Due (ближайший к разъему питания постоянного тока) к компьютеру. Порт программирования использует 16U2 в качестве чипа USB-to-serial, подключенного к первому UART SAM3X (RX0 и TX0). 16U2 имеет два контакта, подключенных к контактам Reset и Erase SAM3X. Открытие и закрытие порта программирования, подключенного со скоростью 1200 бит/с, запускает процедуру «жесткого стирания» микросхемы SAM3X, активируя контакты стирания и сброса на SAM3X перед обменом данными с UART. Это рекомендуемый порт для программирования Due. Это более надежно, чем «мягкое стирание», которое происходит на собственном порту, и оно должно работать, даже если основной MCU вышел из строя.
  • Собственный порт: чтобы использовать этот порт, выберите «Arduino Due (NativeUSBPort)» в качестве платы в Arduino IDE. Собственный порт USB подключен непосредственно к SAM3X. Подключите собственный USB-порт Due (ближайший к кнопке сброса) к компьютеру. Открытие и закрытие собственного порта на скорости 1200 бит/с запускает процедуру «мягкого стирания»: флэш-память стирается, а плата перезагружается с загрузчиком. Если MCU по какой-то причине вышел из строя, вероятно, процедура мягкого стирания не будет работать, поскольку эта процедура полностью выполняется программно на 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 дюйма), что даже не кратно 100 мил расстояния между другими контактами.

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

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