Какую плату arduino выбрать

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

Все «размеры» и разновидности ардуино-плат абсолютно совместимы друг с другом — если вас заинтересовал проект на ArdinoNano — ничто вам не помешает реализовать его на обычной Ardino(Freeduino) или ArdinoMega(SeeduinoMega), причём ни в коде ни в схеме переделывать ничего не придётся.

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

Так же никакой разницы нет в выборе конкретной платы внутри размерного ряда — берём проект для ArduinoDiecimila(DFRduino) и спокойно делаем его на UNO(CraftDuino) и наоборот! Тем более нет НИКАКОЙ принципиальной разницы, кто сделал эту плату и как она называется — это не айфон — качественно можно собрать такую плату и в подвале. Ниже обо всех нюансах, подробно и с картинками. Как известно, ардуино придумали в Италии, оригинальные платы там и делают. С них и начнём.

Оригинальные платы.

Сами итальянцы выпускают плату в нескольких основных форм-факторах: Ardino xxx — стандартный размер, 20входо-выходов, полная совместимость со всеми шилдами. ArdinoMega xxx — увеличенный размер, 70входо-выходов, совместимость не со всеми шилдами. ArdinoNano xxx — уменьшеный размер, 22входо-выхода, не совместима с шилдами. ArdinoMini ххх — ещё меньший размер, 20входо-выхоов, не совместима с шилдами, не имеет USB. Весь итальянский зоопарк можно увидеть тут. Ardino xxx Какую плату arduino выбрать Стандартный и самый распространённый размер. Когда говорят «ардуина» («обычная ардуина») — обычно все сразу представляют именно такие платы. Самые первые платы были в этом этом форм-факторе, соответственно именно он пережил больше всего реинкорнаций (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

Какую плату arduino выбрать На UNO решили заменить хардварный преобразователя USB-UART, на микроконтроллер Atmega8U2 (в более поздних ревизиях 16U2)- в него залита специальная прошивка, делающая ровно то же что и FT232. Что это дало? Поднялась скорость прошивки — теперь вместо ~10секунд надо ждать ~3c =) А главное, в этот МК-конвертор можно залить свою прошивку, и превратить ардуино в мышку, клавиатуру или миди устройство… наверняка кому-то это очень надо=)

Только делается это как-то не очень по-ардуиновски, и примеров пока крайне мало=( ИМХО, фича, совсем не для начинающих.Какую плату arduino выбрать

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

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

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

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

Leonardo

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

  • Так же незатейливо поддерживаются, не только виртуальный ком порт, но и мышь и клавиатура, гораздо проще чем это реализовано в UNO.
  • Правда «шаг вперёд» вышел с нюансами — долго боролись с разнообразными глюками и затягивали выход, пара всё-таки осталась (функции tone и attachInterrupt), к тому же бутлоадер теперь занимает 4кб! А ещё в любой скетч для леонардо пихается поддержка USB — blink для Duemilanove/UNO займёт 1084 байт, а для Leonardo — 4858 байт=
  • ArdinoMega xxx
  • Серия прокачанных плат (по размеру и характеристикам) представлена моделями (в хронологическом порядке): Mega, Mega2560 и Arduino ADK.Какую плату arduino выбрать

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

ArdinoNano

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

ArdinoMini

Какую плату arduino выбрать Ещё меньшая плата. (Да-да, именно, тут какой-то исторический ляп — ардуино мини, почему-то значительно меньше ардуино нано=)

Пережила несколько версий — имеющих незначительные отличия в назначении некторых выводов.

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

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

Тут всё просто — берём документацию с сайта ардуино и тупо сдаём на производство, при желании изменив цвет маски и название (некоторые китайцы не желают=)

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

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

видео распаковки)

Совместимые

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

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МГц) Питаются МК на платах от 5В (реже 3,3В) Загрузка скетчей происходит через бутлоадер(специальная программа-загрузчик заранее прошитая в МК), хотя в последних версиях среды появилась опция прошивки скетча через программатор, так что это уже, пожалуй, не критерий=) Так вот, ЛЮБАЯ плата удовлетворяющая перечисленным условиям (Тип контроллера, частота, напряжение питания, наличие бутлоадера) сможет использовать все наработки сообщества Arduino — и скетчи, и библиотеки, и писать всё это можно будет в той же среде Arduino, и загружать оттуда же. При наличии прямых рук, можно подпилить библиотеки для использования не в среде ардуино или среду для использования плат с нехарактерными МК или частотами их работы. Но вроде как у нас тут начинающие рассматриваются — какие правки среды и библиотек?! Так что будем считать программно совместимыми только те платы, которые корректно заработают без всяких допиливаний.

Ардуино-подобные

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

К ним можно смело отнести, расположенные в официальном зоопарке:

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

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

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

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

Как правильно выбрать плату Arduino для вашего проекта

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

Какую плату arduino выбрать

У новичка непременно встанет вопрос: какую именно плату Arduino взять для своего проекта? Конечно, можно воспользоваться таблицей сравнения параметров Arduino, но для еще непонимающего нюансов электроники и микроконтроллеров это может быть несколько затруднительно. Поэтому в данном материале будет предоставлен некий сравнительный обзор наиболее распространенных плат Arduino.

Что такое Arduino?

Arduino – это аппаратная платформа с «открытым» исходным кодом и схемами. Есть два элемента экосистемы Arduino: платы и программное обеспечение. Только платы от Arduino.cc официально можно назвать «Arduino». (Название является товарным знаком.

) С точки зрения «открытого» ПО, по мере роста популярности Arduino, интегрированная среда разработки Arduino IDE была расширена для поддержки многих других плат различных производителей. Эти устройства более правильно называются «Arduino-совместимыми».

Это означает, что они без проблем будут работать с кодом Arduino, например, таким:

int digitalRead(uint8_t pin) {
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
if (port == NOT_A_PIN)
return LOW;
if (timer != NOT_ON_TIMER)
turnOffPWM(timer);
if (*portInputRegister(port) & bit)
return HIGH;
return LOW;
}

На стороне программного обеспечения есть «ядро» и «IDE». Ядром является библиотека C++, именуемая «Arduino core», которая уникальна для каждого типа процессора.

Эта обширная библиотека позволяет использовать общие функции, такие как digitalRead() или digitalWrite(), для работы на множестве разных архитектур.

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

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

Война между 8-битными и 32-битными ядрами продолжается

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

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

Их архитектура может усложнить программирование. К счастью, такие структуры, как библиотека Arduino и CircuitPython, скрывают большую часть этой сложности.

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

8-битные Arduino

Arduino Uno

Какую плату arduino выбрать

Uno является предпочтительной отправной точкой для проектов Arduino. Он имеет отличительную форму с псевдо-стандартным расположением выводов. Его процессор – ATmega328P от Microchip. Наиболее характерная спецификация этого процессора — 2048 байт ОЗУ. Uno – это плохой выбор, если вы думаете о передаче, получении или обработке строк. Вне работы со строками вы будете удивлены тем, что вы можете сделать с таким маленьким устройством, особенно учитывая количество доступных GPIO.

Arduino Nano

Какую плату arduino выбрать

Если Uno слишком велик, рассмотрите Nano. Это второй по популярности вариант Arduino. Здесь тот же процессор, что и в Uno, но плата представляет собой уменьшенный форм-фактор. Прямая совместимость ПО означает, что вы можете прототипировать с Uno и установить Nano в свой окончательный проект.

Arduino Mega

Если Uno (или Nano) не предлагают для вас достаточное количество линий ввода/вывода или оперативной памяти, платы на основе ATmega2560 являются хорошим выбором.

Платы Arduino Mega исключительно популярны в приложениях управления двигателями, например, шаговыми двигателями 3D-принтеров. ATmega2560 имеет больше таймеров, второй АЦП, дополнительные аппаратные UART и больше линий ввода-вывода.

Тем не менее, он по-прежнему поставляется с 8-разрядным процессором, таким как в Uno.

Arduino Leonardo, Arduino Micro

Какую плату arduino выбрать

Еще одним вариантом производной Uno является Arduino Leonardo или Arduino Micro Эти платы используют чип ATmega32U4. В отличие от других 8-битных плат, упомянутых здесь, процессор имеет встроенный интерфейс USB. Эта функция упрощает создание USB-клавиатур, мышей и джойстиков. Популярной совместимой доской платой Teensy LC от PRJC. Это тот же 32U4, но в форм-факторе Teensy.

32-битные Arduino

Arduino Zero

Arduino Zero содержит 32-битный микроконтроллер Microchip SAM D21, который основан на ядре Arm Cortex-M0+. Плата имеет тот же форм-фактор, что и Uno, но процессор здесь совершенно другой.

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

Какую плату arduino выбрать

Самая поразительная особенность плат M0+ это невероятно гибкие последовательные интерфейсы. Хотя платы определяют линии I²C и SPI, сам чип перенастраивается в этом плане. Он поддерживает несколько типов последовательных интерфейсов на нескольких линиях ввода/вывода.

Серия Arduino MKR

Серия Arduino MKR включает платы, такие как MKR ZERO, MKR GSM 1400, MKR FOX 1200 и MKR WiFi 1010. Форм-фактор плат серии MKR един. Их линии ввода/вывода расположены по бокам, форм-фактор сведен к минимуму, и все они содержат разъем для батареи LiPo с цепью зарядного устройства.

Какую плату arduino выбрать

MKR Zero включает в себя тот же процессор, что и Zero. В дополнение к более тонкому форм-фактору и зарядному устройству LiPo, MKR Zero имеет слот для карт MicroSD.

Какую плату arduino выбрать

Еще одна плата, которую следует упомянуть, это MKR WiFi 1010. Эта плата относительно новая и содержит чип, предназначенный для криптошифрования. Другой интересной особенностью MKR1010 является набор его процессоров. На борту есть тот же SAMD21, что и на Zero. Тем не менее, модуль WiFi от u-blox включает ESP32. Это два процессора в одном.

ESP8266 и ESP32

Сразу стоит сказать, это не платы от Arduino, они просто Arduino-совместимые. Когда ESP8266 вышел на рынок, он изменил понимание того, как проекты должны использовать WiFi.

Эта система на кристалле представляет собой 32-разрядный микроконтроллер, работающий на частоте 80 МГц, с ядром, предназначенным для работы WiFi.

Это означает, что он запускает полный стек TCP/IP отдельно от микроконтроллера с вашим кодом.

Модули ESP содержат полноценный микроконтроллер в своем корпусе. Основная библиотека Arduino была перенесена на ESP12 и ESP32, что означает, в некоторых случаях, код для Uno подойдет для ESP12 и ESP32 без каких-либо изменений.

Какую плату arduino выбрать

На изображении выше показаны 4 разных варианта ESP. Изначальный ESP8266 (ESP01), Huzzah Adafruit ESP8266, Adafruit Feather ESP32 и ESP8266 NodeMCU.

Плата ESP01 была популярна из-за стоимости, но для нее нужны дополнительные компоненты. Huzzah ESP8266 имеет некоторые из этих дополнительных компонентов и содержит больше контактов ввода/вывода.

Однако для нее по-прежнему требуется адаптер последовательного порта USB.

Форм-фактор Adafruit Feather добавляет последовательный порт USB и зарядное устройство LiPo к ESP8266 или ESP32. Это делает работу с ESP очень простой. Вы можете заметить, что плата выглядит как MKR. К сожалению, хотя они визуально похожи, они разных размеров и не имеют общей распиновки.

Наконец, форм-фактор NodeMCU, который не является форм-фактором! NodeMCU – это прошивка, которая запускает интерпретатор сценариев Lua на ESP8266. Его можно заменить загрузчиком Arduino. После замены вы можете запрограммировать плату с помощью Arduino IDE.

Когда вам нужно добавить возможности Wi-Fi в проект, платы на основе ESP являются отличной отправной точкой.

Какая плата Arduino является лучшей?

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

  • Хотя невозможно охватить все типы и вариант платы, эта информация должна дать вам достаточно информации для выбора платы для вашего проекта.
  • © digitrode.ru
Читайте также:  Простой самодельный сварочный аппарат из латра

Создаем свой первый Arduino проект и выбираем плату

Что самое важное при разработке проекта? Правильно выбрать базу для своего устройства. Данная статья поможет новичкам правильно выбрать плату Arduino для своих проектов. А также разобраться с их отличиями и предназначением.

Какую плату arduino выбрать

Что такое Arduino?

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

Термин «открытый исходный код» означает, что все ресурсы платы, включая CAD файлы и т.д., находятся в свободном доступе для всех пользователей. Поэтому каждый может изменить их исходя из своих потребностей.

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

Следует выделить 2 сегмента:

  • Аппаратную часть – саму плату;
  • Программную часть – которая включает в себя Arduino IDE (простое и легкое в освоении программное обеспечение для написания программ Arduino).

Простота и легкость в освоении Arduino сделали данную платформу невероятно популярной по всему миру.

Что можно сделать при помощи Arduino?

Главное достоинство Arduino – это огромная гибкость. Возможности и выбор всевозможных проектов практически безграничен. К плате могут быть подключены практически любые модули: пожарные датчики, датчики препятствий, датчики присутствия, GPS-модули, GSM-модули и многие многие другие. При создании проекта можно не ограничивать себя в полете фантазии.

Как подобрать нужную плату для своего проекта?

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

Название Arduino является торговой маркой и предназначено для плат, изготовленных компанией в Италии. Все совместимые платы Arduino используют другое, но похожее торговое название Freeduino, Netduino и т. д. Если вы хотите более дешевую альтернативу Arduino, вы всегда можете купить платы клонов.

Обычно они не уступают в качестве оригиналу.

Наряду с Arduino Uno, которая является самой популярной из всех Arduino плат, есть и другие версии, которые можно найти на рынке. Поскольку спецификации различаются, подходить к выбору платы стоит максимально тщательно. Различные платы и их спецификации приведены в таблице ниже.

Какую плату arduino выбратьКакую плату arduino выбрать

Тем, кто делает первые шаги в мире Arduino, лучше использовать наиболее популярные платы, такие как Arduino Uno, Arduino Mega или Arduino Mini. Так как информации по ним намного больше, чем по другим платам.

Сравним эти платы:

Arduino Uno

Какую плату arduino выбрать

Такие платы как Arduino Uno R3 (Оригинальная), UNO R3 (Arduino-совместимая) или одна из данных, отлично подойдут тем, кто делает первые шаги и только знакомится с данной платформой. Плата имеет 14 цифровых и 6 аналоговых выводов. Таким образом в нашем распоряжении имеется 20 GPIO (портов ввода/вывода), чего будет достаточно для большинства проектов среднего и начального уровня. Arduino Uno R3 выпускается в двух моделях: обычная и SMD версия. Новичкам лучше использовать обычную версию. Так как если в процессе создания проекта вы сожжете контроллер, восстановить плату можно заменив его, в то время как SMD версию восстановить не удастся и придется полностью менять плату.

Arduino Mini

Какую плату arduino выбрать

Если вы хотите удешевить ваш проект или сделать его более компактным, можно использовать плату Arduino Pro Mini 328 — 5V/16MHz, Arduino Pro Mini 328 — 3.3V/8MHz или один из аналогов. Она имеет все функциональные возможности Uno, но ощутимо меньше по размеру. Ее длина около 3-х см.

Arduino Mega

Какую плату arduino выбрать

Если вы работаете над сложным проектом с большим количеством подключаемых модулей, можно использовать Arduino Mega R3 2560 (Оригинал), MEGA2560 R3 (Arduino-совместимая) или одну из имеющихся у нас расширенных плат. В этом случае вы избавите себя он необходимости установки микросхемы IC74595 для увеличения количества портов ввода/вывода.

Arduino Lilypad

Какую плату arduino выбрать

Например Arduino LilyPad USB — ATmega32U4 Board или LilyPad 328 Main Board ATmega328P. Этот вариант платы чаще всего используется для проектов, встроенных в одежду. Плата спроектирована таким образом, что ее можно легко закрепить и спрятать на ткани. Также, в случае с данной платой, провода можно заменить токопроводящей нитью.

Если подытожить можно сказать, что для новичков или же просто для несложных проектов лучше всего использовать плату Uno или Mini. Если же вы работаете над большим и сложным проектом лучше подойдет плата Arduino Mega.

На этом все. Отправляйтесь за своей первой платой и радуйте окружающих своими проектами.

Статья является авторским переводом с сайта diyhacking.com.

Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.

Как выбрать и купить Ардуино?

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

Посмотреть на количество Arduino, которые реализует любой специализированный интернет-магазин, можно на примере http://makerplus.ru/. Видно, что из всего этого разнообразия довольно тяжело выбрать подходящую плату, но сделать это возможно, если ознакомиться с предложенной ниже информацией.

Выбор Ардуино в зависимости от проекта

Итак, первое, что влияет на выбор Arduino, какой проект вы собираетесь реализовывать:

  • Готовый проект.
  • Самостоятельный проект.
  • Еще не определились.

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

При реализации собственных идей исходите из того, под какую плату вы делаете выводы. То есть, если в проекте вы монтируете модули с контактами под Arduino Uno, то сразу исключайте, например, ProMini или Micro. После этого исключите из проекта те Ардуино, которые больше по:

  • Размерам.
  • Тактовой частоте
  • Количеству выводов.
  • Напряжению.

Учитывайте, что размер памяти платы должен быть не меньше чем 30% от необходимой в проекте.

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

Выбор Arduino в зависимости от модели

Разберем основные модели Arduino, которые предложены, например, на этой страничке http://makerplus.ru/category/arduino и проанализируем плюсы и минусы.

Arduino Uno

К достоинствам платы отнесем ее популярность. Благодаря этому по ней создано большинство уроков в сети и имеется много подробной информации по использованию. Отметим также присутствие DIP-панели и возможность менять микроконтроллер. Из недостатков выделим невозможность конструировать схемы на макетной плате Breadboard и большие габариты.

Arduino Mega 2560

Преимущества модели:

  • К плате подходят шилды, созданные для Uno.
  • Большое количество контактов.
  • Высокий объем памяти.

Недостатки такие же, как для Uno: размеры, которые самые большие из всех плат Ардуино, и невозможность конструировать схемы на Breadboard.

Arduino Leonardo

Плата является улучшенной версией Uno и совместима с большинством ее программ. Кроме этого, к ней подходят все шилды для Uno.

Еще одно достоинство платы — она имитирует устройства компьютера с USB входом (клавиатуру, мышь и др.).

Из недостатков отмечаем невозможность построения схем на макетной плате Breadboard и увеличение доли используемой памяти из-за передачи функций входа USB под микроконтроллер.

Ардуино ProMini 3.3V

Модель обладает функционалом устройств Uno и Nano, но при этом может использоваться для конструирования электронных схем на макетной плате Breadboard.

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

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

Ардуино MICRO

Обладает функционалом Leonardo. К достоинствам относим:

  • Конструирование электронных схем на всех платах, в том числе и на Breadboard .
  • Маленькие размеры, но с функционалом, как у более габаритных плат.
  • Имитирует устройства с USB входом.

К недостаткам отнесем невозможность пользоваться шилдами под UNO.

Ассортимент плат Ардуино достаточно серьезный, поэтому, создавая проект, проанализируйте все их достоинства и недостатки и купите действительно подходящий вариант.

Compare

Compare board specs

This table shows a quick comparison between the characteristics of all the Arduino and Genuino boards.

Name Processor CPU Speed Analog In/Out Digital IO/PWM EEPROM [kB] SRAM [kB] Flash [kB] USB UART
Intel® Curie 3.3 V/ 7-12V 32MHz 6/0 14/4 24 196 Regular
ATtiny85 3.3 V / 4-16 V 8 MHz 1/0 3/2 0.5 0.5 8 Micro 0
8MHz 6/0 14/6 0.512 1 16
ATmega328P 8 MHz 4/0 9/4 1 2 32
ATmega32U4 3.3 V / 3.8-5 V 8 MHz 4/0 9/4 1 2.5 32 Micro
ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4
ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/7 1 2.5 32 Micro 1
SAMD21 Cortex-M0+ 3.3 V/ 5V 48MHz 7/1 8/4 32 256 Micro 1
6/0 14/6 1
ATmega328P 6/0 14/6 1 2 32 1
ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/6 1 2 32 Regular 1
ATSAMD21G18 3.3 V / 7-12 V 48 MHz 6/1 14/10 32 256 2 Micro 2
ATSAM3X8E 3.3 V / 7-12 V 84 MHz 12/2 54/12 96 512 2 Micro 4
ATmega32U4 5 V / 7-12 V 16 MHz 1 2.5 32 Micro
ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/4 1 2 32 Regular
ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/7 1 2.5 32 Micro 1
ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4
ATmega328P 5 V / 7-9 V 16 MHz 8/0 14/6 1 2 32
5 V / 7-9 V 16 MHz 8/0 14/6 Mini 1
5 V
ATmega32u4 5 V 16 MHz
3.3 V 48 MHz 22/12 No 32 KB 256 KB

Arduino Retired boards specs

Name Processor CPU Speed Analog In/Out Digital IO/PWM EEPROM [kB] SRAM [kB] Flash [kB] USB UART
ATmega328P 5 V / 2.5-12 V 16 MHz 6/0 14/6 1 2 32 1
ATmega328P 3.3 V / 3.7-7 V 8 MHz 8/0 14/6 1 2 32 Mini 1

Arduino: выбор платы, подключение и первая программа

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

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

Читайте также:  Неполадки в электропроводке: что делать и как их устранить?

1

На аппаратном уровне это серия смонтированных плат, мозгом которых являются микроконтроллеры семейства 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 принято называть скетчами (англ. sketches). У скетчей есть два основных метода: setup() и loop(). Первый метод автоматически вызывается после включения/сброса микроконтроллера. В нём происходит инициализация портов и различных модулей, систем. Метод loop() вызывается в бесконечном цикле на протяжении всей работы микроконтроллера.

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

Любой пин работает с двумя логическими состояниями: LOW и HIGH, что эквивалентно логическому нулю и единице соответственно.

У некоторых портов есть встроенный АЦП, что позволяет считывать аналоговый сигнал со входа (например, значение переменного резистора). Также некоторые пины могут работать в режиме ШИМ (англ.

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

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

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

  • pinMode(PIN, type) — указывает назначение конкретного пина PIN (значение type INPUT — вход, OUTPUT — выход);
  • digitalWrite(PIN, state) — устанавливает логическое состояние на выходе PIN (state LOW — 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.Basics→Blink. Там же можно найти множество других учебных скетчей на разные темы.

Почти на всех платах размещён светодиод, номер пина которого содержится в переменной 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 и нажимаем Отправить. После этого на плате должен загореться светодиод. Выключаем светодиод, отправив с Монитора 0. Если же отправить символ T, в ответ мы должны получить строку «proger».

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

8

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

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

9

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

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

Adblock
detector