Какой микроконтроллер ардуино выбрать начинающему?

Какой микроконтроллер выбрать начинающему? Arduino или более современный?

Какой микроконтроллер лучше? Опубликованная вчера в блоге на Habr статья «Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих» вызвала бурные обсуждения, т.к. она призывает «похоронить» популярную Arduino даже в любительских проектах.

Олег Артамонов и ранее приводил критику использования Arduino в старших классах школы, но на этот раз подробнее описал недостатки платформы, а также продемонстрировал, что работать с ARM Mbed просто — вопреки популярному мнению нет необходимости «долгими бессонными ночами читать бесконечные даташиты на регистры процессора и учить ассемблер».

«Традиционным преимуществом платформы Arduino считалоcь снижение порога входа в микроконтроллерную разработку до уровня базовых знаний C/C++ и электроники в масштабе «подключить светодиод в нужной полярности, — пишет Олег Артамонов, — Спросите примерно у любого активного сторонника Arduino — и вам быстро объяснят, что можно, конечно, писать под STM32 или nRF52, но выгоды в том реальной никакой, зато вас ждут бессонные ночи над сотнями страниц даташитов и бесконечные простыни функций с длинными непонятными названиями. Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьезную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял)».

Развитие платформы Arduino за последние 10 лет автор сравнил с изменениями в некоторых моделях. АвтоВАЗа. AVR, как и вообще 8-битные контроллеры, уже не выдерживают конкуренции с 32-битными Cortex-M по соотношению цена/характеристики. А сложность разработки существенно снизилась с появлением микроконтроллерных операционных систем. Благодаря ОС программирование микроконтроллеров становится ближе к написанию софта под большие ПК, и создание многозадачности средствами цикла loop() при наличии современных средств разработки, становится абсурдно. Микроконтроллерные операционные системы дают:

  • HAL — абстрагирование от железа.
  • Многозадачность.
  • Таймеры.
  • IPC — межпроцессное сообщение.
  • Наборы стандартных библиотек и функций — помимо API работы с самим микроконтроллером, ОС может предоставлять вам доступ к стандартным библиотекам, в том числе сторонней разработки.
  • Наборы драйверов — многие ОС предоставляют также «из коробки» наборы драйверов для внешних по отношению к контроллеру датчиков и систем.

Статью прокомментировал разработчик микропроцессоров MIPS Юрий Панчул:

Главная проблема ардуины и ее software (UPD: если вы вздумаете использовать ее профессионально, как люди, с которыми ругается Олег) — это отсутствие многозадачности, из-за чего системы сложнее чем мигание лампочкой либо тормозят, либо процессор все время ожидает и обрабатывает ввод-вывод вместо решения полезных задач, либо имеет место куча спагетти-кода в комбинации с примитивными ардуинскими обработчиками прерываний. Именно это имхо стоило продемонстрировать Олегу с наглядными примерами кода. Ругаться с ардуинщиками по поводу порога входа в их нежно любимую платформу можно, но там речь идет о вкусах и небольшой неэффективности из-за ардуиногого api, а вот отсутствие в ардуине tasks/semaphores и других RTOS-ных примитивов, которые позволяют писать эффективные надежно работающие программы с компактным легко читаемым кодом — это принципиально, и на этом ардуинщиков вполне реально урыть (если они готовы идти дальше мигания лампочкой). Например привести вывод на графический экран двумя процессами с семафором, как мы в MIPS и Microchip сделали три года назад в курсе Connected MCU по программированию PIC32MZ и FreeRTOS

Позже Юрий Панчул добавил в свой пост информацию о существовании RTOS для Arduino: » … пусть живет. Все написанное отменяется.». Прогресс не стоит на месте и мир микроконтроллерных плат для любителей больше не ограничивается Arduino и ESP. А что думаете вы?

Если вы заинтересованы подробнее познакомится с программированием современных микроконтроллеров, рекомендуем ознакомиться с курсом лекций (видео).

Arduino.ru

Какой микроконтроллер выбрать?

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

Всем привет! Нужен микроконтроллер для управления 7-ю устройствами, в числе которых датчики, моторчики и пр. Не могу выбрать между Attiny13 и Atmega85. Attiny13 дешевле, у Atmega85 больше памяти. У них 8 ног, не знаю, получится ли управлять 7-ю компонентами? Может, какие-то ноги зарезервированы для заливки/питания? Или, может, выбрать с бОльшим количеством ног? Посоветуйте, пожалуйста, оптимальный микроконтроллер.

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

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

к вопросу цены- Вам нужно единичное устройство или серия ( сотни, тысячи). В первом случае разница в цене 100-200 р непринципиальна. Второе, учитвая Ваш вопрос мне слабо представляется.

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

К сожалению (а может, и к счастью. Такая головная боль, должно быть), не занимаюсь промыленным освоением микроконтроллеров. Они мне нужны исключительно для “домашних” проектов. Тем не меннее, в условиях нынешнего экономического кризиса даже 100 рублей являются предметом экономии. Мега 2560 стоит в 10 раз больше вышеназваных МК. Если у кого-то есть подобный опыт управления 7-ю устройствами, прошу поделиться впечатлениями.

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

Может, какие-то ноги зарезервированы для заливки/питания?

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

Спасибо за советы, буду пробовать.

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

Я, лично, придерживаюсь мнения, что на тиньках нужно делать самые простые датчики первой линии, 1-2 входных датчика + 1-2 исполнительных механизма либо выходных сигнала для докладывания состояния наверх. Тогда и программы помещаются, ибо они простейшие, и устройство получается дешевле. Например, датчик уровня+насос и все, наворачивать больше незачем. Если интеллекта и ног требуется больше, я беру Atmega8, 55р за корпус, а ног целых 28 и памяти 8 кб.

Мнение только мое. Вы можете и у тиньки расширить выходы 595ми регистрами, а входы 165ми, только к чему такие навороты?

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

Навскидку, про Atmega8, последний раз надо было 2, поэтому брал здесь.

Можно и дешевле найти

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

Если у кого-то есть подобный опыт управления 7-ю устройствами, прошу поделиться впечатлениями.

Понимаете, ни у кого нет опыта управления

7-ю устройствами, в числе которых датчики, моторчики и пр.

особенно это касается последнего устройства.

датчики бывают разные. У моторчиков бывают разные драйверы, “и пр.” вообще может потребовать 16-ти пиновую шину. Пока Вы не соберёте всю информацию об устройствах, никто Вам ничего реального не скажет. Кто ж может знать, может они у Вас все 7 к SPI цепляются? Или может датчики на I2C, а “и пр.” – на UART? Никто кроме Вас не знает!

И чего Вы в таком случае ждёте?

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

Возьмите мегу 2560 и на ней полностью отладьте устройство в

а что сразу не Интел i7 ? 🙂 Мега2560 на озвученную задачу – это совершенно бесполезное разбазаривание ресурсов. Я б даже рискнул сказать, что новичкам вообще не стоит смотреть на Мегу. Даже при неумении грамотно использовать выходы и писать компактный код редко какой проект превосходит возможности УноНано

Автору – Тинька13 вам точно не подойдет, тинька85 может оказаться тесна. Советую за прототип взять Pro mini или Nano. Первая на Али от 90р, вторая – около 150 (точно не помню).

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

Вы видели запросы ТС на периферию? Семь штук и ето наверняка не по-одному и не по-два пина. Я не уверен, что он сразу подружится с расширителями. Потому и мега.

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

Я, лично, придерживаюсь мнения, что на тиньках нужно делать самые простые датчики первой линии, 1-2 входных датчика + 1-2 исполнительных механизма либо выходных сигнала для докладывания состояния наверх. Тогда и программы помещаются, ибо они простейшие, и устройство получается дешевле. Например, датчик уровня+насос и все, наворачивать больше незачем. Если интеллекта и ног требуется больше, я беру Atmega8, 55р за корпус, а ног целых 28 и памяти 8 кб.

Мнение только мое. Вы можете и у тиньки расширить выходы 595ми регистрами, а входы 165ми, только к чему такие навороты?

Мне импонирует Ваш упрощенческий подход ) Спасибо.

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

Понимаете, ни у кого нет опыта управления

У кого же есть тогда, если уж у главных ардуинщиков России нет опыта?

7-ю устройствами, в числе которых датчики, моторчики и пр.

особенно это касается последнего устройства.

датчики бывают разные. У моторчиков бывают разные драйверы, “и пр.” вообще может потребовать 16-ти пиновую шину. Пока Вы не соберёте всю информацию об устройствах, никто Вам ничего реального не скажет. Кто ж может знать, может они у Вас все 7 к SPI цепляются? Или может датчики на I2C, а “и пр.” – на UART? Никто кроме Вас не знает!

И чего Вы в таком случае ждёте?

Как выше правильно подметил проницательный специалист по ардуино, я, скорее всего, не занимаюсь в промышленных масштабах микроконтроллерами, и вряд ли мне потребуется “16-ти пиновая шина”, что бы это ни означало. И тем более это касается SPI, I2C и UART. Моторчик, скорее всего, будет запускаться через маломощный транзистор. А для него, насколько я понимаю, 16-и пинов не потребуется. Накручивать чего-то не собираюсь.

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

Возьмите мегу 2560 и на ней полностью отладьте устройство в

а что сразу не Интел i7 ? 🙂 Мега2560 на озвученную задачу – это совершенно бесполезное разбазаривание ресурсов. Я б даже рискнул сказать, что новичкам вообще не стоит смотреть на Мегу. Даже при неумении грамотно использовать выходы и писать компактный код редко какой проект превосходит возможности УноНано

Автору – Тинька13 вам точно не подойдет, тинька85 может оказаться тесна. Советую за прототип взять Pro mini или Nano. Первая на Али от 90р, вторая – около 150 (точно не помню).

Приветствую Вас, еще одного логически мыслящего специалиста! К сожалению, уже заказал Уно. А может, и к счастью, поскольку глянул на алиэкспресс на Про мини. У него нет юсб-разъема, а заморачиваться подключением к компу что-то не хочется, ибо гуманитарий. Планирую использовать Уно для программирования тинек, а может, и мег. Спасибо за советы, склоняюсь к покупке и тиньки13, и атмеги8, что с 28 ножками.

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

Вы видели запросы ТС на периферию? Семь штук и ето наверняка не по-одному и не по-два пина. Я не уверен, что он сразу подружится с расширителями. Потому и мега.

Почему же “наверняка не по-одному и не по-два пина”? Для датчика же один пин нужен? Для транзистора 2 пина? Под “расширителями” Вы имеете в виду шилды? Надеюсь на Вашу будущую помощь, ну и других жителей этого форума.

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

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

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

Извиняюсь за нубство, вопрос сходный с ТС

Первая покупка Ардуино, для себя и сына 12 лет (более-менее толковый)

Так вот, что взять для начала Уно или 2560? Как стартеркит

Почему новичкам не стоит смотреть на 2560?

Интересует такая стратегия, предположим 2560 использовать как базу для разработок, а потом из полученного переносить на более соответствующие носители

Задачи – автоматизация дома и оборудования

Как насчет вот такого варианта?

СтартерКит УноR3 примерно 25-27долл

и набор датчиков 37 в Sensor 1 наборы для Arduino примерно 10-12 долл

и плата с 4 релюхами

Благодарю за внимание и ответы.

P.S. Набор датчиков не стремный по качеству?

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

Если Вы закажете все по отдельности, то реально сыканомите денег. Эти наборы очень бестолковы, да еще и втридорога. Расчитано как раз на новичков, у которых и так глаз горит, а тут сразу 25-37 разных штучек в одном наборе. Для начала просто определитесь со своим первым проектом и заказывайте конкретно под него железяки. Пока едет из Китаю, можно умных книг почитать, подучить теорию.

Я тоже в Ардуино пришел “вместо” сына, купил ему набор в Анперке, думал заинтересуется, да не вышло. Два года набор провалялса на полке, пока мня не стукнуло “умную” теплицу делать. А так как во студенчестве я Интелы программировал по работе, делал в ИЯФе умные датчики на i8035, i8048, i8051, то AVR как то сразу у меня и пошел.

(И, кстати, из того набора за 5 тыщ из Анперки, реально использовал тока дисплей МЭЛТ 1602, и то потому что он изначально с русским шрифтом был, все остальное было пустая трата денег)

А учица, лучше взять Uno за 200р, если сгорит – не жалко, а потом и до Меги доберетесь с сыном.

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

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

    Планы обучения, 20 марта 2019 в 13:35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Arduino Nano — различие с UNO только в конструктивном исполнении. Nano меньше.
  • Arduino Mega — плата на базе мощного микроконтроллера. Имеет большое количество портов.
  • Arduino Micro — имеет встроенную поддержку USB-соединения, а потому может использоваться как H >

Установка ПО

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

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

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

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

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

Термины

Программный код для 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++.

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

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

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

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

Прошивка

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

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

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

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

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

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

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

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

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

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

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

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

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

Как выбрать и купить Arduino начинающему

Arduino — самая популярная платформа любительской и образовательной робототехники. Какую плату или набор Arduino купить начинающему? Как купить Arduino дешево? Чем аналоги Arduino отличается от оригинальной платы? Ответы в нашем обзоре.

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

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 — ниже).

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

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

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

Arduino Starter Kit

Производитель рекомендует начинать изучение Arduino с набора Arduino Starter Kit . Этот комплект содержит плату Arduino UNO и другие электронные компоненты, необходимые для начального изучения Arduino: светодиоды, резисторы, сервопривод, мотор, кнопку, жидкокристаллический экран, пьезоэлемент, датчики и прочее.

Чтобы купить Arduino Starter Kit у официального производителя, придется заплатить около 80 евро.

Аналоги значительно выигрывают в цене при схожей комплектации. Самые низкие цены на них в китайских интернет-магазинах. Сравнивая цены на наборы, конечно нужно учитывать и их состав. Так, Starter Kit for Arduino с платой DCcduino на сайте AliExpress стоит чуть менее $34 — комплектация похожа на оригинальную. Несколько меньшая комплектация у Starter Kit for Arduino с платой Robotale на сайте DealExtreme cтоит $28. Доставка в Россию бесплатная на обоих сайтах.

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

Starter Kit for Arduino

У меня самого случилась интересная история. Я заказывал в DX такой набор — как видно на фото там идет неоригинальная Arduino, а пришел вполне итальянский Arduino! Мелочь, а приятно.

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

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

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

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

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

Выбор модификации Arduino для начинающего

На официальном сайте производителя Arduino представлены 20 модификаций Arduino платы. Среди них Arduino Uno, Arduino Due, Arduino Leonardo и другие.

Arduino UNO и аналоги

Arduino Uno имеет наибольшую популярность, обычно входит в состав вышеописанных наборов (kits) и, пожалуй, ее можно назвать стандартной Arduino-платой. Это одна из самых дешевых Arduino-плат.

На официальном сайте Arduino UNO можно купить за 20 евро + доставка. В крупных российских интернет-магазинах, в том числе и у официальных дистрибьюторов, она продается по 1150-1300 рублей. Обычно в Москве и Санкт-Петербурге вы можете забрать самовывозом (рекомендуем интернет-магазины Амперку и DESSY), а в другие регионы придется платить еще и за доставку. Выходит дороговато. Хотя иногда можно встретить магазины с низкими ценами и в России. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Цена будет все равно повыше чем в Китае, но ждать посылку намного меньше.

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

Как и в случае с kitовыми наборами, очень дешево можно купить аналоги Arduino. Например, практически идентичный аналог DCcduino UNO на dx.com стоит менее $10, а на aliexpress вообще $5,50!

DCcduino на AliExpress за $5,5

Другие модификации Arduino плат

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

Пойдем методом исключения.

Сразу отказываемся от 4 модификаций платы Lilly Pad — они предназначены для «электронного текстиля» — вшивание светодиодов в одежду и т. д. Позже мы напишем о них.

Arduino Lilly Pad

Если вы не планируете делать готовых роботов, то есть будете часто закачивать программы на плату, гораздо целесообразней использовать платы с USB-портом — их удобнее подключать к компьютеру.

USB-порта НЕ имеют платы: Arduino Mini, Pro, Pro Mini.

Если вы хотите познакомиться с основами электроники, вам не очень подойдут «навороченные» платы: Esplora, BT, Ethernet, Tre, Yun, Robot.

Остаются UNO, Leonardo, Due, Micro, Mega ADK, Mega 2560, Nano, Fio.

Если для расширения платы вы будете вставлять Shield’ы (в их виде выполняются драйвера моторов, платы с дополнительными разъемами и т. д.) — надо учесть, что они имеют стандартный формат, которым не обладают Micro и Fio.

Надо сказать, что нестандартным размером обладает и Arduino Nano, но зато ее легко вставить в Breadboard — ее ножки находятся на нижней стороне платы.

Сравним цены оставшихся плат на Arduino Store:

  • UNO — 20 евро,
  • Leonardo — 18 евро,
  • Due — 36 евро,
  • Mega 2560 — 29 евро,
  • Mega ADK — 44 евро,
  • Nano — 33 евро.

В упомянутых китайских магазинах можно найти аналоги по значительно низкой цене.

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

  • микроконтроллером и частотой его работы ( ATmega328 — 16 мГц, ATmega32u4 — 16 мГц, ATmega2560 — 16 мГц и другие),
  • входным и выходным напряжением на плату,
  • количеством аналоговых входов и выходов,
  • количеством цифровых портов, в том числе поддерживающих ШИМ,
  • объемом флэш-памяти.

Количество портов на плате определяет максимальное количество, подключаемых к ней устройств (датчики, моторы и т.п.), а объем флэш-памяти ограничивает длину загружаемой в нее программы.

В принципе, не особо важно с какой платы начинать изучение Arduino. Т.е. это совсем необязательно должна быть популярная Arduino Uno, можно купить близкие к ней по стоимости популярные платы Arduino Leonardo или Arduino Due или их аналоги.

Аналог Arduino Due

Аналог Arduino Leonardo

Краткие характеристики некоторых плат:

Arduino UNO: микроконтроллер ATmega328, 14 цифровых портов, в т.ч. 6 с ШИМ, 6 аналоговых входов, 32 KB Flash-память, USB-порт типа B.

Arduino Due: микроконтроллер AT91SAM3X8E, 54 цифровых порта, в т.ч. 12 с ШИМ, 12 аналоговых входов и 2 аналоговых выхода, 512 KB Flash-память, 2 MicroUSB порта.

Arduino Leonardo: микроконтроллер ATmega32u4, 20 цифровых портов, в т.ч. 7 с ШИМ, 12 аналоговых входов, 32 KB Flash-память, MicroUSB порт.

Список рекомендованных магазинов

Все цены приведены на дату публикации поста.

Источники:

http://arduino.ru/forum/apparatnye-voprosy/kakoi-mikrokontroller-vybrat

http://tproger.ru/curriculum/arduino-quick-start/

http://edurobots.ru/2014/07/kak-vybrat-i-kupit-arduino-nachinayushhemu/

http://tproger.ru/digest/raspberrypi-best-kits/

Ссылка на основную публикацию