Arduino для начинающих. Часть 1
Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.
Введение
Было бы не плохо начать со знакомства с Arduino. Arduino – аппаратно-программные средства для построения систем автоматики и робототехники. Главным достоинством есть то, что платформа ориентирована на непрофессиональных пользователей. То есть любой может создать своего робота вне зависимости от знаний программирования и собственных навыков.
Начало
Создание проекта на Arduino состоит из 3 главных этапов: написание кода, прототипирование (макетирование) и прошивка. Для того, чтоб написать код а потом прошить плату нам необходима среда разработки. На самом деле их есть немало, но мы будем программировать в оригинальной среде – Arduino IDE. Сам код будем писать на С++, адаптированным под Arduino. Скачать можно на официальном сайте. Скетч (набросок) – программа, написанная на Arduino. Давайте посмотрим на структуру кода:
Важно заметить, что обязательную в С++ функцию main() процессор Arduino создаёт сам. И результатом того, что видит программист есть:
Давайте разберёмся с двумя обязательными функциями. Функция setup() вызывается только один раз при старте микроконтроллера. Именно она выставляет все базовые настройки. Функция loop() — циклическая. Она вызывается в бесконечном цикле на протяжении всего времени работы микроконтроллера.
Первая программа
Для того, чтоб лучше понять принцип работы платформы, давайте напишем первую программу. Эту простейшую программу (Blink) мы выполним в двух вариантах. Разница между ними только в сборке.
Принцип работы этой программы достаточно простой: светодиод загорается на 1 секунду и тухнет на 1 секунду. Для первого варианта нам не понадобиться собирать макет. Так как в платформе Arduino к 13 пину подключён встроенный светодиод.
Прошивка Arduino
Для того, чтоб залить скетч на Arduino нам необходимо сначала просто сохранить его. Далее, во избежание проблем при загрузке, необходимо проверить настройки программатора. Для этого на верхней панели выбираем вкладку «Инструменты». В разделе «Плата», выберете Вашу плату. Это может быть Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo или другие. Также в разделе «Порт» необходимо выбрать Ваш порт подключения (тот порт, к которому вы подключили Вашу платформу). После этих действий, можете загружать скетч. Для этого нажмите на стрелочку или во вкладке «Скетч» выберете «Загрузка» (также можно воспользоваться сочетанием клавиш “Ctrl + U”). Прошивка платы завершена успешно.
Прототипирование/макетирование
Для сборки макета нам необходимы следующие элементы: светодиод, резистор, проводки (перемычки), макетная плата(Breadboard). Для того, чтоб ничего не спалить, и для того, чтоб всё успешно работало, надо разобраться со светодиодом. У него есть две «лапки». Короткая – минус, длинная – плюс. На короткую мы будем подключать «землю» (GND) и резистор (для того, чтоб уменьшить силу тока, которая поступает на светодиод, чтоб не спалить его), а на длинную мы будем подавать питание (подключим к 13 пину). После подключения, загрузите на плату скетч, если вы ранее этого не сделали. Код остаётся тот же самый.
Как начать работу с Arduino Uno: полное руководство для начинающих
Название Arduino является в настоящее время этаким «модным» словом для большинства радиолюбителей и всех, кто мало-мальски знаком с электроникой, поскольку данная платформа позволяет создавать электронные устройства быстро и дешево. Наличие обширного онлайн сообщества данной платформы делает ее идеальным выбором для тех, кто только начал свое знакомство с электроникой и программированием. Даже людям, не имеющим технического образования (а именно для таких она и была первоначально создана), освоить Arduino будет достаточно просто.
Почему так актуальна эта платформа? Как начать работу с ней? Как она может улучшить ваш стиль жизни? Все эти вопросы будут рассмотрены в данной статье. Для этого мы познакомимся с установкой среды Arduino IDE на ваш компьютер и загрузим в нее небольшую программу, реализующую мигание светодиода, который мы подключим к Arduino с использованием макетной платы.
Что такое Arduino
К сожалению некоторые начинающие радиолюбители считают Arduino микроконтроллером, но это не совсем так. Давайте попробуем разобраться что же это.
Arduino представляет собой платформу разработки с открытым исходным кодом, которая состоит из простого в использовании оборудования и среды программирования. Наиболее распространенным типом оборудования является Arduino UNO, а среда программирования называется Arduino IDE. Кроме Arduino UNO существует еще достаточно много аналогичных плат — Arduino Mega, nano, mini, но в данной статье в целях обучения мы будем использовать именно Arduino UNO. А Arduino IDE – это как раз та программная среда, с помощью которой мы будем программировать плату Arduino UNO.
Установка Arduino IDE
Прежде чем начать работу с Arduino необходимо установить среду программирования Arduino IDE на ваш компьютер/ноутбук. Все описанные далее шаги по установке данной программной среды будут ориентированы на операционную систему Windows, для остальных операционных систем последовательность действий будет примерно такой же. Если возникнут проблемы с другими системами, то помощь можно найти по следующим ссылкам – для пользователей Mac и пользователей Linux. Перед началом установки Arduino IDE убедитесь что вы обладаете правами администратора на вашем компьютере – это облегчит установку.
Шаг 1. Загрузите Arduino IDE с официального сайта — https://www.arduino.cc/download_handler.php.
Шаг 2. Запустите скачанный exe файл.
Шаг 3. В открывшемся окне кликните на “I Agree” чтобы согласиться с условиями лицензии Arduino.
Шаг 4. В окне опций установки отметьте все галочки (см. рисунок).

Шаг 5. На этом шаге необходимо выбрать место установки Arduino IDE. По умолчанию стоит путь установки в Program files на диске C – крайне рекомендуется оставить именно этот путь.

Шаг 6. На этом шаге вы можете наблюдать как Arduino IDE устанавливается на ваш компьютер (см. рисунок). После того как установка будет завершена нажмите кнопку “completed”.

Шаг 7. После завершения установки запустите на выполнение файл Arduino.exe. Откроется окно IDE с минимумом кода внутри него – см. рисунок.

Подключение вашей платы Arduino к компьютеру
После того как вы установили Arduino IDE на свой компьютер следующим логичным шагом будет подключение платы Arduino UNO к компьютеру. Чтобы сделать это просто используйте кабель для программирования (синего цвета) и соедините его с платой Arduino и USB портом вашего компьютера.
Синий кабель для программирования может выполнять следующие три функции:
- Он запитывает плату Arduino UNO, то есть чтобы обеспечить выполнение программ на ней необходимо просто запитать ее с помощью USB кабеля.
- Через него программируется микроконтроллер ATmega328, находящийся на плате Arduino UNO. То есть код программы пересылается из компьютера в микроконтроллер именно по этому кабелю.
- Он может функционировать в качестве кабеля для последовательной связи, то есть с его помощью можно передавать данные с Arduino UNO в компьютер – это полезно для целей отладки программы.
После того как вы подадите питание на плату Arduino UNO на ней загорится маленький светодиод – это свидетельствует о том, что на плату подано питание. Также вы можете заметить как мигает другой светодиод – это результат работы программы по управлению миганием светодиода, которая по умолчанию загружена в вашу плату ее производителем.
Поскольку вы подключаете плату Arduino в первый раз к компьютеру необходимо некоторое время чтобы драйвера для нее успешно установились. Чтобы проверить правильно ли все установилось и определилось откройте «Диспетчер устройств (Device manager)» на вашем компьютере.

В диспетчере устройств откройте опцию «Порты» “Ports (COM & LPT)”, кликните на ней и посмотрите правильно ли отображается там ваша плата.

При этом стоит отметить, что не стоит обращать внимание на то, какой номер порта отобразился у вашей платы Arduino – он может, к примеру, выглядеть как CCH450 или что то подобное. Этот номер порта просто определяется производителем платы и больше ни на что не влияет.
Если вы не можете в диспетчере устройств найти опцию “Ports (COM & LPT)”, то это означает, что ваша плата не корректно определилась компьютером. В большинстве случает это означает проблему с драйверами – по какой то причине они автоматически не установились для вашей платы. В этом случае вы должны будете вручную установить необходимые драйверы.
В некоторых случаях в указанной опции диспетчера устройств может отобразиться два COM порта для вашей платы и вы не будете знать какой из них правильный. В этой ситуации отключите и снова подключите плату Arduino к компьютеру – какой из COM портов при этом будет появляться и исчезать, значит тот и правильный порт.
Следует помнить о том, что номер COM порта будет изменяться при каждом новом подключении вашей платы к компьютеру – не пугайтесь, в этом нет ничего страшного.
Загрузка программы мигания светодиода
Теперь загрузим нашу первую программу в плату Arduino при помощи программной среды Arduino IDE, которую мы только недавно установили. Установленная Arduino IDE содержит несколько примеров программ, которые будут весьма полезны для начинающих. Давайте откроем один из этих примеров программ используя следующий путь File -> Examples -> Basics -> Blink (как показано на рисунке).

При этом откроется программа Blink – ее цель состоит в том чтобы заставить мигать встроенный светодиод на плате Arduino. После открытия программы нам необходимо выбрать правильную плату Arduino – чтобы сделать это выберите пункт меню Tool -> Boards -> Arduino UNO/Genuino как показано на рисунке ниже.

Далее мы должны выбрать правильный порт для нашей платы. Ранее мы увидели, что для нашей платы был определен порт COM13. В вашем случае это может быть другой порт. Но для нашего рассматриваемого случая мы должны выбрать пункт меню Tools -> Port -> COM13.

Если все сделано правильно, то вы должны заметить что номер порта (в нашем случае COM 13) появится внизу экрана. После этого вам необходимо нажать кнопку загрузки программы (подсвечена синим цветом) на плату Arduino как показано на рисунке ниже.

После нажатия этой кнопки вы увидите надпись “Compiling sketch” и затем, если загрузка программы прошла успешно, вы увидите сообщение “Done Uploading” как показано на рисунке ниже.

Если у вас на данном этапе возникают какие либо ошибки, не рассмотренные в данной статье, то вы их можете попробовать найти в статье про 10 самых распространенных ошибок при работе с Arduino.
Теперь попробуем написать программу, которая будет зажигать светодиод при нажатии кнопки.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Кабель для программирования.
- Светодиод (любого цвета).
- Кнопка.
- Резистор 1 кОм.
- Макетная плата.
- Соединительные провода.
Схема соединений
Представлена на следующем рисунке.
Кнопку подсоединим ко второму контакту Arduino, то есть одним концом кнопка будет подсоединена ко второму контакту Arduino, а вторым – к земле. То есть всегда когда мы будем нажимать кнопку на второй контакт Arduino будет подаваться земля.
Светодиод подсоединен к контакту 3 через резистор 1 кОм. То есть катод светодиода подсоединен к земле, а анод – к контакту 3 Arduino через резистор.
Программирование Arduino
Теперь, когда необходимая нам схема собрана, мы можем начать программирование платы Arduino UNO. Полный текст программы будет приведен в конце статьи, в этом разделе будет дано объяснение некоторых участков кода этой программы.
В каждой программе для Arduino должны обязательно присутствовать две функции – это функции void setup () и void loop (), иногда их называют «абсолютным минимумом», необходимым для написания программы. Все операции, которые мы запишем внутри void setup (), исполнятся только один раз, а операции, которые мы запишем внутри void loop () – будут исполняться снова и снова. Пример этих функций показан в коде ниже – именно в таком виде они создаются когда вы выбираете пункт меню File -> New.
Аrduino для начинающих
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.

проекты на Arduino
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
| Базовый набор ардуино для начинающих: | Купить |
| Большой набор для обучения и первых проектов: | Купить |
| Набор дополнительных датчиков и модулей: | Купить |
| Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
| Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
| Набор проводов с удобными коннекторами: | Купить |
| Комплект светодиодов: | Купить |
| Комплект резисторов: | Купить |
| Кнопки: | Купить |
| Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на статью с подробной инструкцией.
Язык программирования Ардуино
Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.
Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:
- После каждой инструкции необходимо ставить знак точки с запятой (;)
- Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
- Так же необходимо указывать тип данных перед объявлением переменной.
- Комментарии обозначаются: // Строчный и /* блочный */
Подробнее о типах данных, функциях, переменных, операторах и языковых конструкциях вы можете узнать на странице по программированию Arduino. Вам не нужно заучивать и запоминать всю эту информацию. Вы всегда можете зайти в справочник и посмотреть синтаксис той или иной функции.
Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().
Функция setup
Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства. Обычно в этой функции декларируют режимы пинов, открывают необходимые протоколы связи, устанавливают соединения с дополнительными модулями и настраивают подключенные библиотеки. Если для вашей прошивки ничего подобного делать не нужно, то функция все равно должна быть объявлена. Вот стандартный пример функции setup():
В этом примере просто открывается последовательный порт для связи с компьютером и пины 9 и 13 назначаются входом и выходом. Ничего сложного. Но если вам что-либо не понятно, вы всегда можете задать вопрос в комментариях ниже.
Функция loop
Функция loop() выполняется после функции setup(). Loop в переводе с английского значит «петля». Это говорит о том что функция зациклена, то есть будет выполняться снова и снова. Например микроконтроллер ATmega328, который установлен в большинстве плат Arduino, будет выполнять функцию loop около 10 000 раз в секунду (если не используются задержки и сложные вычисления). Благодаря этому у нас есть большие возможности.
Макетная плата Breadbord
Вы можете создавать простые и сложные устройства. Для удобства я советую приобрести макетную плату (Breadbord) и соединительные провода. С их помощью вам не придется паять и перепаивать провода, модули, кнопки и датчики для разных проектов и отладки. С беспаечной макетной платой разработка становится более простой, удобной и быстрой. Как работать с макетной платой я рассказывал в этом уроке. Вот список беспаечных макетных плат:
| Макетная плата на 800 точек с 2 шинами питания, платой подачи питания и проводами: | Купить |
| Большая макетная плата на 1600 точек с 4 шинами питания: | Купить |
| Макетная плата на 800 точек с 2 шинами питания: | Купить |
| Макетная плата на 400 точек с 2 шинами питания: | Купить |
| Макетная плата на 170 точек: | Купить |
| Соединительные провода 120 штук: | Купить |
Первый проект на Arduino
Давайте соберем первое устройство на базе Ардуино. Мы просто подключим тактовую кнопку и светодиод к ардуинке. Схема проекта выглядит так:
Управление яркостью светодиода
Обратите внимание на дополнительные резисторы в схеме. Один из них ограничивает ток для светодиода, а второй притягивает контакт кнопки к земле. Как это работает и зачем это нужно я объяснял в этом уроке.
Для того что бы все работало, нам надо написать скетч. Давайте сделаем так, что бы светодиод загорался после нажатия на кнопку, а после следующего нажатия гас. Вот наш первый скетч:
В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть целый урок на моем сайте. Обязательно ознакомьтесь с этим материалом.
ШИМ Arduino
Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:

ШИМ ардуино
Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.
В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в этом разделе.
Для использования ШИМ в Arduino есть функция analogWrite(). Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:
Аналоговые входы Arduino
Как мы уже знаем, цифровые пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. Аналоговые пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала. В большинстве плат ардуино стоит 10 битный аналогово-цифровой преобразователь. Это значит что 0 считывается как 0 а 5 В считываются как значение 1023. То есть аналоговые входы измеряют, подаваемое на них напряжение, с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (терморезисторы, фоторезисторы) и считывать аналоговый сигнал с них.
Для этих целей в Ардуино есть функция analogRead(). Для примера подключим фоторезистор к ардуино и напишем простейший скетч, в котором мы будем считывать показания и отправлять их в монитор порта. Вот так выглядит наше устройство:
Подключение фоторезистора к Ардуино
В схеме присутствует стягивающий резистор на 10 КОм. Он нужен для того что бы избежать наводок и помех. Теперь посмотрим на скетч:
Вот так из двух простейших элементов и четырех строк кода мы сделали датчик освещенности. На базе этого устройства мы можем сделать умный светильник или ночник. Очень простое и полезное устройство.
Вот мы и рассмотрели основы работы с Arduino. Теперь вы можете сделать простейшие проекты. Что бы продолжить обучение и освоить все тонкости, я советую прочитать книги по ардуино и пройти бесплатный обучающий курс. После этого вы сможете делать самые сложные проекты, которые только сможете придумать.
Arduino: выбор платы, подключение и первая программа
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-соединения, а потому может использоваться как 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-соединения.
Установка ПО
После выбора необходимой платы нужно установить бесплатную среду разработки 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.Basics→Blink. Там же можно найти множество других учебных скетчей на разные темы.
Почти на всех платах размещён светодиод, номер пина которого содержится в переменной 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() .