Аппаратная платформа Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств, которая предназначена как для новичков, так и для профессионалов.
Введение
Формально Arduino является торговой маркой, под которой осуществляется выпуск официальных устройств на платах и программ. Наименование Arduino произошло от одноименного названия маленького кафе в Италии, где проектировщики этой платформы любили посидеть в свободное время.
С позиций применения, Arduino выступает как платформа, предназначенная для проектирования электронных устройств, вернее их прототипов и макетов. Эта платформа имеет в своем составе аппаратное обеспечение в виде плат, и программное обеспечение в виде среды разработки.
Семейство Arduino содержит несколько моделей, так называемых отладочных плат. Отладочная плата является печатной платой, на которой стоит микроконтроллер, предназначенный для программирования. В младших платах Arduino применяются микроконтроллеры AVR (UNO, Nano, Mega, Leonardo), в последних моделях установлены более мощные ARM Cortex, предназначенные для реализации более сложных проектов.
Аппаратная платформа Arduino
Arduino выступает как открытая платформа, поэтому модельный ряд непрерывно может пополняться неофициальными платами от других производителей, которые называются «Arduino-совместимыми». С ними выполнять необходимые действия в официальной программе Arduino IDE, формировать коды на том же языке с той же совокупностью команд и даже применять существующие библиотеки.
Далее следует рассмотреть состав платформы и набор решаемых задач. Для того чтобы собрать электронное устройство на основе микроконтроллера, следует выполнить следующие действия:
- Собрать печатную плату, поскольку микроконтроллеру как небольшой микросхеме требуется определенная поддержка.
- Создать схему тактирования микроконтроллера, как и в обычном компьютере, то есть, выполнить подключение тактового генератора.
- Осуществить добавление необходимой обвязки, а именно, фильтра по питанию, кнопки перезагрузки, отдельным микроконтроллерам требуется подключение резисторов к определенным контактам, и так далее.
- Выполнить подключение остальных компонентов проекта, то есть, расположить их на плате или предусмотреть штекеры.
- Реализовать стабильное питание схемы, вероятно даже в расширенном диапазоне питающего напряжения.
- Для некоторых микроконтроллеров может потребоваться «настройка» при помощи программатора.
- Выполнить загрузку прошивки при помощи программатора.
Для того чтобы упростить этот набор процедур, специалисты Arduino просто объединили все это на единой плате, то есть, уже прошедший настройку микроконтроллер и все, что требуется для его работы. А именно это стабилизатор напряжения, и, самое основное, это программатор, который тоже располагается на плате, и, для того чтобы загрузить прошивку, нужно просто подсоединить USB кабель.
Ножки микроконтроллера выводятся на рейку с пинами, что предоставляет возможность работы с платой на макетной плате, а также возможность быстрого подключения к ней любых других компонентов. То есть, первоначально достаточно сложная задача была упрощена до электронного «конструктора», как раз по этой причине Arduino приобрели такую популярность.
А, для того чтобы осуществить программирование микроконтроллера, следует выполнить следующие операции:
- Сформировать текст прошивки, что можно сделать с помощью какого-либо текстового редактора.
- Осуществить компиляцию прошивки, что, например, для AVR можно сделать с помощью бесплатного консольного компилятора avr-gcc.
- Выполнить загрузку прошивки в микроконтроллер, что для того же AVR может быть сделано с помощью консольной утилиты avrdude.
Для выполнения этих операций у Arduino имеется своя собственная IDE (Integrated Development Environment), то есть, интегрированная среда разработки Arduino IDE. Она по сути является текстовым редактором, но который способен выполнять компиляцию и загрузку кода. А кроме того имеется менеджер библиотек и поддержка неофициальных плат.
Это означает, что вся процедура прошивки может быть сведена практически к одному щелчку по клавише «загрузить», то есть, не нужны никакие дополнительные настройки, м вообще ничего лишнего. К программной составляющей также могут быть отнесены:
- Язык программирования Arduino, который по существу представляет собой просто встроенный библиотечный набор. У каждой Arduino-совместимой платы имеется одинаковый функциональный набор, поэтому проект может быть практически без всяких модификаций перенесен с одной платы на другую.
- Набор библиотек, которые во много раз способны упростить операции с модулями и прочим оборудованием. Для среды Arduino известны примерно пять тысяч библиотек, которые способны охватить все модули Arduino и некоторые микросхемы. Также в наборе библиотек могут быть разные специальные алгоритмы обработки информационных данных и другие полезные программы.
Простота и удобство проектирования вместе с огромнейшим количеством плат на разных микроконтроллерах, а также библиотечный набор на любые возможные случаи сделали Arduino наиболее простой и самой удобной платформой для изучения робототехники и формирования прототипов электронных устройств.
Язык программирования Arduino многие специалисты называют упрощенной версией C++. Но на самом деле язык Arduino является реально обычным C++ (си-плюс-плюс), со всем имеющемся в нем синтаксисом и возможностями семнадцатой версии C++. Однако следует все-таки отметить следующие моменты:
- Среда Arduino IDE способна немного изменить стандартный вид программы на C++ и реально способна упростить понимание для новичков.
- Arduino IDE способна автоматически подключить в код библиотеку Arduino.h, которая содержит базовый функциональный набор для работы с микроконтроллером, а также некоторые константы и математические функции.