Сравнение плат Arduino. Какую выбрать?

Теория

КОМПОНЕНТЫ

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

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

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

Таблица сравнения

1. Arduino Uno

Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферие имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Данная плата контроллера является одной из самых дешевых и наиболее часто используемых. При планировании нового проекта, если вы незнакомы, с платформой Arduino, советуем начать с Uno.

2. Arduino Leonardo

Та же Arduino Uno, но с другим микроконтроллером, который находится в том же классе, но имеет некоторые отличия положительного характера. Большее количество аналоговых входов (12 против 6) для сенсоров, больше каналов ШИМ (7 против 6), больше пинов с аппаратным прерыванием (5 против 2), раздельные независимые serial-интерфейсы для USB и UART. Arduino Leonardo может притворяться клавиатурой или мышью (HID-устройством) для компьютера. Это позволяет легко сделать своё собственное устройство ввода. Из-за распиновки чуть отличной от Arduino Uno возможна несовместимость с некоторыми платами расширения.

3. Arduino Nano

Arduino Nano — это функциональный аналог Arduino Uno, но размещённый на миниатюрной плате. Отличие заключается в отсутствии собственного гнезда для внешнего питания, использованием чипа FTDI FT232RL для USB-Serial преобразования (либо CH340G, требуется установить соответствующие драйвера) и применением mini-USB кабеля для взаимодействия вместо стандартного. В остальном, начинка и способы взаимодействия совпадают с базовой моделью. Платформа имеет штырьковые контакты, что позволяет легко устанавливать её на макетную плату. Используйте Arduino Nano там, где важна компактность, а возможностей Arduino Mini либо не достаточно, либо не хочется заниматься пайкой.

4. Arduino Mega

Как Arduino Uno, но на базе более мощного микроконтроллера той же архитектуры. Отличный выбор «на вырост» или если Arduino Uno перестала справляться. В разы больше памяти: 256 КБ против 32 КБ постоянной и 8 КБ против 2 КБ оперативной. В разы больше портов: 60 из них 16 аналоговых и 15 с ШИМ. Немного длиннее базовой Arduino Uno: 101×53 мм против 69×53 мм.

5. Arduino Due

Одна из самых производительных плат от Arduino на микроконтроллере Cortex-M3 по форм-фактору аналогичная Arduino Mega. Процессор на 84 МГц и 512 КБ памяти. 66 пинов ввода-вывода, из которых 12 могут быть аналоговыми входами, 12 поддерживают ШИМ и все 66 могут быть настроены, как аппаратные прерывания. Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц. Родным напряжением для платы является 3.3 В, а не традиционные 5 В. Необходимо следить, чтобы выбираемая периферия поддерживала работу с этим уровнем или ставить преобразователи уровней напряжения.

6. Arduino Mini

Та же Arduino Uno, но в другом форм-факторе. Компактная: всего 30×18 мм. Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату. На плате нет USB-порта, поэтому прошивать нужно через отдельный USB-Serial адаптер.

7. Arduino Micro

Arduino Micro — это Arduino Leonardo, исполненный на компактной плате. Отличие заключается в отсутствии собственного гнезда для внешнего питания, но оно может быть подведено непосредственно к контакту Vi. В остальном, начинка и способы взаимодействия совпадают с Arduino Leonardo. Он также имеет один микроконтроллер ATmega32u4 и для прошивки через USB, и для исполнения программ; также может выступать в роли клавиатуры или мыши; предоставляет то же количество памяти, цифровых, аналоговых и ШИМ-портов.

8. Arduino M0

Забудьте про экономию памяти программ и ресурсов на Arduino Uno. С платой Arduino M0 выполнять сложные математические расчёты, получать более точные аналоговые значения и при этом слушать музыку напрямую с микроконтроллера. Arduino M0 основана на 32-битном ARM-процессоре ATSAMD21G18 от Atmel с вычислительном ядром Cortex® M0. Микроконтроллер работает на частоте 48 МГц. А благодаря своей 32-битной архитектуре он выполняет большинство операций над целыми числами всего за один такт. В отличии от большинства плат Arduino, родным напряжением Arduino M0 Pro является 3.3 В, а не 5 В. Соответственно, выходы для логической единицы выдают 3.3 В, а в режиме входа ожидают принимать не более 3.3 В. Arduino M0 смотрит в сторону USB через виртуальный serial-порт, не через аппаратный. Это означает, что 0-й и 1-й контакты аппаратного порта остаются свободными и вы можете использовать их одновременно с коммуникацией с компьютером. Виртуальный serial-порт доступен через объект SerialUSB, а аппаратный — через объект Serial1.

9. Arduino LilyPad

Arduino LilyPad — довольно интересное устройство. Оно выпадает из привычных стереотипов об обычном Arduino, потому что имеет не прямоугольную, а круглую форму. Во-вторых, оно не поддерживает механические соединения с шилдами. Оно предназначено для, небольших автономных устройств. Круглая форма продиктовала то, что разъемы равномерно распределены по окружности, и его небольшой размер (2 дюйма в диаметре) делает его идеальным для переносных устройств. Это устройство легко спрятать, и несколько производителей разработали устройства, специально для LilyPad: экраны, датчики света, даже коробки для батарей питания, которые могут быть зашиты в ткань. Для того, чтобы сделать LilyPad как можно меньше и как можно легче, на сколько возможно, были принесены некоторые жертвы. У LilyPad нет регулятора напряжения на борту, так что ему для питания будет необходимо обеспечить по крайней мере 2.7 вольт, и не более 5.5 вольт. Периодически команда радует нас новыми платами, расплодили итальянцы их уже много, наклонировано и понавыдумано мировым сообществом ещё больше, попробуем разобраться, что нужно именно вам.

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

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

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

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

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

На всех платах до UNO стоял чип-преобразователь USB-UART , позволяющий втыкать плату прямо в USB и программировать без программатора. При в системе появлялся виртуальный COM-порт, который и используется для программирования. UNO На UNO решили заменить хардварный преобразователя USB-UART, на микроконтроллер (в более поздних ревизиях )- в него залита специальная прошивка, делающая ровно то же что и FT232. Что это дало? Поднялась скорость прошивки — теперь вместо ~10секунд надо ждать ~3c =) А главное, в этот МК-конвертор можно залить свою прошивку, и превратить ардуино в мышку, клавиатуру или миди устройство… наверняка кому-то это очень надо=) Только делается это как-то не очень по-ардуиновски, и пока крайне мало=( ИМХО, фича, совсем не для начинающих. Так что, если ваша цель изменение протокола обмена платы и компа, вы хотите делать трушную клаву-мышь-МИДИдевайс ( вот, кстати, «не трушный» , на самой обычной ардуине=) тогда конечно вам нужна именно UNO. И если вам предстоит писать объёмную прошивку для этого (использовать исходники большого объёма), тогда нужно искать последнюю ревизию UNO — с Atmega16U2 (у неё в два раза больше памяти программ) Да, тут ещё стоит оговориться — эта Atmega8U2/16U2 на самом деле делает не ровно то же, что FT232, она не реализует очень удобной фичи — -а, так что превратить плату в программатор таким нехитрым образом уже не получится. Но всё же .«стандарт» arduino 1.0 pinoutЕщё зоркие должны были заметить появление новых пинов на разъёмах UNO. Ага, появились — на «верхнем левом» коннекторе — SDA и SCL — пины , но они дублирующие (SDA и SCL и так сидят на 4 и 5 аналоговых входах) и функционал это не расширяет. Плюс «нижний левый» коннектор подрос, то же на 2 пина — резервный и IOREF. Резервный пин болтается в воздухе — никуда не подключен, а на IOREF глухо засажен на 5 вольт (). Когда-нибудь это всё, наверное пригодится… а на данный момент — старые шилды встают в UNO, как родные, новые шилды (коих пока крайне мало , ), полностью совместимы со старыми платам хотя и грозят уткнуться в неё новыми пинами — их, возможно, придётся подогнуть или откусить. Резюмируя моё сугубо личное мнение — нет никаких поводов гоняться именно и только за UNO, кроме случая когда вы собираетесь переписать прошивку USB-UART конвертора, а если вы не знаете что это — то вам точно нет никакой необходимости именно в уне=) всё то же про уну но по-короче=)LeonardoВот это действительно шаг вперёд — всё на одном чипе, USB независим ни от UART ни вообще от каких бы то ни было пинов! Итак, плата построена на и по сравнению с предыдущими моделями прокачалась. На 0,5кБ увеличилась оперативка, ШИМ-выходов стало на 1 больше, аналоговых входов стало 12 (6 сидят где у всех Ардуино-плат, новые +6 разбросаны по цифровым пинам) и, как уже говорилось, разделены USB и UART. Так же незатейливо поддерживаются, не только виртуальный ком порт, но и , гораздо проще чем это реализовано в UNO. Ну и, конечно, разъём micro-USB=) Правда «шаг вперёд» вышел с нюансами — долго боролись с разнообразными глюками и затягивали выход, пара всё-таки осталась (функции и ), к тому же бутлоадер теперь занимает 4кб! А ещё в любой скетч для леонардо пихается поддержка USB — blink для Duemilanove/UNO займёт 1084 байт, а для Leonardo — 4858 байт= Физически леонардо имеет ту же разводку что и UNO, так что так же совместим со старыми шилдами.ArdinoMega xxx Серия прокачанных плат (по размеру и характеристикам) представлена моделями (в хронологическом порядке): , и В платы успешно втыкаются почти все шилды, но из-за разного (с «обычными» ардуинами) расположения выводов , шилды использующие его с цифровых пинов 11,12,13 будут не совместимы. Пример — . На SPI берётся со стандартной вилки ISP и всё отлично работает и на «мегах», и на «обычных» дуинах. На платах куча выводов: 54 цифровых из них 15 — с ШИМ 16 — аналоговых, Куча памяти: 128/256кб — флэш, 8кб оперативки, 4кб еепрома и целых 4 хардварных UART-а! «Мега» построена на , а «2560» и «ADK» на , поэтому различаются платы обьёмом памяти, к тому же у свежих — 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» — его нельзя использовать для обзывания не итальянских плат (китайцы, естественно, плевали=) поэтому более законопослушные производители , много уже , кстати=) Всё, что наплодили неитальянцы, можно условно разделить на три группы: «клоны», «совместимые» и «ардуино-подобные».Клоны

Тут всё просто — берём документацию с сайта ардуино и тупо сдаём на производство, при желании изменив цвет маски и название (некоторые китайцы не желают=) Такие платы («клоны») полностью повторяют ардуину и полностью совместимы с ней. То есть, разница между клоном и оригиналом — только в производителе (+иногда в цвете=) — соответственно различия могут быть только в качестве сборки, качестве компонентов, строгости выходного контроля. С качеством — всё на совести производителя/продавца и на ваше эстетическое восприятие/везение. В целом, повторюсь — не айфон, никаких космических технологий для сборки таких плат не нужно, и обеспечить достойное качество вполне может средний китайский подвал=) ИМХО за оригиналом гоняться особого смысла нет. Да, чуть не забыл, у оригинальных плат в комплекте коробочка из тонкого, экологически чистого, цветного картона. И брошюрка с заверениями об экологичности и протестированности платы, а также повествующая, о том, что производители отказываются нести ответственность за использование платы в аэрокосмических/автомобильных/военных/ядерных/медицинских целях=) )Совместимые
Некоторые, наверное, более сознательные товарищи, пошли не путём копирования, а решили что-то добавить в проект (помимо своего названия и цвета маски) и повыдумывали ворох своих плат полностью совместимых с ардуино — условно их можно назвать «совместимыми переработками» (переосмыслениями=) Например: и ещё многие-многие=) Как правило доработки и переработки носят довольно эстетический характер (не несут принципиальных изменений функционала или характеристик) иначе платы потеряли бы совместимость. Обычно это дополнительные разъёмы, другое расположение светодиодов и кнопок, своя разводка, применение других компонентов (в других корпусах, других размеров), другие схемы питания, сброса, USB-части. Повторюсь, этот класс плат полностью совместим с ардуино — и шилды можно втыкать и с ИДЕ работают как родные. Ярчайший пример — указанные на оф. сайте у итальянцев плата (упрощена схема питания и убрана USB-часть) на самом деле их придумали и делает =) Естественно, основным размером плат не ограничиваются — есть версии и мини- и нано- и мега- совместимых переработок, правда в этих случаях совместимость не такая уж важная вещь.

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

Ардуино-подобныеНекоторые идут дальше и вносят более существенные изменения теряя совместимость (с шилдами) такие платы можно назвать ардуино-подобными. К ним можно смело отнести, расположенные в официальном : — плата для портативных устройств с питанием от литиевых батарей. — круглая плата для «электронной одежды» , значительно отличающаюсяя версия ардуино мини. Всех их, тоже выдумал и клепает =) Менее известные общественности примеры — древняя — плата для управления кучей сервоприводов. Несмотря на общие с ардуиной очертания — шилды в неё втыкать не выйдет, да и не предполагалось=) Менее похожая на родоначальника , — для управления светодиодными матрицами,и ни на что не похожая гибкая версия от . Или вот ещё мегакомбайн-всё-в-одном тоже совместим лишь программно. Собственно, как мы уже сказали, ардуино-подобной может считаться (и является) любая плата с ATMega8/168/328/32U4/1280/2560, 16/8Мгц, 5/3,3В, так что в этом месте классификация/перечесление срывается в бесконечность=) Использованы фотографии с По теме: контроллер Arduino или — можно в .

Оригинальный Arduino был разработан для одной специфической задачи, и справился с этой задачей в совершенстве. С успехом первой оригинальной платы Arduino, компания решила создать больше проектов, некоторые из них для очень специфических задач. Кроме того, поскольку оригинальный дизайн Arduino был под открытой лицензией, несколько компаний и частных лиц разработали свои собственные Arduino совместимые платы расширений, или следуя принципам открытого исходного кода, предложили свои изменения в Arduino. Arduino начал программу сертификации для обеспечения совместимости с бордами, которые используют различные процессоры, и Intel Galileo был первым, кто получил подобный сертификат. Любой может сделать свой собственный Arduino-совместимый прибор, но наименование и логотип Arduino зарезервирован как торговая марка. Таким образом, вы найдете множество плат с именами, заканчивающимися на «uino», подразумевающие совместимость.

Arduino сделал дизайн платы с открытым исходным кодом, но они по-прежнему производят платы самостоятельно. Эти платы известны как официальные. Другие компании также делают Arduino совместимые платы.

Arduino Uno

Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе Atmel ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферие имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Чип ATmega16u2 на борту управляет последовательной связью. Данная плата контроллера является одной из самых дешовых и наиболее часто используемых. При планировании нового проекта, если вы незнакомы, с платформой Arduino, советую начать с Uno.

Arduino Leonardo

Платформа Arduino Leonardo немного отличается от Uno. На основе ATmega32u4, этот микроконтроллер имеет расширенные возможности USB и, следовательно, не требует отдельного микрочипа для последовательной связи по USB, как Uno. Это означает меньшую стоимость; меньше микросхем — дешевле решение. Это также означает, что разработчик может использовать микроконтроллер в качестве родного устройства USB, увеличивается гибкость при коммуникации с компьютером. Леонардо может эффективно эмулировать клавиатуру и мышь через USB HID.

Arduino Ethernet

Платформа ArduinoEthernet на основе ATmega328, взятая с Uno, может подключаться к сети Ethernet,функциональность необходимая во множестве проектов. Физически, платформа ArduinoEthernet имеет те же14-дискретных входов / выходов, как Arduino Уно, с темисключением, что 4 используются для управления модулем Ethernet и встроенным считывателем микро-SD карт, ограничиваяколичество доступных выводов.

Интересноотметить, что ArduinoEthernet имеет дополнительный модуль POE (PowerOverEthernet). Эта опция позволяет ArduinoEthernetпитаться непосредственно от сети Ethernet, без необходимости использования внешнегоисточника питания при условии, что питание POE подключено на другом конце кабеля Ethernet. Без POEArduino должен быть запитан с помощью внешнего источника питания.

Еще одно отличиеот других плат Arduino — это отсутствие разъема USB. Потому что довольно много места занято разъемом Ethernet, зато устройство поддерживает коммуникации черезобычные выводы.

Arduino Mega 2560

Arduino Mega 2560 лиш немного длиннее, чем Arduino Uno, но она имеет значительно больше каналов ввода — вывода. Она имеет в общей сложности 54 цифровых линий ввода / вывода и 16 аналоговых входов. Она также имеет большое количество флэш-памяти: 256 КБ, что позволяет хранить большие программы, чем Uno. Она также имеет немалую SRAM и EEPROM: 8 КБ и 4 КБ, соответственно. Она также имеет 4 аппаратных UART порта, что делает ее идеальной платформой для коммуникаций с несколькими устройствами параллельно.

Платы Arduino Mega используются там, где необходимо большое количество входов и выходов.

Arduino Mini

Платформа Arduino Mini это крошечное устройство, используемое в проектах, требующих максимальной экономии места. Она содержит 14 цифровых входов / выходов и 4 аналоговых входных контакта. (Еще четыре доступны, но не выведены.) Устройство настолько миниатюризировано, что не имеет ни USB-разъема, ни регулятора мощности ни даже гребёнки для подключения периферии. Программирование осуществляется с помощью внешнего USB или RS232 через TTL последовательный адаптер.

Arduino Micro

Контроллер Arduino Micro полностью соответствует своему названию; это одна из самых маленьких плат из линейки Arduino. Несмотря на свой небольшой размер, она все же имеет большое количество входных и выходных выводов; она имеет 20 цифровых каналов ввода / вывода, из которых 7 могут быть использованы как выходы ШИМ. Она также имеет 12 аналоговых входов. Микро не спроектирована, для наращивания подсоединенными шилдами, но у её такое расположение выводов гребенок, что её удобно размещать непосредственно на макетной плате.

Arduino Due

Контроллер Arduino Due отличается от всех Arduino тем, что он спроецирован не на базе AVR, а на чипе Atmel SAM3X8E архитектуры ARM Cortex-M3. Этот передовой микроконтроллер работает на частоте 84 МГц и является полноценным 32-разрядным устройтвом. Он имеет большое количество дискретных и аналоговых входов / выходов: 54 цифровых канала (12, из которых могут быть использованы в качестве ШИМ) и 12 аналоговых входов. На плате предусмотрены 4 UART, порт SPI, интерфейс Twin-Wire, а так же включает в себя порт JTAG.

Платформа Arduino Due имеет более высокие требования пи питанию и питается от 3,3 В. Будьте осторожны, чтобы не подать 5 В на любой из выводов: в противном случае, вы можете спалить плату. При выборе шилда расширения для Due, убедитесь, что он поддерживает питание 3.3 В. 

Arduino Due невероятно мощный Arduino. Due имеет на борту 512 КБ флэш-памяти и в суммарно 96 КБ SRAM. Он может обрабатывать крупнейшие программы на высокой скорости. Если вам нужны мощные вычислительные процессы, то эта Ардуина для вас.

LilyPad Arduino

LilyPad Arduino — довольно интересное устройство. Оно выпадает из привычных стереотипов об обычном Arduino, потому что имеет не прямоугольную, а круглую форму. Во-вторых, оно не поддерживает механические соединения с шилдами. Оно предназначено для, небольших автономных устройство. Круглая форма продиктовала то, что разъемы равномерно распределены по окружности, и его небольшой размер (2 дюйма в диаметре) делает его идеальным для переносных устройств. Это устройство легко спрятать, и несколько производителей разработали устройства, специально для LilyPad: экраны, датчики света, даже коробки для батарей питания, которые могут быть зашиты в ткань. Для того, чтобы сделать LilyPad как можно меньше и как можно легче, на сколько возможно, были принесены некоторые жертвы. У LilyPad нет регулятора напряжения на борту, так что ему для питания будет необходимо обеспечить по крайней мере 2,7 вольт, и не более 5,5 вольт; в противном случае, будет пшик.

Arduino Pro

Контроллер Arduino Pro заявлен в двух версиях, на основе ATmega168 и ATmega328. Версия 168 работает на 3,3 В с тактовой частотой 8 МГц, а версия 328 работает на 5 В и частоте 16 МГц. Обе версии имеют 14 цифровых входов / выходов и 6 аналоговых входов. Контроллер имеет разъем питания батареи JST, переключатель для выбора между режимами питания, и пространство, отведенное для модуля питания, при необходимости. На плате нет порта USB, но вместо него используется кабель FTDI для программирования.

Arduino Pro отличается от большинства других Arduino тем, что являясь отдельной самостоятельной макетной платой, он также может быть использован для расширения функционала других контроллеров в качестве шилда. Он выпускается без портов и привычных гребёнок. Все цифровые и аналоговые входы и выходы расположены по краям платы, сохраняя стандартное для Ардуино расположение отверстий, готовых к припаиванию гребенок или проводов, по необходимости. Вместо использования для прототипирования новых проектов, Arduino Pro больше направлен на окончательный монтаж в готовой продукции. Arduino Pro не разрабатывался самим Arduino, а был разработан и запущен в производство фирмой SparkFun Electronics.

Arduino Robot

Arduino Robot, это попросту говоря, Arduino на колесах. В его состав входят две платы контроллеров — один управляет двигателями на борту, а другой обрабатывает сигналы датчиков. Управляющий контроллер дает команды плате управления двигателями о том, что делать.

Управляющая плата контролируется чипом ATmega32u4, с 32 КБ флэш, 2,5 КБ SRAM и 1 Кбайт EEPROM памяти. Она также имеет внешнее I2C EEPROM устройство, обеспечивая больше места для хранения информации. На борту есть компас, динамик, три светодиода, клавиатура на пять кнопок и ЖК-экран. Она также имеет три вывода под пайку для внешнего I2C устройства. Она также имеет отдельные каналы ввода / вывода, с пятью цифровыми входами / выходами, шестью ШИМ и четырьмя аналоговыми входами. Оставлено место для восьми аналоговых входов (для датчиков расстояния, ультразвуковых датчиков или других) и шести дискретных входов / выходов для других устройств (четыре из которых могут быть использованы для аналогового входа).

Плата двигателей полностью независима, основана на ATmega32u4, тоесть на том же чипе что и плата управления. Плата двигателей имеет в своем составе два двигателя с колесами, запитанных отдельно, пять ИК датчиков, I2C и SPI порты. Она также содержит батарейный блок, в который вставляется четыре аккумуляторные батареи типа АА, а так же содержит гнездо для подзарядки аккумуляторов на борту. Плата может быть также запитана от разъема USB, но в этой конфигурации, из каких-то соображений безопасности, двигатели при этом отключаются.

Arduino Esplora

Arduino Yún

Платформа Arduino Yun базируется на чипе ATmega32u4, но он также имеет Atheros AR9331 на одной плате. Процессор Atheros имеет полный дистрибутив Linux, на основе OpenWRT, операционной системы распространенной в беспроводных маршрутизаторах на Linux. Плата Arduino Yun имеет встроенный Ethernet и WiFi, а также слот для micro-SD. Юн отличается от других Arduino и шилдов тем, что у него серьезная сетевая функциональность; Arduino может посылать команды в OpenWRT, и дальше продолжать обработку своего скетча. Оба процессора работают самостоятельно, существующая библиотека обмена данными облегчает коммуникацию между двумя процессорами.

Arduino Tre

Arduino Tre только планируется запустить в производство но обещает стать феноменальным монстром в сфере любительских контроллеров. До этого момента, самым быстрым Arduino был Due, на основе ARM-совместимого микроконтроллера. Tre, созданный Arduino и BeagleBoard, сочетает в себе мощность полного компьютера с гибкостью каналов ввода / вывода платформ Arduino. Tre будет иметь процессор класса Cortex-A8 под названием Sitara AM335X, работающий на частоте 1 ГГц. Этот процессор имеет доступ к 512 Мб оперативной памяти и имеет HDMI порт способный отображать Full HD (1920 х 1080). Вся эта мощь сопряжена с интерфейсом разработчика с помощью Atmel ATmega32u4 используя среду программирования Arduino, столь полюбившуюся фанатам.

Arduino Zero

ЦАП цифро-аналоговый преобразователь I2C

Цифро-аналоговый преобразователь с I2C интерфейсомИспользуется для организации аналогового выхо..

34.17грн.

Винт М3х16мм оцинкованный

Винт оцинкованный с резьбой М3 для крепления элементов любительских проектовДлина резьбы 16 мм..

0.36грн.

Модуль реле 4-канальный 5В 10А

4-канальный модуль реле для подключения напрямую к дискретному выходу контроллера. Светодиодная инди..

89.82грн.

RFID жетон 13,56 МГц

RFID карточка бесконтактной идентификации в виде миниатюрного дискаМожно использовать как скрытный к..

11.60грн.

Модуль реле 2-канальный 5В 10А

2-канальный модуль реле для подключения напрямую к дискретному выходу контроллера. Светодиодная инди..

44.29грн.

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

Сегодня нет никаких ограничений в том, чтобы освоить новый микрочип. Достаточно покопаться в документации и понять логику и назначение каждого вывода микроконтроллера. Неужели это так тяжело? Конечно, тяжело, особенно, если вы новичок, и с самого начала этой статьи вас уже клонит в уныние от мысли, что вы никогда не начнете разбираться в электронике.

На рынке присутствует множество контроллеров, но среди всех лидирующую позицию занимает Arduino со своей уникальной линейкой плат.

Введение

Arduino — это аппаратная платформа с открытым исходным кодом. Есть два элемента в названии: платы и программное обеспечение. Только платы от официального производителя arduino.cc можно назвать «Arduino». Название является товарным знаком. Всё начиналось с открытого исходного кода, но по мере того, как популярность программного обеспечения Arduino (IDE — Integrated Development Environment) стала расти, оно было расширено для поддержки многих других плат. Эти устройства более правильно называть «совместимые Arduino».

Arduino IDE — это кросс-платформенное приложение, которое обеспечивает отправную точку для всех проектов, связанных с Arduino.

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

На стороне программного обеспечения есть «ядро» и «IDE». Ядром является библиотека C ++, называемая «ядром Arduino», которая уникальна для каждого типа процессора. Эта (обширная) библиотека позволяет использовать общие функции, такие как digitalRead() или digitalWrite(), для работы со множеством разных архитектур.

На аппаратной стороне трудно охватить все возможные варианты в сжатом виде. Таким образом, здесь основное внимание уделяется таким популярным вариантам, как: Uno, Mega, ESP8266, Zero и MKR. Некоторые из них мы упоминаем ниже.

8 или 32 бита

Основные сражения происходят между 8 и 32 битными платами.

8-бит: Uno, Nano, and Mega

32-бит: Zero, MKR, ESP8266 и ESP32

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

Более простые архитектуры означают, что регистры прямого программирования, как правило, относительно легки. 32-разрядные процессоры предлагают более высокие тактовые частоты вместе с большим количеством ОЗУ, ПЗУ и последовательной периферии. Их архитектура может усложнить программирование. К счастью, такие структуры, как библиотека Arduino и CircuitPython, зарывают большую часть этой сложности.

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

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

Arduino Uno Rev3

Arduino Uno Rev3 – один из наиболее популярных контроллеров.

Флэш-память — 32 кб + 2 кб оперативы.

Оригинальная плата имеет 20 цифровых пинов, 6 из которых можно использовать, как аналоговые контакты. Этих выводов вполне достаточно, чтобы собрать несложный рабочий проект. На панели в плате стоит микропроцессор ATmega328P.

Если в процессе экспериментов вы убьете контроллер, заменить его будет дешевле, чем покупать новую плату целиком.

Описание | Распиновка

Arduino Nano

Arduino Nano – одна из самых крохотных плат семейства Arduino. На борту у нее все тот же микрочип ATmega328.

Это значит, что возможности Arduino Nano схожи с Arduino Uno, хотя пинов у нее чуть больше (8 аналоговых на Nano против 6 на Uno). Подключение к плате осуществляется с помощью microUSB.

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

Описание | Распиновка

Arduino Lilypad

Arduino Lilypad выполнена в виде круга, контакты для подключения находятся на краях. Со всеми контактами используется микроконтроллер ATmega328.

Здесь придется подпаивать провода к плате, так как специальных пинов не предусмотрено. Самое время подружиться с паяльником.

Распиновка

Arduino Mega

Популярность Arduino Mega 2560 Rev3 обусловлена наличием большого количества цифровых входов-выходов (54 цифровых + 16 аналоговых).

Сердцем ее является восьми-битный чип ATmega2560.

Нередко плата используется в масштабных проектах по типу 3D-принтера, поскольку выводов в ней хватает, чтобы подключить многочисленную периферию. Контроллер имеет 256 килобайт флэш-памяти + 8 килобайт SRAM. Чувствуете в себе силы творить? Смело покупайте данную плату.

Описание | Распиновка

Arduino Leonardo

Arduino Leonardo на базе микроконтроллера ATmega32u4 идентична Uno, за исключением разъема подключения microUSB (в UNO это USB type-B).

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

Распиновка

Arduino Micro

Arduino Micro – очередная миниатюрная плата, ее габариты сопоставимы со стандартным USB-накопитель.

Используемый микроконтроллер ATmega32u4 имеет все те же 32 кб оперативки + 2,5 SRAM. Цифровыми и аналоговыми пинами плата не обделена (20 цифровых +7 аналоговых). Отлично подойдет для миниатюрных проектов.

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

Распиновка

Arduino Due

Arduino Due – одна из самых популярных плат.

Работает на 32-битном процессоре с частотой 84мГц.

На борту установлен AT91SAM3X8E контроллер, во многом превосходящий все вышеперечисленные платы. 512 кб постоянной памяти, 96 кб оперативной. Имеются 54 цифровых пина, 12 из которых могут использовать ШИМ. Также есть пара 12-битных цифро-аналоговых преобразователей: они позволяют микропроцессору выдавать звук без дополнительных расширений.

Распиновка

Кстати, распиновку всех плат Ардуино вы можете найти на нашем сайте в этом разделе.

Arduino Due и Arduino Mega 2560 очень похожи друг на друга, поэтому может показаться, что и шилды для этих плат взаимозаменяемые, но на самом деле это не так. Логические уровни на Mega 5-вольтовые, тогда как на Due – 3,3 вольта. Будьте осторожны с расширениями плат, в противном случае Due безвозвратно сгорит.

Платы разные, но с большей частью задач они справляются все. Лишь экзотические проекты требуют наличие определенной фичи. Тогда придется окунуться поподробнее в спецификацию контроллера и Datasheet. Разумеется, и о программировании придется немножко почитать.

Какой Ардуино лучше?

Вы все еще можете задаться вопросом: какая из этих плат является лучшей среди Arduino?

Как вы можете видеть, каждая из этих плат отлична от других и имеет некоторые преимущества для разных ситуаций. Вопрос «что лучше подходит» не является полным вопросом, вам нужно его дополнить «… для моего приложения или проекта».

Хотя невозможно охватить все типы и варианты плат, эта статья должна дать вам достаточно информации для рассмотрения основы для вашего проекта.

Александр Ланский

Arduino — это электронная платформа с открытым исходным кодом, которая позволяет взаимодействовать с окружающим миром. Благодаря ей можно создать всё, что придёт в голову — от простых электронных игрушек и автоматизации быта до электронной начинки боевого робота для состязаний, управляемого силой мысли (без шуток).

1

Из чего состоит Arduino?

На аппаратном уровне это серия смонтированных плат, мозгом которых являются микроконтроллеры семейства AVR.

Платы имеют на борту всё необходимое для комфортной работы, но их функциональности часто бывает недостаточно. Чтобы сделать свой проект более интерактивным, можно использовать различные модули и платы расширений, совместимые с платформой Arduino. Сюда входят датчики (температуры, освещения, влаги, газа/дыма, атмосферного давления), устройства ввода (клавиатуры, джойстики, сенсорные панели) и вывода (сегментные индикаторы, LCD/TFT дисплеи, светодиодные матрицы).

На программном уровне платформа Arduino представляет собой бесплатную среду разработки Arduino IDE. Микроконтроллеры надо программировать на языке C++, с некоторыми отличиями и облегчениями, созданными для быстрой адаптации начинающих. Компиляцию программного кода и прошивку микроконтроллера среда разработки берёт на себя.

Существует также s4a.cat — сервис, базирующийся на Scratch, позволяющий более наглядно вести разработку на Arduino. Он подойдёт для обучения детей, а также если вы разово хотите создать простое устройство без изучения языка программирования Arduino и различных документаций. Для остальных же случаев лучше придерживаться традиционного процесса разработки.

2

Нужно ли уметь паять?

Знания в области электромонтажа приветствуются, но совсем не обязательны. Простые устройства на базе Arduino часто выполняются в виде макета. Для этого используется беспаечная макетная плата (англ. breadboard), на которой происходит коммутация модулей с платой Arduino с помощью перемычек.

Макетная плата на 400 отверстий (имеются шины питания по бокам). Источник

Также существуют наборы, в которые входят сразу плата Arduino (оригинальная или от стороннего производителя), макетная плата, перемычки и различные радиоэлементы, датчики, модули. Например, такой:

Набор для изучения Arduino. Источник

3

Какие бывают платы

По производителю

Существуют как официальные версии плат Arduino, так и платы от сторонних производителей. Оригинальные платы отличаются высоким качеством продукта, но и цена тоже выше. Они производятся только в Италии и США, о чём свидетельствует надпись на самой плате.

На примере самой популярной платы Arduino UNO:

  • Оригинальная плата. Поставляется только в фирменной коробке, имеет логотип компании, на портах платы — маркировка. Цена от производителя 20 €.

    Оригинальная плата Arduino UNO. Источник

  • Плата от стороннего производителя. Качество хуже, однако цена начинается от 150 рублей. Качество платы может отразиться на её работоспособности в дальнейшем. Хоть это и редкость, но плата и вовсе может не работать «из коробки» — всё зависит от добросовестности изготовителя и продавца. Для работы с подобными платами требуется драйвер CH340, который находится в свободном доступе. Во всём остальном процесс разработки идентичен процессу разработки на оригинальных платах.

    Плата Arduino UNO от стороннего производителя. Источник

По назначению

У платы UNO достаточно портов для реализации большинства проектов. Однако иногда возможностей UNO может быть недостаточно, а иногда — избыточно. По этой причине как оригинальный, так и сторонние производители выпускают большое количество плат, различающихся характеристиками микроконтроллера, количеством портов и функциональным назначением.

Различные платы Arduino. Источник

Самые популярные из них:

  • Arduino Nano — различие с UNO только в конструктивном исполнении. Nano меньше.
  • Arduino Mega — плата на базе мощного микроконтроллера. Имеет большое количество портов.
  • Arduino Micro — имеет встроенную поддержку USB-соединения, а потому может использоваться как HID-устройство (клавиатура, мышь, MIDI-устройство).
  • Arduino Ethernet — имеет возможность подключения к сети через Ethernet-провод. На плате также расположен слот для microSD карточки.
  • Arduino Mini — по характеристикам немного уступает UNO. Преимуществом платы является её миниатюрное исполнение.
  • Arduino Due — плата на базе 32-разрядного ARM микроконтроллера. Имеет преимущество в производительности по сравнению с остальными.
  • Arduino LilyPad — форм-фактор позволяет использовать плату в предметах одежды и текстиля.
  • Arduino Yún — «нужно было ставить линукс…». Имеет поддержку дистрибутива Linux, встроенную поддержку Ethernet и Wi-Fi, слот для microSD. Как и Micro, имеет встроенную поддержку USB-соединения.

4

Установка ПО

После выбора необходимой платы нужно установить бесплатную среду разработки Arduino IDE, которую можно найти на официальном сайте, а также, по необходимости, драйвер CH340.

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

В Arduino Create имеется доступ к обучающим материалам, проектам. Вы сможете общаться с профессионалами и помогать новичкам.

Среда разработки Arduino IDE

5

Особенности программирования на платформе Arduino

Термины

Программный код для Arduino принято называть скетчами (англ. sketches). У скетчей есть два основных метода: setup() и loop(). Первый метод автоматически вызывается после включения/сброса микроконтроллера. В нём происходит инициализация портов и различных модулей, систем. Метод loop() вызывается в бесконечном цикле на протяжении всей работы микроконтроллера.

Порты — неотъемлемая часть любого микроконтроллера. Через них происходит взаимодействие микроконтроллера с внешними устройствами. С программной стороны порты называются пинами. Любой пин может работать в режиме входа (для дальнейшего считывания напряжения с него) или в режиме выхода (для дальнейшей установки напряжения на нём).

Любой пин работает с двумя логическими состояниями: LOW и HIGH, что эквивалентно логическому нулю и единице соответственно. У некоторых портов есть встроенный АЦП, что позволяет считывать аналоговый сигнал со входа (например, значение переменного резистора). Также некоторые пины могут работать в режиме ШИМ (англ. PWM), что позволяет устанавливать аналоговое напряжение на выходе. Обычно функциональные возможности пина указываются на маркировке самой платы.

Основные функции

Для базовой работы с платой в библиотеке Arduino есть следующие функции:

  • pinMode(PIN, type) — указывает назначение конкретного пина PIN (значение typeINPUT — вход, OUTPUT — выход);
  • digitalWrite(PIN, state) — устанавливает логическое состояние на выходе PIN (stateLOW — 0, HIGH — 1);
  • digitalRead(PIN) — возвращает логическое состояние со входа PIN (LOW — 0, HIGH — 1);
  • analogWrite(PIN, state) — устанавливает аналоговое напряжение на выходе PIN (state в пределах от 0 до 255);
  • analogRead(PIN) — возвращает значение аналогового уровня сигнала со входа PIN (пределы зависят от разрядности встроенного АЦП. Обычно разрядность составляет 10 бит, следовательно, возвращаемое значение лежит в пределах от 0 до 1023);
  • delay(ms) — приостанавливает исполнение скетча на заданное количество миллисекунд;
  • millis() — возвращает количество миллисекунд после момента запуска микроконтроллера.

В остальном процесс программирования на Arduino такой же, как на стандартном C++.

6

Пишем первую программу

Вместо всем привычных Hello World’ов в Arduino принято запускать скетч Blink, который можно найти в ФайлПримеры01.BasicsBlink. Там же можно найти множество других учебных скетчей на разные темы.

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

Рассмотрим скетч Blink:

// Эта функция запускается при старте микроконтроллера void setup() {   // Назначаем пин выходом. На пине LED_BUILTIN находится встроенный светодиод, размещённый на плате   pinMode(LED_BUILTIN, OUTPUT); }  // Эта функция вызывается циклически void loop() {   digitalWrite(LED_BUILTIN, HIGH);   // Включаем светодиод (подаём на него логическую 1 — напряжение питания микроконтроллера)   delay(1000);                       // Ждём секунду   digitalWrite(LED_BUILTIN, LOW);    // Выключаем светодиод (подаём на него логический 0 — напряжение земли)   delay(1000);                       // Ждём секунду } 

Прошивка

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

Перед прошивкой микроконтроллера нужно выбрать вашу плату из списка в IDE. Делается это во вкладке ИнструментыПлата. Большинство существующих плат уже там есть, но при необходимости можно добавлять другие через Менеджер Плат.

После этого нужно подключить плату Arduino к любому USB-порту вашего компьютера и выбрать соответствующий порт во вкладке ИнструментыПорт.

Теперь можно приступать к прошивке микроконтроллера. Для этого достаточно нажать кнопку Загрузка, либо зайти на вкладку СкетчЗагрузка. После нажатия начнётся компиляция кода, и в случае отсутствия ошибок компиляции начнётся прошивка микроконтроллера. Если все этапы выполнены правильно, на плате замигает светодиод с периодом и интервалом в 1 сек.

7

Обмен данными с компьютером

У всех плат Arduino есть возможность обмена информацией с компьютером. Обмен происходит по USB-кабелю — никаких дополнительных «плюшек» не требуется. Нам нужен класс Serial, который содержит все необходимые функции. Перед работой с классом необходимо инициализировать последовательный порт, указав при этом скорость передачи данных (по умолчанию она равна 9600). Для отправки текстовых данных в классе Serial существуют небезызвестные методы print() и println(). Рассмотрим следующий скетч:

void setup() {   Serial.begin(9600); // Инициализируем последовательный порт на скорости 9600 бод }  void loop() {   Serial.println("T for Tproger"); // Отправляем сообщение по последовательному порту и переводим на новую строку   delay(1000); // Ждём секунду }

В Arduino IDE есть Монитор порта. Запустить его можно через ИнструментыМонитор порта. После его открытия убедитесь, что Монитор работает на той же скорости, которую вы указали при инициализации последовательного порта в скетче. Это можно сделать в нижней панели Монитора. Если всё правильно настроено, то ежесекундно в Мониторе должна появляться новая строка «T for Tproger». Обмен данными с компьютером можно использовать для отладки вашего устройства.

Информацию на стороне компьютера можно не только получать, но и отправлять. Для этого рассмотрим следующий скетч:

void setup() {   Serial.begin(9600); // Инициализируем последовательный порт на скорости 9600   pinMode(LED_BUILTIN, OUTPUT); // Инициализируем порт со светодиодом как выход }  void loop() {   if (Serial.available() > 0) // Если в буфере есть байт для чтения, то...     switch (Serial.read()) { // Считываем байт с буфера       case '1': digitalWrite(LED_BUILTIN, HIGH); // Если байт равен '1' — включаем светодиод         break;       case '0': digitalWrite(LED_BUILTIN, LOW); // Если байт равен '0' — выключаем светодиод         break;       case 'T': Serial.println("proger"); // Если байт равен 'T' — отправляем по серийному порту текст "proger"     }   } 

Прошиваем микроконтроллер и возвращаемся в Монитор порта. Вводим в верхнее поле 1 и нажимаем Отправить. После этого на плате должен загореться светодиод. Выключаем светодиод, отправив с Монитора . Если же отправить символ T, в ответ мы должны получить строку «proger».

Таким способом можно пересылать информацию с компьютера на Arduino и обратно. Подобным образом можно реализовать связь между двумя Arduino.

8

А как подключать модули?

Для работы с датчиками и модулями их изготовители создают специальные библиотеки. Они служат для простой интеграции модулей в вашу систему. Подключение библиотеки возможно с zip файла или с помощью Менеджера Библиотек.

Однако большое количество датчиков являются бинарными, т. е. считывать информацию с них можно простой функцией digitalRead().

9

Что изучить дальше?

  • Синтаксис библиотеки Arduino.
  • Для более сложных архитектур может пригодиться ООП.
  • Примеры проектов.
  • Работа на макетной плате.
  • Основные модули и датчики.

Не смешно? А здесь смешно: @ithumor

ОСТАВЬТЕ ОТВЕТ

Please enter your name here
Please enter your comment!