Мини-обзор Arduino-совместимых плат различных архитектур

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

Семейство Ардуино – несколько моделей так называемых отладочных плат. Отладочная плата представляет собой как ни странно печатную плату, в сердце которой стоит микроконтроллер – та самая штука, которую мы будем программировать. Микроконтроллер это микросхема, содержащая в себе микропроцессор, интерфейсы ввода-вывода, память (оперативную и постоянную), таймеры и другие штуки. Да, микропроцессор – это другое, микропроцессор по сути может только выполнять вычисления (как процессор в компьютере), а микроконтроллер – это практически полноценный компьютер, размещенный в одном кристалле микросхемы. В большинстве плат Arduino используются микроконтроллеры серии ATmega от производителя AVR.

Запомнили сразу важную мысль – Ардуино – не микроконтроллер, не процессор, Ардуино – платформа (и торговая марка конечно же =) ). Плата Ардуино – это отладочная плата с микроконтроллером на борту.

Железо

Помимо микроконтроллера на отладочной плате стоит обвязка, необходимая для его работы: это кварцевый генератор, задающий частоту работы процессора, и “рассыпуха” – конденсаторы и резисторы, выполняющие фильтрующие и подтягивающие функции.

Давайте так: что нужно сделать для того, чтобы собрать устройство на микроконтроллере? Нужно подключить к выходам микроконтроллера необходимые устройства (далее – “железо”), загрузить на микроконтроллер прошивку, которая будет управлять этим железом, и обеспечить всё это дело стабильным питанием. Цель разработчиков ардуино была совместить вышеуказанное с простотой и удобством работы и модульностью, тем самым превратив разработку электронных устройств в мощный универсальный конструктор. Эта цель была достигнута так: на плате, вместе с микроконтроллером, разместили “программатор” для загрузки прошивки, usb порт и стабилизатор питания, позволяющий питать плату от широкого диапазона постоянных напряжений: 5-19 вольт. Микроконтроллеру нужно 5 вольт, что стабилизатор ему и обеспечивает.

Arduino или чтототам-duino

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

Поскольку Arduino — это бренд производителя, аналоги имеют другие, но обычно созвучные с Arduino названия — Freduino, Freeduino, DCcduino, Xdruino, Funduino, Robotale и множество других. Более того, бренд вообще может быть не указан, а будет присутствовать надпись типа for Arduino. Оригинальные Arduino производятся в Италии, большинство аналогов — в Китае. Есть и российские разработки.

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

DCcduino UNO

Arduino UNO

Безымянный аналог Arduino UNO

Аналоги обычно не уступают по качеству, зато сильно выигрывают в цене (об этом ниже).

Все инструкции, все методические разработки, уроки и т.п., ориентированные на Arduino, в полной мере подходят и для аналогов. Поэтому, если имидж для вас ничто, то смело берите другие -duinы!

Загрузка прошивки

Что касается так называемого программатора: изначально способом загрузки прошивки в микроконтроллер является загрузка посредством ISP (in-system programming) программатора, который загружает прошивку напрямую в память микроконтроллера. Это способ хорош и надёжен, но он дороже и не такой универсальный как тот, который используется в Ардуино. Работает это так: вместо ISP программатора на плате стоит USB-TTL преобразователь, который позволяет Ардуино (на её стороне TTL – транзистор-транзистор логика) буквально общаться с компьютером (на его стороне – USB) и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера “живёт” загрузчик (он же bootloader), который умеет ловить данные, идущие с компьютера и загружать их во Flash память микроконтроллера. При каждом запуске микроконтроллера загрузчик ждёт команду от компьютера, мол желает ли тот загрузить новую прошивку. Если никто ему не отвечает какое-то время, он запускает уже имеющуюся в памяти МК прошивку. Отсюда вытекает несколько минусов:

  • Загрузчик сидит во Flash памяти и занимает место (около 6%, что довольно-таки много)
  • При подаче питания на МК прошивка стартует не сразу, каждый раз загрузчик ждёт команду от компьютера в течение какого-то времени (пару секунд), прежде чем передать управление имеющейся в памяти программе.

Оба этих минуса решаются частично или полностью:

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

Возвращаясь к USB-TTL преобразователю: почему именно такой способ загрузки прошивки выбрали разработчики Arduino? Да всё очень просто: микросхема USB-TTL преобразователя стоит дешевле микросхем, могущих в ISP (роль оных обычно выполняют микроконтроллеры), что прилично удешевляет платформу. Но самое главное – использование USB-TTL преобразователя добавляет нам возможность общаться с платой при помощи компьютера (смартфона, планшета) без использования дополнительного железа, т.е. мы можем как управлять какими-то устройствами (если это заложено в коде прошивки), так и получать от Ардуино данные, например показания с датчиков. Но самое-самое главное – это позволяет отлаживать код, вручную, но все таки отлаживать.

④ Программируемый модуль Arduino Strong

Рейтинг: 5.0 Цена: от 220,87 руб.
до
585,43 руб.
Перейти в магазин Плата Arduino Strong основана на базе модуля ATMega328 и позволяет подключать различные датчики без использования дополнительных макетных или печатных плат. Модуль имеет 14 выводных и входных цифровых контактов, 6 аналоговых разъемов, резонатор и кнопку перезагрузки при зависании. Компактный размер микроконтроллера позволяет использовать его в системе «Умный дом».

Достоинства:

  • простое подключение к устройству через microUSB;
  • совместимость с платформой NodeMCU;
  • встроенный Wi-Fi.

Недостатки:

  • не обнаружено.

Купить на AliExpress.com

Модели Ардуино

Вот мы и добрались до самих плат Ардуино, которых на данный момент появилось великое множество благодаря открытости платформы: все схемы и исходные коды находятся в открытом доступе, и вы можете сделать свою версию платы и продавать её, чем активно занимаются китайцы. Единственный пункт: слово Arduino – зарегистрированная торговая марка, и свою плату вам придется назвать как-то по-другому, отсюда и появились всякие Искры, Бузины и прочие так называемые Arduino совместимые платы. Разновидностей плат очень много, но используют они одни и те же модели микроконтроллеров. От модели микроконтроллера зависит объем памяти и количество ног, ну и есть некоторые специальные фишки. На большинстве моделей Arduino стоят 8-битные МК от AVR с кварцевым генератором на 16 МГц (либо ниже), то есть по производительности платы на ATmega не отличаются, отличаются только объемом памяти, количеством ног и интерфейсов/таймеров. Модели Ардуино с МК от производителя ARM, например Arduino DUE, в разы мощнее своих собратьев за счёт 32-битного процессора, но это совсем другая история.

ПараметрATtiny85ATmega328ATmega32u4ATmega2560
Кол-во ног83244100
Из них доступны5232486
Flash память8 Kb32 Kb32 Kb256 Kb
EEPROM память512 bytes1 Kb1 Kb4 Kb
SRAM память512 bytes2 Kb2.5 kB8 Kb
Каналов АЦП3 (4 с rst)6 (8 в SMD корпусе)1216
Каналов PWM36715
Таймеры2х 8bit2х 8bit2х 8bit2х 8bit
1х 16bit2х 16bit4х 16bit
Аппаратный SerialНетх1х1х4
Внешние прерывания1 (+6 PCINT)2 (+23 PCINT)5 (+44 PCINT)8 (+32 PCINT)
Платы на его основеDigispark, LilyTinyUno, Nano, Pro Mini, Lilypad, StrongLeonardo, Micro, Pro Micro, BS MicroMega, Mega Pro

Таким образом вы должны сразу понять, что, например, Ардуино Уно=Нано=Про Мини=Лилипад по своим возможностям и взаимозаменяемости. Или Леонардо=Про Микро. Ссылки на недорогие китайские Ардуины вы можете найти у меня на сайте. Точно там же вы найдёте ссылки на кучу датчиков, модулей и другого железа, которое можно подключить к 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.

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

Ардуино программируется на языке программирования C/C++ с соответствующим ему синтаксисом. Встроенный сборщик, препроцессор и компилятор (avr-gcc или Win-AVR) прощают большое количество ошибок и делает многое за пользователя автоматически, мы даже об этом не знаем и не задумываемся. Базовые функции для управления выводами и интерфейсами микроконтроллера, математика и некоторые другие функции/макросы взяты из открытого фреймворка для работы с микроконтроллерами под названием Wiring. Именно из него состоит базовый набор инструментов Ардуино. В связи с этим сами разработчики Ардуино называют язык “упрощённым c++”, и даже дали ему отдельное название – Arduino Wiring.

Тут следует отделить мух от котлет: “из коробки” в Arduino IDE нам доступна огромная куча различных функций и инструментов:

  • Все возможности языка C++, которые предоставляет компилятор: типы данных, операторы и вообще весь необъятный синтаксис. Мы программируем на том же C++, на котором можно программировать в любом другом месте.
  • “Ядро” Ардуино – библиотека Arduino.h, которая автоматически подключается в код. В ней содержатся функции для управления пинами, интерфейсами, а также имеется набор всяких полезных функций и инструментов. А ещё оно отвечает за инициализацию и настройку периферии микроконтроллера при запуске. В ядре кстати лежат стандартные библиотеки для Serial, Wire, SPI и EEPROM.
  • В папке с программой лежит набор стандартных библиотек: для LCD дисплея, шаговика, сервопривода и некоторых других железок.
  • С компилятором идёт набор низкоуровневых библиотек для AVR (сон, progmem, watchdog и многие другие).
  • Компилятор позволяет работать с микроконтроллером “напрямую” при помощи регистров и чтения даташита до утра.
  • Также мы можем писать на ассемблере, взяв под контроль каждый такт работы МК.

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

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

⑨ Модуль контроллера Arduino Pro Micro

Рейтинг: 4.9 Цена: от 379,08 руб.
до
380,61 руб.
Перейти в магазин Микроконтроллер Arduino Pro Micro выделяется небольшими размерами и имеет 22 пина, 5 из них могут быть использованы в качестве ШИМ выводов и 4 – как аналоговые входы. Напряжение внешнего питания составляет 6-12 В. Для подключения к персональному компьютеру используется разъем microUSB. В комплект поставки кабель не входит.

Достоинства:

  • может эмулировать клавиатуру, мышку и игровой контроллер;
  • 22 цифровых порта;
  • наличие встроенного USB.

Недостатки:

  • отсутствие микросхем USB-UART.

Купить на AliExpress.com

Писать без библиотек?

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

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

① Микроконтроллер Arduino Uno R3

Рейтинг: 4.9 Цена: от 252,97 руб.
до
317,17 руб.
Перейти в магазин Микроконтроллер Arduino Uno R3 разработан на базе ATmega328p с тактовой частотой 16 МГц, имеет встроенную память 32 КБ и 20 цифровых контактов ввода и вывода для взаимодействия с внешними устройствами. Благодаря открытой платформе микроконтроллер будет полезен дизайнерам и программистам, которые планируют создание собственного проекта. Питается плата как от USB-подключения, так и от внешнего источника: батарейки или сетевого адаптера.

Достоинства:

  • хорошее качество пайки.

Недостатки:

  • если использовать как программатор, не всегда с первого раза прошивает другую плату Ардуино.

Вблизи

Купить на AliExpress.com

Возможности

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

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

⑫ Микроконтроллер ATTINY167

Рейтинг: 4.8 Цена: 191,83 руб.
Перейти в магазин ATtiny167 – это схожий с предыдущей моделью маломощный 8-битный микроконтроллер, разработанный на базе мощного ЦПУ RISC AVR. Устройство сочетает эффективность и энергопотребление, достигая производительности в 1 MIPS/МГц. Встроенный датчик температуры позволяет отслеживать состояние платы при сильных нагрузках. Отладочная система DebugWIRE находит ошибки в библиотеках и сообщает о них пользователю.

Достоинства:

  • легкая установка библиотек с помощью прописанных драйверов;
  • 14 контактов ввода/вывода;
  • мощные светодиодные датчики.

Недостатки:

  • неполноценный аппаратный SPI, который не позволяет работать с некоторыми устройствами.

Купить на AliExpress.com

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

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

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

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

    Теперь, когда мы рассмотрели некоторые подробности о каждой плате, можно определить оптимальное использование каждой платы. Хотя UNO является самой популярной платой, также все остальные доски имеют отличную поддержку через онлайн-форумы благодаря общей архитектуре и использованию общего языка и IDE. Это означает, что вы вряд ли попадёте в специфичные для устройства ловушки, которые могут помешать работе части кода из-за конфигурации оборудования или присущих ошибок. Код Ардуино можно легко перенести на другую плату без каких-либо изменений. Это выгодно для пользователя, желающего поменять плату на определенной стадии проекта. Решающий фактор выбора платы, сводится к двум основным вещам аппаратному обеспечению и стоимости. Если аспект стоимости каждого Arduino очевиден, предпочтительнее вариант с наименьшей стоимостью. То аппаратное обеспечение быть может не так легко определить. При рассмотрении оборудования следует учитывать следующее:

    • Физические размеры
    • Мощность процессора
    • Размер памяти
    • Возможности ввода / вывода
    • Бортовая периферия
    • Вес
    • Связь

    Что касается физических размеров, Arduino Nano является самым маленьким и очень портативным устройством. UNO — это доска для разработки среднего размера, но она всё ещё довольно мала. Её можно использовать во многих проектах, включая устройства с дистанционным управлением, такие как радиоуправляемые автомобили и лодки. Mega и Due — намного больше, что затрудняет их использование в проектах с ограниченным пространством. Если проект требует высокой вычислительной мощности, Due выходит на первое место с мощным ядром ARM и большим RAM / ROM. Несмотря на то что Mega — это большой Arduino с большим количеством пинов, скорость его процессора остаётся той же, что и в UNO и Nano (то же семейство Mega). Поэтому использование Mega не даёт никаких преимуществ в скорости. UNO и Nano используют один и тот же процессор. С точки зрения аппаратного и периферийного оборудования UNO и Nano идентичны. Если проект требует много пинов, Due и Mega являются очевидным выбором. Проекту, которому не требуется сильного процессора, но нужно большое количество контактов подключения, подойдёт Mega.

    Важные страницы

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

    4.8 / 5 ( 18 голосов )

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

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

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

    © digitrode.ru

    Теги: Arduino, ESP8266, ESP32

    Покупка готового Arduino-робота как начало обучения

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

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

    На фото популярный Arduino-робот — машинка, управляемая по Bluetooth, стоимостью менее 100$.


    Машинка, управляемая по Blutooth

    Рейтинг
    ( 1 оценка, среднее 4 из 5 )
    Понравилась статья? Поделиться с друзьями:
    Для любых предложений по сайту: [email protected]