Arduino – инструмент, с которым может рано или поздно столкнуться программист. Изначально так называлась компания, производящая различные IT-механизмы и платы. На данный момент Ардуино – это специальный конструктор. Он является программируемым микроконтроллером для разнообразного оборудования.
Далее предстоит рассмотреть основы Ардуино, а также программирование этой платы с нуля для начинающих. Предложенная информация ориентирована на тех, кто уже имеет хотя бы поверхностные знания в разработке.
Что это такое
Arduino – это просто. Так называется электронный конструктор. Плата, с помощью которой любой человек может создавать электромеханические устройства. Он включает в себя программную и аппаратную части.
Первая отвечает за среду разработки (программу для написания и отладки прошивок, IDE), готовые библиотеки и упрощенный язык программирования C++. Аппаратная часть – большая линейка микроконтроллеров и готовых модулей. С их помощью можно работать с Ардуино с нуля и очень быстро.
Платы Ардуино используются для погружения в азы:
- программирования;
- механики;
- электротехники.
На его основе можно сконструировать различные полезные устройства – от мигалок и метеостанций до систем «умный дом» и средств автоматизации.
Как собрать устройство
Работа с Arduino строится на основе нескольких важных процессов – сборка микроконтроллеров в единое устройство, а также программирование.
Чтобы собрать устройство своими руками, потребуется:
- Сделать печатную плату и обеспечить тактирование микроконтроллеров. Для этого подключается тактовый генератор.
- Добавить обвязку – фильтры питания, кнопки для перезагрузки, резисторы и так далее.
- Обеспечить оборудованию остальные компоненты. Их требуется разложить на плате или воспользоваться штекерами.
- Обеспечить системе стабильное питание.
- Запрограммировать устройство. Иногда для этого используется специальное устройство – программатор.
- Загрузить прошивку на оборудование через программатор.
Это инструкция может показаться сложной, но на самом деле она простая. Ардуино – это просто. Он предоставляет настроенный микроконтроллер и все, что необходимо для его работы. Сюда же входит стабилизатор напряжения и программатор. Настоящий подарок для чайников в электронике и технике!
Язык программирования
Обучение Arduino немыслимо без освоения определенного языка разработки. Начало погружения в рассматриваемый МК сложно представить без C++. Ардуино использует его упрощенную версию для полноценной работы.
При попытках программировать с Arduino IDE необходимо запомнить несколько базовых правил для чайников. Они точно такие же, как и при разработке на «обычном компьютере» на языках СИ-семейства:
- после каждой инструкции или функции ставится точка с запятой;
- тип данных нужно обязательно указывать перед объявлением функции;
- если функция ничего не возвращает, она должна быть определена как void;
- перед объявлением переменных тоже указывается тип используемых данных;
- комментарии в исходном коде допускаются – они начинаются с «//» или «/*»/.
Исходный код пишется на C++, после чего Ардуино загружает его через программатор на оборудование и заставляет работать.
Arduino для начинающих требует обязательного изучения всего нескольких функций. С их помощью уже можно программировать самое разное оборудование с нуля. Речь идет о setup() и loop().
Функция setup
Уроки и документацию на русском языке по Ардуино, которые позволят начать обучение работы с микроконтроллерами с нуля, можно отыскать в Google и других поисковиках. Но сначала рекомендуется просто рассмотреть несколько ключевых функций. Они дадут возможность работать с Ардуино на первых порах.
В начале программирования требуется обратить внимание на функцию setup. Она выполняется в самом начале и всего один раз после включения или перезагрузки устройства. Здесь указываются режимы пинов, открываются необходимые протоколы связи, устанавливаются соединения с дополнительными модулями и настраиваются подключенные библиотеки.
Если для имеющейся прошивки (как у чайников) ничего из перечисленного не требуется, функция setup все равно объявляется. Ниже – стандартный ее пример:
Написание этого фрагмента отвечает за открытие последовательного порта связи с компьютером. Пины 9 и 13 назначаются как вход и выход.
Функция loop
Loop() – функция, которую программа реализовывает после setup. Если запрограммировать Arduino, то loop будет отвечать за зацикливание. Она выполняется снова и снова.
Пример – ATmega328. Он установлен на большинстве плат Arduino. Выполняет loop около 10 000 раз в секунду. За счет этого программистам предоставляются широкие возможности для создания софта.
Как запрограммировать микроконтроллер
Руководство пользователя по разработке и программированию МК указывает на то, что после сборки аппаратной части остается запрограммировать поведение оборудования. Краткая инструкция Ардуино для начинающих будет выглядеть в этом случае так:
- Написать прошивку. Делается это при помощи любого текстового редактора.
- Скомпилировать прошивку. Для AVR – через бесплатный консольный компилятор. Он называется avr-gcc.
- Загрузить прошивку в микроконтроллер. Для AVR используется консольная утилита avrdude.
Все эти задачи Arduino решает через встроенную IDE. Она включает в себя текстовый редактор, который умеет компилировать и загружать код. В IDE поддерживается менеджер библиотек и неофициальные платы. Весь процесс прошивки сведется к одному клику по кнопке «Загрузить». Никаких дополнительных настроек не нужно.
Первый проект
Писать на Ардуино можно через уроки программирования для чайников. Чтобы лучше изучить выбранное направление, обучение лучше начать с наглядного примера.
Это первое устройство на базе Arduino. Тактовая кнопка и светодиод подключаются к микроконтроллеру:
Чтобы схема работала, необходимо написать скетч на компьютере в текстовом редакторе или в специализированной ID. Вот его пример. Здесь при нажатии на кнопку светодиод загорается, а при повторной операции – гаснет. Код соответствующего скетча:
Здесь добавлена дополнительная команда. Она называется debounse. Отвечает за подавление дребезга контактов.
Чтобы лучше разбираться в программировании рассматриваемого микроконтроллера, рекомендуется пройти какой-нибудь специализированный курс, коих в сети можно встретить огромное количество.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!