Найти в Дзене

Введение в ардуино

Что такое Arduino? Формально это торговая марка, под которой выпускаются официальные платы и программы. Название Arduino идёт от одноименного названия забегаловки в Италии, где создатели любили пропустить по рюмочке. С точки зрения использования, Arduino – это платформа для разработки электронных устройств, точнее их прототипов и макетов. Включает в себя железо (платы) и софт (среда разработки).

Семейство Arduino – несколько моделей так называемых отладочных плат. Отладочная плата представляет собой как ни странно печатную плату, на которой стоит микроконтроллер (далее МК) – та самая штука, которую мы будем программировать. В младших платах Arduino используются микроконтроллеры AVR (UNO, Nano, Mega, Leonardo), в современных моделях стоят более мощные ARM Cortex для более серьёзных проектов.

Ардуино является открытой платформой, поэтому модельный ряд постоянно пополняется неофициальными платами от других производителей, такие платы называют “Arduino-совместимыми”. С ними можно работать в официальной программе Arduino IDE, писать на том же языке с тем же набором команд и даже использовать те же библиотеки! В качестве примера: это платы Teensy, платы на базе МК esp32 и esp8266 (Wemos, NodeMCU), различных китайских клонов и так далее.

Рассмотрим, из чего состоит платформа и какие задачи она решает.

Железо (аппаратная часть)

Как собрать электронное устройство на базе МК? Нужно:

Сделать печатную плату, ибо сам МК очень маленький и паять его неудобно.

Обеспечить тактирование МК (те самые мегагерцы, как в обычном компьютере) – подключить тактовый генератор.

Добавить необходимую обвязку: фильтры по питанию, кнопку перезагрузки, некоторые МК требуют подключения резисторов к определённым пинам, и так далее.

Подключить остальные компоненты проекта: расположить их на плате или предусмотреть штекеры.

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

Некоторые МК нужно “настроить” при помощи программатора.

Загрузить прошивку при помощи программатора.

Звучит сложно, именно поэтому ребята из Arduino решили объединить всё это на одной плате: уже настроенный микроконтроллер и всё необходимое для его работы, стабилизатор напряжения, и самое главное – программатор, он тоже расположен на плате и для загрузки прошивки достаточно просто подключить USB кабель! Ноги МК выведены на рейку с пинами (стандартный шаг 2.54 мм), что позволяет работать с платой на брэдборде (макетная плата) и быстро подключать к ней любые компоненты. Изначально сложную задачу упростили до электронного “конструктора”, именно поэтому Arduino стали настолько популярны.

Софт (программная часть)

Как запрограммировать МК? Нужно:

Написать прошивку (при помощи любого текстового редактора).

Скомпилировать прошивку (для AVR – при помощи бесплатного консольного компилятора avr-gcc).

Загрузить прошивку в МК (для AVR – при помощи консольной утилиты avrdude).

Для этого у Arduino есть своя IDE (Integrated Development Environment) – интегрированная среда разработки Arduino IDE. Она представляет собой текстовый редактор, умеет компилировать и загружать код. А также менеджер библиотек и поддержку неофициальных плат. Таким образом весь процесс прошивки сводится к одному щелчку по кнопке загрузить: никаких настроек, никаких плясок с бубном, ничего лишнего. Подробнее об Arduino IDE мы поговорим в отдельном уроке.

Также к программной части можно отнести:

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

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

Простота и удобство разработки в совокупности с огромным множеством плат на разных МК и набором библиотек на все случаи жизни сделало Arduino самой простой и удобной платформой для изучения робототехники и создания прототипов электронных устройств.

В следующей статье я расскажу о программировании в целом...