• Мнения
  • |
  • Обсуждения
Максим Типов Профессионал

Что такое Arduino?

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

Фото: Depositphotos

Многие технические устройства вокруг нас оборудованы микроконтроллерами. Это небольшие управляющие компьютеры, сильно упрощённые для удешевления. Им не требуется обязательный набор периферии типа «клавиатура, мышь, монитор» или «сенсор, дисплей». Периферийные устройства — только те, которые требуются здесь и сейчас, для конкретной задачи.

  • Микроволновка? Значит, кнопки, индикатор, вход для датчика двери и выходы на два реле.
  • Калькулятор? Матрица кнопок и индикатор.
  • Плюшевая игрушка с музыкой? Кнопка и громкоговоритель.
  • И так далее…

Основные проблемы разработчиков прошивок для этих малюток — «зоопарк» несовместимых друг с другом платформ, а также необходимость иметь программатор. Или, если какая-то техника выпускается массово, в микроконтроллер ставят масочное ПЗУ, программу в которое записывают ещё в процессе изготовления. А ещё, если платформу надо сменить, требуется другая среда разработки, которую надо купить, освоить почти с нуля…

Arduino — это попытка внедрить в данном «зоопарке» единый стандарт. Не первая вообще, но первая успешная в таких масштабах.

Arduino Software
Arduino Software
Фото: ru.wikipedia.org

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

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

Классический конструктив Arduino с платами расширения
Классический конструктив Arduino с платами расширения
Фото: Frédéric BISSON, ru.wikipedia.org

Само название «Arduino-совместимая плата» говорит о том, что на рынке присутствуют не только оригиналы, но и клоны. Неужели разработчики плагиат ушами прохлопали? Да они только рады, ведь это — открытое аппаратное обеспечение. По аналогии с открытым программным. Только назвать клон придётся не Arduino, а как-нибудь по-другому. Например, Iskra.

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

А что если загрузчик «слетел», а программатора нет? Ничего страшного. Прошить его заново можно, воспользовавшись в качестве программатора другой, исправной Arduino-совместимой платой. Тем же способом можно прошивать загрузчик и в совместимые микроконтроллеры, расположенные вне плат. Нужно только добавить частотозадающие элементы, преобразователь USB-COM и необходимую периферию. Можно делать и свои совместимые платы не хуже готовых.

Частный способ применения Arduino
Частный способ применения Arduino
Фото: Simonwilmot, ru.wikipedia.org

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

Статья опубликована в выпуске 4.07.2020
Обновлено 22.07.2020

Комментарии (0):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети: