KEEN SIDE успешно заменяет аналогичные продукты таких известных брендов, как Phoenix Contact, Weidmueller, Degson, Winstar, Hsuan Mao, KLS, G-NOR, Mean Well и др.
РадиоЛоцман - Все об электронике

От прототипа до продукта: Arduino для профессионалов

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

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

Аппаратная платформа Arduino

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

Одним из самых любимых моих шилдов является показанный на Рисунке 1 Sparkfun weather. Он предоставляет собой набор аналоговых и цифровых датчиков, которые идеально подходят для изучения на курсах по встраиваемым системам. Но если вам потребуется другое, то быстрый поиск на сайте практически любого поставщика электроники покажет десятки коммерчески доступных шилдов Arduino всех видов. Шилды Arduino, как правило, недороги и стоят менее $50, в зависимости от набора датчиков и других компонентов.

От прототипа до продукта: Arduino для профессионалов - Шилд Sparkfun Weather
Рисунок 1. Шилд Sparkfun Weather.

Профессиональные разработчики могут также эффективно использовать аппаратную платформу Arduino для взаимодействия с представляющими интерес коммерческими устройствами. С помощью доступных шилдов с CAN, SPI, RS-485, Ethernet и другими интерфейсами, можно выполнять быстрое прототипирование для проверки концепций или создания демонстрационных версий. За несколько сотен долларов разработчик легко может собрать законченный аппаратный образ предлагаемой встраиваемой системы и написать какой-нибудь «черновой код», чтобы заставить его работать.

За последние годы аппаратный интерфейс Arduino немного изменился, и теперь он представлен последней версией, основанной на расположении выводов UNO R3. Стандартный интерфейс состоит из шести аналоговых входов, четырнадцати цифровых входов/выходов, выделенного канала I2C, а также различных шин питания и опорных напряжений. Пример расположения выводов UNO R3 можно найти на Рисунке 2.

Стандартное расположение выводов Arduino Uno R3
Рисунок 2. Стандартное расположение выводов Arduino Uno R3.

Интерфейс шилдов Arduino разработан для недорогих микроконтроллеров с небольшим количеством выводов, что, возможно, будет проблемой для профессиональных разработчиков встраиваемых систем, нуждающихся в чем-то большем. Производители микроконтроллеров пытались решить эту проблему, создавая отладочные платы для своих более мощных процессоров, повторяя при этом контуры и расположение выводов шилдов Arduino. Затем для дополнительной функциональности они расширили разъемы. Расширяя свои разъемы таким же образом, разработчики могут создавать собственные шилды для этих усовершенствованных отладочных плат, в которых используются дополнительные функциональные возможности. В то же время, они могут приобретать готовые шилды Arduino, сохраняющие совместимость с отладочной платой. Яркими примерами того, как производители микроконтроллеров используют интерфейс шилдов Arduino, а затем расширяют его возможности, являются микросхемы FRDM-26Z и FRDM-64F компании NXP. (Есть много других примеров, просто наберите предпочитаемую вами компанию и посмотрите ее веб-сайт).

Программная платформа Arduino

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

Первым делом разработчик, просматривающий сайт Arduino, обнаружит, что когда речь заходит о программном обеспечении, здесь используется очень странный язык. Для широкой публики компания Arduino изобрела концепцию, известную как «скетчинг» (sketching), что для профессиональных разработчиков означает «написание кода». Скетч в действительности не представляет ничего большего, чем программный проект, но термин «sketch» (эскиз) произошел от того, что плата Arduino была первоначально разработана как инструмент быстрого прототипирования для людей, которые почти ничего не знают о программировании или электронике, например, для художников.

Далее будущий Arduino-разработчик обнаружит, что для программирования устройств Arduino используется язык Arduino. Никогда не слышали о языке программирования Arduino? Это потому, что он представляет собой не более чем C/C++. «Язык Arduino» – лишь просто совокупность библиотек, которые обеспечивают согласованный набор API-интерфейсов для управления периферией микроконтроллера.

Профессиональному разработчику библиотеки Arduino могут предоставить легкий путь к быстрому прототипированию. Например, вызываемые для управления цифровыми линиями/ввода вывода API-команды – это digitalWrite() и digitalRead(). Существует множество различных библиотечных функций для управления внутренней периферией микроконтроллера, такой как EEPROM, и внешними устройствами, например, контроллерами двигателей. Разработчики могут использовать эти библиотеки или написать свои собственные. Многие из библиотечных вызовов, как правило, неэффективны и не оптимизированы по скорости выполнения или размеру, так что при любых действиях в процессе разработки необходимо уделять особое внимание отклику встроенных библиотек на события реального времени.

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

Заключение

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

Перевод: Mikhail R по заказу РадиоЛоцман

На английском языке: Prototype to Production: Arduino for the Professional

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя