Код #Статьи

25 августа, 2025

Arduino — что это и как работает: гайд по программированию для начинающих / Skillbox Media

Платы, лампы, провода — это всё любовь моя!

Практический курс: «Программист микроконтролле­ров»

Узнать больше

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

В этой статье рассказываем про Arduino: что это такое, для чего нужно и как его программировать. А ещё объясняем, какую плату выбрать новичку, и даём ссылки на полезные материалы.

Содержание

  • Что такое Arduino
  • История Arduino: скандалы, интриги, торговые войны
  • Анатомия платы
  • Какую плату Arduino выбрать
  • Какое ещё железо нужно ардуинщику
  • IDE для Arduino
  • Как программировать Arduino
  • Как загрузить прошивку на плату
  • Мигаем светодиодом: первый проект на Arduino
  • Усложняем проект: добавляем управление
  • Что делать дальше
  • Дополнительные материалы

Что такое Arduino

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

  • аппаратную часть — плату с микроконтроллером, например Arduino Uno;
  • программную часть — бесплатную среду разработки Arduino IDE и встроенные библиотеки, которые упрощают работу с оборудованием.
Arduino Uno — одна из самых популярных плат в линейкеИзображение: Arduino

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

Вот примеры других устройств, собранных на Arduino:

Умная кормушкаИзображение: Arduino_Genuino / Project Hub
Игровой автомат с матричным дисплеемИзображение: mircemk / Project Hub
РобокотКадр: PetoiCamp / YouTube
Домашняя автоматизированная фермаФото: londonium2021 / Project Hub

История Arduino: интриги и скандалы

В начале 2000-х компании Telecom Italia и Olivetti открыли в итальянском городе Ивреа курсы по дизайну взаимодействия. Студентов учили проектировать устройства с удобными интерфейсами, опираясь на поведение пользователей.

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

BASIC Stamp, установленная в отладочную платуФото: Marcin1988 / Wikimedia Commons

Выпускник курса Эрнандо Барраган решил изменить ситуацию: в 2004 году он разработал альтернативную платформу Wiring — плату с прошивкой и поддержку программирования на упрощённом C++. Разработка гаджетов стала проще и быстрее.

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

Плата WiringФото: Hernando Barragán

Платы Wiring за короткий период стали очень популярны на курсе, но оставались дорогими — около 60 долларов за плату. Тогда научный руководитель Баррагана Массимо Банци сделал форк проекта: использовал более дешёвый микроконтроллер ATmega8, но оставил программную часть Wiring. Так появился прототип Arduino, сначала называвшийся Wiring Lite.

Прототип платы Arduino под названием Wiring LiteФото: Hernando Barragán

Название Arduino команда выбрала в честь местного бара, где собирались студенты и преподаватели. Сам бар был назван в честь короля Италии Ардуина Иврейского.

В 2008 году Банци зарегистрировал в США компанию Arduino LLC, которой принадлежали права на бренд. Платы производились сторонними фабриками по лицензии.

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

Когда популярность Arduino начала расти, команде понадобилось открывать юрлица в других странах. Но при попытке зарегистрировать компанию в Италии выяснилось, что бренд Arduino там уже оформлен — на Джанлуку Мартино, одного из сооснователей проекта и владельца завода, производившего платы. Оказалось, что он тайно регистрировал компании с названием Arduino SRL в разных странах.

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

Это привело к тому, что Arduino LLC могла продавать свои платы только в США, а Arduino SRL — в остальных странах. Торговая война продолжалась до 1 октября 2016 года. Тогда на конференции World Maker Faire Массимо Банци и Федерико Мусто, гендиректор Arduino SRL, объявили о слиянии компаний в одно юрлицо — Arduino AG.

Массимо Банци и Федерико Мусто сообщают о слиянии двух Arduino в третьюФото: Arduino Team

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

Анатомия платы

Рассмотрим, какие пины, интерфейсы и кнопки есть на плате Arduino. Мы покажем всё на примере третьего поколения Uno. Более детально устройство платы можно изучить в официальной документации.

Основные элементы платы Arduino UnoФото: Skillbox Media

На фотографии выше:

  • Кнопка перезагрузки (1) — кнопка для перезапуска загруженного кода, если, например, плата перестала корректно реагировать на команды.
  • Цифровые пины (2) — универсальные пины, которые могут генерировать и считывать сигналы. К ним можно подключать датчики, моторы, кнопки и другие элементы управления.
  • Коннектор USB-B (3) — порт, с помощью которого плату можно подключить к компьютеру и прошить.
  • Контроллер ATmega328P (4) — «мозг» Arduino Uno, который выполняет все вычисления и операции. Можно сказать, что он здесь вместо процессора и памяти, — как центральный блок у обычного компьютера, только компактнее и проще.
  • Коннектор питания (5) — порт для подключения платы к аккумулятору или розетки.
  • Пины питания (6) — пины, с помощью которых можно запитать датчики, моторы и другие элементы, подключённые к Uno.
  • Аналоговые пины (7) — пины, которые могут только считывать сигналы. Подходят для подключения датчиков.

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

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

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

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

Микроконтроллер: ATmega328P

Память: 32 КБ флеш-памяти и 2 КБ SRAM

Для каких проектов подходит: для роботов и любых умных устройств

Цена: 27–55 долларов

Документация

Плата Arduino Uno R3.Изображение: Arduino Docs

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

Микроконтроллер: ATmega328

Память: 32 КБ флеш-памяти и 2 КБ SRAM

Для каких проектов подходит: для компактных устройств

Цена: 15–40 долларов

Документация

Плата Arduino NanoИзображение: Arduino Docs

Arduino Nano — компактная версия Uno. У неё меньше портов и меньше памяти, зато она без проблем поместится в корпусе практически любого устройства. Ещё один плюс платы в том, что её можно разместить на макетной плате.

Микроконтроллер: ATmega2560

Память: 256 КБ флеш-памяти и 8 КБ SRAM

Для каких проектов подходит: для устройств с большим количеством датчиков

Цена: 50–70 долларов

Документация

Плата Arduino Mega.Изображение: Arduino Docs

Arduino Mega — плата с большим количеством пинов, более мощным микроконтроллером и увеличенным объёмом памяти. Она отлично подходит для сложных проектов, в которых нужно много датчиков и ресурсоёмких вычислений, например для шагающих роботов с парой десятков сервоприводов. Плата дорогая, поэтому нет смысла брать её для обучения. На первых порах хватит возможностей Uno.

Микроконтроллер: ATmega32U4

Память: 32 КБ флеш-памяти и 2,5 КБ SRAM

Для каких проектов подходит: для клавиатур, мышек и контроллеров

Цена: 22 доллара

Документация

Плата Arduino MicroИзображение: Arduino Docs

Arduino Micro — компактная плата с поддержкой режима работы HID (human interface device — устройство человеческого интерфейса). Это значит, что на базе Micro можно собрать собственную клавиатуру, мышку, руль для симулятора гонок или контроллер для игровой консоли.

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

В линейку Arduino Pro входят следующие семейства:

  • Portenta — набор высокопроизводительных плат и модулей для промышленных проектов. Они могут одновременно выполнять низкоуровневый код и скрипты на MicroPython или JavaScript.
  • Nicla — компактные платы для ИИ-проектов с низким энергопотреблением. Например, на базе платы Nicla Vision можно собрать систему для автоматической сортировки заказов на складе.
  • Opta — серия программируемых логических контроллеров в форм-факторе microPLC. У них есть Ethernet, Wi-Fi, Bluetooth и крепление для DIN-рейки, позволяющее устанавливать устройство в электротехнические шкафы.
Плата Arduino Portenta H7Изображение: Arduino Docs
Плата Arduino Nicla VisionИзображение: Arduino Docs
Плата Arduino OptaИзображение: Arduino Docs

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

Практически все платы компании и прошивки выпускаются под открытой лицензией Creative Commons Attribution ShareAlike. Это значит, что любой желающий может создавать собственные платы Arduino — в помощь разработчикам компания публикует на официальном сайте схемы, чертежи и документацию. А ещё в компании не против того, чтобы крупные производители запускали серийное производство аналогов. Главное условие: не использовать название Arduino, его производные и логотип. Все эти атрибуты защищены авторским правом.

Официальная схема платы Arduino UnoИзображение: Arduino Docs

Читайте также:

Лицензии Creative Commons: что это такое, как они работают и какие бывают

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

Iskra Uno — аналог Arduino Uno от компании «Амперка»Кадр: AmperkaRu / YouTube

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

Вот список проверенных аналогов Arduino помимо платформы Iskra от «Амперки»:

  • Piranha;
  • RobotDyn;
  • Keyestudio;
  • Adafruit.

Если вы увидели «оригинальную» плату с большой скидкой, то сперва проверьте, не пытаются ли вам продать подделку. Для этого можно использовать официальное руководство от команды Arduino.

Оригинальная плата Arduino Uno (слева) и подделка (справа)Изображение: Arduino

В проектах лучше использовать оригинальные платы или аналоги компаний, которые дорожат своей репутацией. Платы китайских «ноунеймов» практически всегда оказываются некачественными, но стоят в 5–10 раз меньше. С другой стороны, если ваша цель — просто попробовать себя в разработке на Arduino, то можно сэкономить.

Какое ещё железо нужно ардуинщику

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

К платам Arduino можно подключать сторонние модули, датчики и сенсоры. Например, если вы хотите собрать метеостанцию, то надо будет докупить термометр, барометр и анемометр. А для робота нужна будет камера, дальномер и моторы.

Россыпь различных модулей и датчиковФото: Skillbox Media

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

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

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

Макетная платаФото: Skillbox Media

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

Модули и сенсоры надо чем-то соединять между собой на макетной плате и подключать к Arduino. Для этого используют кабели типа Dupont трёх видов: «папа — папа», «мама — мама» и «мама — папа».

Сверху вниз: «папа — папа», «мама — мама» и «мама — папа»Фото: Skillbox Media

Интересный факт: Dupont — это не официальное название коннектора. В начале XXI века китайские производители начали осваивать массовое производство соединительных кабелей и для изоляции использовали материалы американской химической компании DuPont. В итоге название прижилось на бытовом уровне, и сейчас любые коннекторы с шагом 2,54 мм называют кабелями Dupont.

Шилд (от англ. shield — щит) — плата расширения, которая подключается к Arduino и даёт новые возможности. Например, с помощью шилда можно добавить поддержку Wi-Fi или GPS, если изначально их не было.

С шилдами Arduino превращается в сэндвич, но зато нет торчащих во все стороны проводовФото: Skillbox Media

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

Для монтажа электронных компонентов и сборки финального устройства могут понадобиться дополнительные инструменты:

  • Паяльник. После экспериментов на бредборде электрическую схему проекта можно перенести на печатную макетную плату. Для этого понадобится паяльник, припой, канифоль и флюс.
  • «Третья рука». Во время пайки не всегда удобно одновременно держать раскалённый паяльник, припой, плату и элемент, который вы собираетесь припаять. На помощь в таких случаях приходит «третья рука» — штатив, который позволяет закрепить все необходимые элементы и работать с ними.
«Третья рука» с двумя зажимами и лупойФото: Dro Kulix / Wikimedia Commons
  • Набор пинцетов. Электронные компоненты могут быть очень мелкими, и брать их руками не всегда удобно. Лучше использовать пинцеты, чтобы случайно ничего не сломать.

Интересный факт: Dupont — это не официальное название коннектора. В начале XXI века китайские производители начали осваивать массовое производство соединительных кабелей и для изоляции использовали материалы американской химической компании DuPont. В итоге название прижилось на бытовом уровне, и сейчас любые коннекторы с шагом 2,54 мм называют кабелями Dupont.

IDE для Arduino

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

Интерфейс Arduino IDEСкриншот: Arduino IDE / Skillbox Media

Arduino IDE — официальная среда разработки от команды Arduino. В ней есть все необходимые инструменты для удобной работы с одноимёнными платами. Можно писать код, отлаживать его, оптимизировать, загружать на платы и запускать.

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

Облачный редактор в Arduino CloudСкриншот: Arduino Cloud / Skillbox Media

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

Arduino Cloud работает даже в мобильном браузереСкриншот: Arduino Cloud / Skillbox Media
Platform IO в редакторе Visual Studio CodeСкриншот: Visual Studio Code / Skillbox Media

Platform IO — плагин, который превращает редактор кода, например VS Code, в IDE для работы с Arduino. Благодаря Platform IO в редакторе появляется дебагер, анализатор кода, функции для тестирования и возможность прошивать плату.

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

Platform IO в терминалеСкриншот: Platform IO

Читайте также:

Visual Studio Code: установка, настройка, русификация и список горячих клавиш

Как загрузить прошивку на плату

Перед тем как начать писать код, давайте разберёмся, как этот код загрузить на плату:

  • Шаг 1. Подключите плату к компьютеру с помощью USB-кабеля.
  • Шаг 2. В Arduino IDE откройте выпадающий список Select board и выберите в нём вашу плату.
Скриншот: Arduino IDE / Skillbox Media
  • Шаг 3. Нажмите на кнопку со стрелкой, которая расположена слева от выпадающего списка.
Скриншот: Arduino IDE / Skillbox Media
  • Шаг 4. Если всё прошло успешно, то в терминале появится сообщение «Done uploading» и сведения о том, сколько памяти занял скетч.
Скриншот: Arduino IDE / Skillbox Media

Мигаем светодиодом: первый проект на Arduino

Многие разработчики в качестве своей первой программы пишут код, который выводит на экран фразу «Hello, world!». У микроконтроллеров нет экранов, поэтому выводить приветствие некуда. При этом в сообществе разработчиков есть аналог «Hello, world!» — программа Blink, которая мигает одним из светодиодов на плате.

С помощью такой простой программы можно проверить сразу три вещи. Если светодиод мигает:

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

Давайте напишем код программы Blink и загрузим его на Arduino, чтобы убедиться, что всё работает:

Для сборки нам понадобится:

  • любая плата Arduino (у нас Uno R3);
  • светодиод;
  • резистор номиналом 220 Ом;
  • провода типа «папа — папа»;
  • макетная плата.

Все компоненты соединяем следующим образом:

Схема подключения светодиода к Arduino UnoИнфографика: Skillbox Media

Должна получиться похожая конструкция:

Фото: Skillbox Media

Код для мигания светодиодом выглядит так:

В коде выше мы используем три функции, не считая setup() и loop(), без которых компилятор не сможет собрать скетч:

  • pinMode(pin, mode) — функция для настройки режима работы цифрового пина. На вход она принимает два аргумента: pin и mode. В первом надо указать номер пина, во втором — режим работы. Мы выбрали пин под номером 13 и сделали его выходным (OUTPUT).
  • digitalWrite(pin, value) — функция для подачи напряжения на пин, указанный в аргументе pin. Во втором аргументе надо выбрать значение, которое подаётся на пин: HIGH или LOW.
  • delay() — с помощью этой функции можно на время приостановить выполнение кода. Для этого в скобках надо указать длительность паузы в миллисекундах. Забавный факт: максимальное значение — 4 294 967 295 мс, что составляет 49 дней, но на практике никто не ставит паузу больше нескольких секунд 🙂

Если всё сделали правильно, то при подключении питания к плате должен мигать наш светодиод:

Фото: Skillbox Media

Усложняем проект: добавляем управление

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

Схема устройства выглядит следующим образом:

Инфографика: Skillbox Media

Должно получиться такое устройство:

Фото: Skillbox Media

Код проекта выглядит так:

Если всё сделали правильно, то с помощью кнопки можно будет управлять светодиодом:

Фото: Skillbox Media

Что делать дальше

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

Читайте также:

Как собрать робота с нуля: пошаговая инструкция

Также на базе Arduino есть множество проектов с открытым кодом, которые вы можете повторить:

  • ArduSat — миниатюрный космический спутник;
  • Arduboy — портативная игровая консоль.
  • ArduPilot — система автопилота для дронов, самолётов, лодок и марсоходов.
  • OpenEVSE — зарядная станция для электромобилей.

Дополнительные материалы

Мы подготовили список видеороликов, курсов и книг, с помощью которых вы можете глубже изучить программирование Arduino:

  • Arduino The Documentary — документальный фильм, в котором создатели платформы рассказывают о процессе разработки.
  • 10-часовой видеокурс по программированию Arduino от Free Code Camp.
  • Arduino Project Hub — платформа, на которой пользователи делятся своими проектами.
  • Arduino Docs — документация от команды создателей Arduino.
  • Официальные гайды — руководства по программированию плат.
  • «Изучаем Arduino. 65 проектов своими руками», Джон Бокселл. Книга с проектами, собирая которые вы научитесь программировать для Arduino.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Читайте также:

  • Как собрать робота с нуля: пошаговая инструкция
  • Что такое эффект зловещей долины
  • Александр Амбарцумов: «Высшая цель робототехники — создание протеза человеческого тела»

Программист микроконтролле­ров

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

Узнать подробнее