На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE
РадиоЛоцман - Все об электронике

Как разрабатывали и продвигали Arduino

Arduino

Журнал РАДИОЛОЦМАН, ноябрь 2011

David Kushner

IEEE Spectrum

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

История о том, как пятеро друзей создали маленькую плату, которая взяла штурмом мир электронных самоделок

Живописный город Ивреа, стоящий на реке Дора Балтея в северной Италии, известен своими королями-неудачниками. В 1002 году король Ардуин стал правителем страны, а через два года был свергнут королем Германии Генри II. Сегодня бар ди Ре Ардуино, расположенный на булыжной улице этого городка, назван в честь короля и стоит на том самом месте, где, как верят некоторые, родился король.

Бар является пивнушкой Массимо Банци (Massimo Banzi), итальянского соучредителя проекта в сфере электроники, который был назван в честь этого места. Ардуино – недорогая микроконтроллерная плата, которая позволяет даже новичку делать действительно потрясающие вещи. Вы можете подсоединить к Arduino различные типы датчиков, источников света, электромоторов и множество прочих устройств, и использовать легко осваиваемое программное обеспечение, чтобы запрограммировать поведение вашего творения. Вы можете создать интерактивный дисплей или движущегося робота, и затем поделиться вашим проектом с миром, поместив информацию о нем в сеть.

Выпущенный в 2005 году как скромный инструмент для студентов Банци в Институте проектирования взаимодействий города Ивреа (Interaction Design Institute Ivrea, IDII), Arduino породил международную революцию в сфере международных электронных самоделок. Вы можете купить эту плату всего за $30 или собрать ее с нуля. Все схемы и исходные коды доступны бесплатно на условиях открытых лицензий. В результате Arduino стал самой влиятельной аппаратной системой своего времени с открытым исходным кодом.

 Первая плата прототипа Arduino
Первая плата прототипа, сделанная в 2005 году, имела простейший дизайн и еще не называлась Arduino. Немного позже, в том же году, Массимо Банци придумал ей имя (Фото: Массимо Банци)

Маленькая печатная плата теперь является, своего рода, источником вдохновения для «художников» в электронике, людей, увлеченных электронными поделками, студентов и любого, у кого есть мечта собрать что-нибудь этакое. Во всем мире продано более 250,000 комплектов Arduino, и это не учитывая множества клонов. «Это позволило людям, делать вещи, которые они не сделали бы каким-либо иным способом» – говорит Дэвид А. Мелис (David A. Mellis), который прежде был студентом IDII до того, как выполнил квалификационную работу в Медиа лаборатории Массачусетского технического института, и теперь является ведущим разработчиком программного обеспечения для Arduino.

Ядро команды Arduino
Ядро команды Arduino (слева направо): Дэвид Куартилльз (David Cuartielles), Джанлука Мартино (Gianluca Martino), Том Иго (Tom Igoe), Дэвид Мелис (David Mellis), и Массимо Банци (Massimo Banzi) на конференции Maker Faire в Нью-Йорке (Фото: Рэнди Зильберман Клетт)

Сегодня имеется множество интересных разработок на базе Arduino, таких как алкотестеры, светодиодные кубы, системы домашней автоматизации, дисплеи отображения Twitter-сообщений и, даже, наборы для анализа ДНК. Уже появились целые клубы и сообщества любителей Arduino. Google недавно выпустил основанный на Arduino комплект разработчика для своего смартфона на базе Android. Как высказался на этот счет Дэйл Доэрти (Dale Dougherty), редактор и издатель журнала «Make», библии любителей самоделок, Arduino стал «мозгами создателей проектов».

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

Arduino Uno

В свою очередь, когда-то Arduino вырос из другой крупной проблемы – как научить студентов создавать электронные устройства, причем быстро. Это был 2002 год, и Банци, бородатый и добродушный разработчик программного обеспечения, был взят на работу в IDII в качестве доцента для продвижения новых способов разработки интерактивного проекта – новой области, также известной как физические вычисления. Но с урезанным бюджетом и ограниченным по времени доступом к лабораторной базе, его возможности использования необходимых приборов были небольшими.

Как и многие из его коллег, Банци полагался на BASIC Stamp, микроконтроллер, разработанный Калифорнийской компанией Parallax, который инженеры использовали в течение приблизительно десятилетия. Программируемый посредством языка BASIC, Stamp, в целом, представлял собой небольшую печатную плату с размещенными на ней источником питания, микроконтроллером, памятью и портами ввода/вывода для соединения с различной аппаратурой. Но у BASIC Stamp были две проблемы, которые обнаружил Банци – у него не хватало достаточной вычислительной мощности для некоторых задуманных его студентами проектов, и он был достаточно дорогим – плата с основными дополнениями могла стоить около $100. Кроме того, Банци нуждался в чем-то, что могло бы работать на компьютерах Macintosh, которые были практически у каждого разработчика в IDII. Что, если они сами смогли бы сделать плату, которая непосредственно удовлетворяла бы их потребностям?

У Банци был коллега из MIT, разработавший удобный язык программирования Processing. Processing быстро завоевывал популярность, поскольку позволял даже неопытным программистам создавать сложные, и в то же время красивые системы визуализации данных. Одной из причин его успеха была чрезвычайно удобная в процессе работы интегрированная среда разработки (IDE). Банци задался вопросом, смогли бы они разработать подобный программный инструментарий, чтобы программировать микроконтроллер, вместо того, чтобы рисовать графику на экране.

Студент, обучавшийся у Банци, Эрнандо Барраган (Hernando Barragán), сделал в этом направлении первые шаги. Он создал платформу разработки, названную Wiring, которая включала в себя как дружественную пользователю IDE, так и готовую к использованию плату. Это был многообещающий проект, который продолжает развиваться по сей день, но Банци уже задумал более крупный. Он хотел создать платформу, которая была бы еще проще, дешевле и легче в использовании.

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

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

Приступив к работе, группа разработчиков сразу задалась целью сделать устройство, цена которого была бы подходящей для студенческого кармана – $30. «Цена устройства должна быть эквивалентна стоимости обеда в пиццерии» – говорит Банци. Также они хотели сделать его необычным, в чем-то выделяющимся и классно смотрящимся для помешанных на электронике людей. В то время как обычные платы, чаще всего, имеют зеленый цвет, они решили сделать свою плату синей, там где другие производители экономят на количестве выводов печатной платы, они решили добавить их как можно больше. И в качестве последнего штриха они нанесли небольшую карту Италии на нижнюю сторону платы. «Здесь много проектных решений, которые выглядят, по меньшей мере, странно для настоящего инженера» – говорит со смехом Банци – «Но я не настоящий инженер, поэтому я избрал такой глупый путь».

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

Продукт, который создала команда, состоял из дешевых компонентов, которые могли быть легко найдены на рынке электроники, например, микроконтроллер ATmega328. Но ключевое решение состояло в том, чтобы гарантировать работу устройства по принципу plug-and-play: чтобы пользователь, достав плату из коробки и подключив к компьютеру, мог немедленно приступить к работе. Такие платформы как BASIC Stamp для этих целей требовали от пользователя наличия еще полдюжины компонентов, которые включались в общую стоимость продукта, в то время как устройство команды Банци нуждалось лишь USB-кабеле, посредством которого оно соединялось с компьютером – Mac или PC.

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

И вскоре команда Банци проверила это утверждение на практике. Они вручили 300 пустых печатных плат студентам IDII с простым наставлением: ищите инструкции в интернете, разработайте свою собственную плату, и используйте ее для чего-нибудь. Одним из первых проектов был самодельный будильник, который свисал с потолка на кабеле. Суть идеи заключалась в том, что всякий раз, при нажатии кнопки сброса сигнала пробуждения, будильник поднимался по кабелю все выше, и так до тех пор, пока вы не встанете окончательно.

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

Слово «Arduino» быстро распространилось в Интернете без какой-либо рекламы и привлечения средств маркетинга. Вначале это привлекло внимание Тома Иго, профессора в области физических вычислений, занятого по программе телекоммуникационного взаимодействия в Нью-йоркском университете. Сегодня он также входит в ядро команды Arduino. Иго обучал студентов нетехнических специальностей, используя BASIC Stamp, но был впечатлен возможностями Arduino. «Они предполагали, что вы не знаете электронику и программирование, что вы не хотите разрабатывать целое устройство, но, в то же время, смогли бы запрограммировать простую микросхему. Вы просто можете открыть коробку с платой, нажать кнопку загрузки, и она заработает» – говорит Иго. «Кроме того, я был поражен ее стоимостью в $30, которая делает плату доступной. Для меня это было одним из ключевых факторов».

Своим успехом Arduino во многом обязан существовавшим до него Processing и Wiring. От этих проектов Arduino унаследовал одну сильную черту – удобную для пользователя среду разработки. До появления Arduino программирование микроконтроллеров сопровождалось сложным и рутинным обучением. С Arduino даже те, кто не имел опыта работы с электронными устройствами, теперь могут прикоснуться к ранее недоступному для них миру электроники. Теперь новичкам не нужно тратить много времени на изучение соответствующего материала, они могут быстро разработать прототип, который будет полноценно рабочим. Это мощный шаг вперед, в то время как некоторые довольно популярные гаджеты представляют собой «черные ящики», закрытые и защищенные патентами.

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

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

Для того, чтобы поддерживать распространение Arduino, команда Банци рассматривает способы более глубокой интеграции своей платформы в систему образования, от начальных школ до колледжей. Несколько университетов, включая Карнеги Меллона и Стэнфорд, уже используют Arduino. Меллис изучал, как студенты и дилетанты постигают электронику на семинарах в медиа лаборатории Массачусетского института. Меллис приглашает 8 – 10 человек в лабораторию, где им дают задачу, которую необходимо выполнить в течение дня. Среди проектов были такие, как разработка спикеров для iPod, FM-радио и компьютерной мыши с использованием тех же компонентов, которые используются в Arduino.

Но распространение идеологии Arduino – это лишь часть проблемы. Команда не должна отставать от современных требований, предъявляемых к их платам. И теперь, фактически, платформа Arduino представлена не одной платой, а целым семейством. В дополнение к оригинальному проекту, названному Arduino Uno, новые модели, имеющие более мощные средства на плате, носят название Arduino Mega, более компактные называются Arduino Nano, в водонепроницаемом корпусе – LilyPad Arduino, и недавно выпущенная модель с поддержкой сетевого подключения – Arduino Ethernet.

Arduino также породил целую отрасль домашнего производства для любителей электроники. В настоящее время по всему миру насчитывается более двухсот дистрибьюторов продукции Arduino, от крупных компаний, таких как SparkFun Electronics или in Boulder, Colo., до компаний семейного бизнеса, работающих на местный рынок. Банци недавно узнал о человеке из Португалии, который уволился из телефонной компании для того, чтобы продавать продукцию Arduino прямо из дома. Член команды Arduino Джанлука Мартино, ответственный за производство и распространение, говорит, что они работают в сверхурочное время, чтобы удовлетворить потребности развивающихся рынков Китая, Индии и Южной Америки. По его словам, в настоящее время, около 80% продаж Arduino приходится на Северную Америку и Европу, тогда как остальные 20% приходятся на весь остальной мир.

Поскольку команда не может позволить себе снабжать рынки сотнями тысяч плат, ей приходится производить от 100 до 3000 устройств в день на различных фабриках близ их родного города Ивреа. Для каждой из плат команда разработала систему контроля выводов, количество которых для модели Uno, например, равно 26: 14 цифровых входов/выходов, 6 аналоговых входов, и еще 6 для подключения питания. Это большая проблема для обеспечения требуемого качества, с учетом того, что необходимо производить и проверять тысячи модулей в день. Но плата Arduino достаточно дешева, чтобы позволить команде держать обещание заменять любую плату, которая отказывается работать. По словам Мартино, доля отказов ниже 1 процента.

Manufacturing of Arduino
Команда Arduino заключила контракт с компанией, которая способна производить от 100 до 3000 плат в день на фабрике неподалеку от итальянского городка Ивреа (Фото: Массимо Банци)

Команда Arduino зарабатывает уже достаточно, чтобы содержать двух ее сотрудников в качестве постоянных работников, и уже планирует увеличение возможностей и производительности своей платы. На состоявшейся в сентябре в Нью-Йорке конференции Maker Faire, спонсируемой журналом Make, команда представила свою первую плату с 32-разрядным ARM-процессором. Это будет ответом на требования поддержки более мощной периферии. Например, MakerBot Thing-O-Matic является набором для изготовления 3-D принтера на базе Arduino, но с использованием более быстрого процессора он получит больше преимуществ для решения более сложных задач.

Очередное ускорение проект получил в 2011 году, когда Google выпустил основанный на Arduino комплект разработчика для своей системы Android. Android ADK (вспомогательный комплект разработчика) от Google является платформой, позволяющей телефону с ОС Android взаимодействовать с двигателями, датчиками, и другими устройствами. Вы можете создать приложение для Android, которое использует камеру телефона, датчики движения, сенсорный экран, и интернет-связь, чтобы управлять, например, дисплеем или роботом. Энтузиасты говорят, что дополнительная поддержка Android открывает еще большие возможности для проектов Arduino.

Manufacturing of Arduino
Недавно команда представила модель Arduino Due, плату с 32-разрядным процессором Cortex-M3 ARM, который предоставляет больше вычислительной мощности для разработчиков, занятых сложными проектами

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

Сейчас они наслаждаются своей популярностью. Поклонники приезжают издалека лишь для того, чтобы выпить в пабе городка Ивреа, в честь которого феномен получил название Arduino. Банци говорит: «Люди приходят в бар и заявляют: «Мы здесь из-за платы Arduino». Но тут имеется одна проблемка. Бармены не знают что такое плата Arduino».

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

На английском языке: The Making of Arduino

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