В какой стране была создана программа arduino
Перейти к содержимому

В какой стране была создана программа arduino

  • автор:

Я презираю Arduino

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

Arduino

Я радуюсь, когда будущие инженеры создают свои устройства и расстраиваюсь, когда слышу, как кто-то говорит об использовании Arduino в них.

Это не первая моя статья на эту тему: у меня возникает желание написать такую сразу после прочтения фразы о безграничных возможностях платформы в DIY-топике на Хабре. У меня возникает желание написать об истинной цене деталей после прочтения статьи о покупке конструктора за $200 почти ничего не содержащего (уж простите, запамятовал где видел).

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

Благодаря Arduino увидело свет множество проектов, которые пылились в банках памяти мозга их авторов.

Честно признаюсь, я иногда и сам пользовался кодом, написанным для Ардуино (к примеру, фирма InvenSense производит модуль MPU6050, запустить нормально который получилось только у Jeff Rowberg).
Презираю я тех людей, которые, открыв для себя мир микроконтроллеров, не потрудились осмотреться в нём и тех, кто нагло наживается на подобных людях.

К нам в лабораторию заходил (и работал с нами) студент кафедры информационных технологий — поклонник Arduino. Человек тратил огромные деньги на покупку самих *дуин и модулей к ним. Я не без сожаления наблюдал, как будущий (я всё же надеюсь) создатель роботизированных систем не мог запустить ШИМ нужной частоты, хотя «лётных» часов работы с платформой он намотал немало.

Так вот, этот студент показал мне «измеритель уровня заряда батареи», или как-то так. Я специально нашёл его сейчас на ebay, где он называется «High Sensitivity Voltage Sensor Module -Arduino Compatible» и продаётся за $8.58. Вот он, на рисунке:

High Sensitivity Voltage Sensor Module

Кстати, центральный провод, который «+» — он просто висит в воздухе – всё сделано для максимального удобного подключения простого делителя напряжения, красная цена которому 2 цента за резисторы и 20 центов за разьём – это если в розницу покупать.

  1. Библиотеки. Я люблю библиотеки – я пишу свои классы и функции, или использую грамотно написанный код моих коллег – это существенно ускоряет мою работу. Библиотеки Arduino просты в освоении, но на этом их плюсы заканчиваются. К примеру, вы можете всю жизнь формировать задержки с помощью delay-функций и не иметь простейшего представления, как работает таймер на микроконтроллере — из таких минусов состоят все библиотеки Arduino.
    Я имею в виду то, что таймер и другая периферия в микроконтроллере реализована так, чтоб компенсировать его однопоточность прерываниями. А люди тратят процессорное время на декрементацию неиспользуемой переменной.
    Деление и использование чисел с плавающей точкой на восьмибитных контроллерах AVR – это то, к чему надо прибегать только в самых крайних случаях, когда без этого обойтись никак нельзя.
    Строка в последовательный порт не посылается с помощью конечного автомата с множеством пустых циклов ожидания флага опустошения буфера в основном теле программы – это опять же пустое расходование ресурсов – ведь есть прерывания.
    Да, в Arduino можно включить прерывания, но кто это делает?
    На Хабре есть хорошая статья о том, как ускорить работу библиотек Arduino. Меня она, если честно, поразила тем, что даже работники оборонной промышленности скатились до работы с платформой, но дать общие понятия о скорости работы этих библиотек она может.
  2. Среда разработки. Микроконтроллеры можно программировать в IAR, Eclipse, Keil и других, менее известных средах.

IAR EWB

А IDE Arduino является кроссплатформенным и с подсветкой синтаксиса.

Arduino IDE

На Hobbyking, где любителей различных моделизмов обманывают так-же как и в других магазинах любителей ардуино, продавался как-то обычный конденсатор, под видом какого-то фильтра. Не смог его сейчас уже найти. С трёхпиновым разьёмом, естественно. Всего за 3 доллара.

Arduino Compatible Mini Motor Speed counter Sensor AVR PIC – заменяется светодиодом и фототранзистором, подключающимися к центральному контроллеру и двадцатью строчками кода. Он не стоит 7.98.

2*4 Matrix Keyboard Push Buttons AVR ARM Arduino Compatible – это просто кнопки, которые можно купить по цене 10 штук за доллар.

Есть один девайс в мире, который я ненавижу больше чем Arduino – это mbed. Его разработчики взяли контроллер LPC1768 (есть ещё на LPC11U24), припаяли его на плату с двумя стабилизаторами (о качестве разводки платы я говорить не буду), вывели половину ног наружу (вторая половина никуда не подключена, что очень раздражает), написали онлайн недо-IDE (впрочем, чуть лучше, чем у Arduino, хоть и требует подключения к интернету) и продают его за $64. Простите, но это уже совсем.

  1. На Хабре был цикл статей «STM32F1xx — лечимся от ардуинозависимости вместе» — статьи хорошие и достаточно понятные, жаль, что автор забросил написание новых статей.
  2. Всех новичков посылают на easyelectronics.ru, где товарищ DIHALT публиковал учебный курс по микроконтроллерам AVR.
  3. «Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» С. Ф. Баррет, Д. Дж. Пак – супер книга, помогает понять основы программирования на C для микроконтроллеров. Единственная проблема – вы вряд ли достанете микроконтроллеры Freescale, поэтому примеры придётся самостоятельно портировать примеры на AVR, PIC, MSP430 или любой другой контроллер.
  4. Перед покупкой чего бы то не было для своих устройств, почитайте об этом хотя-бы в Википедии — возможно эту же деталь можно купить дешевле, если назвать её по-другому.

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

  • arduino
  • микроконтроллеры
  • электроника
  • для начинающих
  • ненависть

Знакомство с Arduino

Торжественно открываю новый блог на Хабре, посвящённый Arduino! Блог об универсальном opensource-микроконтроллере Arduino, который будет интересен всем любителям микроэлектроники, самодельных гаджетов и всем, кто не боится взять в руки паяльник.

Внешний вид платы Arduino Diecimila

Arduino представляет собой линейку электронных блоков-плат, которые можно подключать к компьютеру по USB, а в качестве периферии — любые устройства от светодиодов до механизмов радиуоправляемых моделей и роботов. Программы для него пишутся на простом и интуитивно понятном си-подобном языке Wiring (c возможностью подключения сторонних библиотек на C/C++, например, для управления LCD-дисплеями или двигателями), компилируются и загружаются в устройство одной кнопкой, после чего вы тут же получаете работающий автономный гаджет. Никакого ассемблера, никаких лишних проводов и дорогущих деталей и программаторов — чистое творчество, включай и работай!

Применение

После короткого рассказа друзьям и знакомым про Arduino («это типа электронного конструктора, микро-ЭВМ, в который можно загрузить любую программу и получить любое другое устройство») самый часто задаваемый вопрос «А зачем это всё?» или «Какая мне от этого выгода?» Скучные люди, не правда ли? Неужели среди ваших знакомых нет ни одного радиолюбителя, а может вы и сами радиолюбитель?
Применение Arduino очень простое — не забавы ради, а развития мозга для. Интересно же линуксоидам ковыряться в коде ядра? Какая от этого польза? Почему бы вам не заняться «железным» (в противовес «софтовому») творчеством? Вот прямо сейчас рядом со мной сидит коллега-дизайнер и разбирается… с нейронными сетями. В общем что говорить, забыт дух технического творчества, забыты радиокружки и авиамодельные клубы. Все только сидят у своих компьютеров и сделать ничего путного в железе, кроме как воткнуть вилку в розетку, не могут 🙂 Соберите свой веб-сервер, цветомузыкальную установку или прикольного робота!
Сообщество любителей Arduino уже знает об успешных примерах: GPS-трекер с записью на SD-карту, простой аудиоплеер, Twitter-дисплей, электронные игры с дисплеем и тачскрином… Попробуйте купить радиодеталей и сделать что-то своё! Есть даже готовый набор для создания четырёхъядерного Arduino-кластера.

Технические характеристики

Arduino Diecimila представляет собой небольшую электронную плату (далее просто плата) ядром которой является микроконтроллер ATmega168. На плате есть: 14 цифровых входов/выходов, 6 из которых могут работать в режиме ШИМ (PWM) (а следовательно управлять аналоговыми устройствами вроде двигателей и передавать двоичные данные), 6 аналоговых входов (исходной информацией служат не логические 0/1, а значение напряжения), тактовый генератор на 16 МГц, разъёмы питания и USB, ICSP-порт (что-то вроде последовательного интерфейса для цифровых устройств), несколько контрольных светодиодов и кнопка сброса.
Этого вполне достаточно, чтобы подключить плату к USB-порту компьютера, установить нужный софт и начать программировать.

  • Микроконтроллер: ATmega168
  • Рабочее напряжение: 5 В
  • Входное напряжение (рекомендуемое): 7-12 В
  • Входное напряжение (пределы): 6-20 В
  • Цифровые порты ввода/вывода: 14 портов (из них 6 с ШИМ-сигналом)
  • Аналоговые порты ввода: 6 портов
  • Ток для портов: 40 мА
  • Ток для 3.3В источника: 50 мА
  • ППЗУ (Flash Memory): 16 KB (из них 2 Кб используются загрузчиком)
  • ОЗУ (SRAM): 1 Кб
  • ПЗУ (EEPROM): 512 байт
  • Тактовая частота: 16 МГц

Питание
Питание платы осуществляется двумя способами: по кабелю USB (при этом никаких других ухищрений делать не нужно, используется в процессе отладки), либо по специальному разъёму вроде того, что у ноутбуков. В радиомагазине можно купить такой разъём и присоединить к нему аккумулятор или 9-тивольтовую батарейку типа «Крона». Источники питания можно менять перемычкой на плате.

Преимущества и недостатки

  • Цена. В Москве Arduino Diecimila можно купить меньше чем за 1000 руб. При этом вы покупаете законченное (ну почти) устройство, не требующее дополнительного оборудования, такого, как дорогостоящие программаторы и отладочные стенды, и не требует платного софта.
  • Кроссплатформенность. Программное обеспечение Arduino работает на Windows, Macintosh OS X, Linux и других операционных системах, поскольку является открытым и работает на Java. Большинство микроконтроллерных систем ограничиваются Windows.
  • Простая среда программирования. Программная оболочка является простой в использовании для новичков, но достаточно гибкой для продвинутых пользователей, чтобы быстро достичь нужного результата. Особенно это удобно в образовательной среде, где студенты могут с лёгкостью разобраться с платформой, а преподаватели — разработать учебный курс и задания.
  • Открытый исходный код. Язык может быть расширен с помощью C++ библиотек, более продвинутые специалисты могут создать свой собственный инструментарий для Arduino на основе компилятора AVR C.
  • Открытые спецификации и схемы оборудования. Arduino основан на микроконтроллерах Atmel ATMEGA8 и ATMEGA168. Схемы модулей опубликованы под лицензией Creative Commons, поэтому опытные схемотехники могут создать свою собственную версию модуля для своих нужд. Даже сравнительно неопытные пользователи могут сделать макетную версию модуля, чтобы понять, каким образом он работает и сэкономить деньги.

Ссылки:

  1. Официальная поддержка Arduino
  2. Википедия
  3. Проекты на платформе Arduino
  4. Интернет-магазин наборов для сборки на платформе Arduino
  5. Купить контроллер Arduino в Москве

Постскриптум

В дальнейшем я постараюсь публиковать и другие заметки, расскажу, как собрать простые устройства при помощи Arduino и радиодеталей, купленных в магазине, а также опубликую демо-ролики готовых устройств. Ещё мне очень хотелось бы услышать мнение хабралюдей о данном явлении, узнать, о чём вы хотели бы почитать в следующих постах, перевести для данного блога ряд статей и быть может собрать небольшое русскоязычное сообщество фанатов Arduino. Да, и в связи с отсутствием нормального интернета дома не смогу ответить всем желающим сразу… приношу извинения.

  • arduino
  • микроконтроллеры
  • радиотехника
  • электроника

Что такое Arduino?

Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей. Программная часть состоит из бесплатной программной оболочки Arduino IDE для написания программ, их компиляции и программирования микроконтроллеров.

История создания Arduino

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

Изначально команда преподавателей, разработавших ардуино, открыли сайт arduino.cc. Но из-за разногласий, в коллективе произошел раскол в 2008 году. Отделившаяся часть создала другой сайт arduino.org. Это повлекло путаницу, из-за одинаковых названий для разных Ардуинок, программ и прошивок. Только в 2017 году конфликт разрешился полностью. Так остался только один официальный сайт arduino.cc. Идея стала иметь огромный успех не только в студенческой среде, но и среди обычных любителей электроники и проект Arduino начал успешно развиваться. Благодаря своей простой и открытой архитектуре производить данные контроллеры, дополнять модельный ряд, писать программы может кто угодно. Чем и воспользовались китайские производители электроники, которые за короткое время наводнили китайский и не только рынок, дешёвыми аналогами плат контроллеров Ардуино. Теперь вы с легкостью можете купить великое множество китайских аналогов Ардуино на всем известной торговой площадке AliExpress.

Что представляет из себя плата Arduino?

Основой контроллеров Arduino является микроконтроллер фирмы Atmel Atmega328-P, который представляет собой 8-ми битный микропроцессор с памятью и различными периферийными устройствами, выполненной на одной микросхеме. По факту это однокристальный микрокомпьютер, который способен выполнять различные задачи. Разные модели из семейства Arduino оснащены разными микроконтроллерами, более и менее мощными, и функциональными. На данный момент доступно более 20 основных официальных модификаций плат контроллеров Ардуино, таких как Arduino UNO, Arduino Nano, Arduino Mega, Arduino Micro и т.д. Весь модельный ряд можно посмотреть на официальном сайте проекта arduino.cc.

Для подключения и взаимодействия с любым электронным компонентом (светодиоды, моторы, датчики и т.д.) на плате контроллера используются так называемые порты ввода/вывода контроллера. Еще их часто называют пинами (от английского слова pin — вывод). Порты Ardiono бывают цифровые, аналоговые или цифро-аналоговые интерфейсы, имеющие свою собственную функцию, которая заключается во взаимодействии с другими электронными устройствами. Например, ваша плата может взаимодействовать с цифровым датчиком температуры и влажности или, например, с аналоговым датчиком температуры.

Для управления используется специальный язык программирования, который очень похож на язык программирования С++. Для упрощения процесса программирования разработана специальная программная среда Arduino IDE. В её состав входят десятки примеров кода, которые помогут вам быстро изучить язык программирования. Что делает Arduino IDE? Она преобразует ваш код в машинный язык, который будет понятен контроллеру и который будет автоматчики загружаться в память вашей платы Arduino и немедленно выполняться. По сути Arduino IDE очень сильно облегчает весь процесс разработки программ для Ардуино. Интерфейс программы очень минималистичен и позволит вам сразу разобраться что за чем. Притом есть еще один большой плюс Arduino IDE совершенно бесплатная и вы ее можете скачать на официальном сайте arduino.cc.

C чем может взаимодействовать Ардуино?

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

  • Датчики температуры, влажности, освещённости, движения и др;
  • ЖК дисплеи, индикаторы, светодиоды;
  • Реле, кнопки, элементы коммутации;
  • Bluetooth, WiFi и Ethernet устройства;
  • Дальномеры;
  • Считыватели SD-карт;
  • GPS и GSM модули;
  • и многое другое.

Почему стоит выбрать Arduino?

Ардуино имеет ряд преимуществ:

  • Не нужен программатор;
  • Не нужны особо глубокие познания в программирования микроконтроллеров;
  • Проект ардуино полностью открытый;
  • Популярная платформа — куча сайтов с библиотеками, схемами и проектами
  • Стандартизация расположения выводов — это делает её привлекательной для производителей – появляются всё новые шилды
  • Кроссплатформенная среда разработки

C чего начать?

Большинство людей начинают свое знакомство с покупки платы контроллера Arduino UNO. Это самая распространённая плата для начинающих. Еще вам понадобится набор макетных плат. А также набор соединительных проводов, для того что бы соединять плату контроллера и внешние устройства. Так же советую сразу купить периферию для изучения всех возможностей Arduino. Для начала вам понадобятся несколько светодиодов, пассивная пищалка, самый простой датчик температуры и влажности и потенциометр. Этого набора вам будет достаточно для старта изучения Ардуино. В дальнейшем, если занятия действительно увлекут и будет желание продолжить эксперименты, то список оборудования можно расширить до покупки дисплеев, двигателей, модулей связи и дополнительных плат расширения (шилдов).

Где купить плату Arduino?

Купить плату можно без труда во многих интернет-магазинах, специализирующихся на продаже Ардуино. Во многих магазинах есть готовые наборы для начинающих, которые позволят вам быстро начать работать с Арудино. Так же вы можете купить платы в Китае через всем известную торговую площадку AliExpress. На данной площадке присутствует большой выбор всевозможных плат-аналогов. При этом надо будет учитывать, что доставка в страны СНГ будет довольно дорогой, а купленная там плата может быть не совсем аналогичной оригинальной плате Ардуино!

История создания Arduino

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

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

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

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

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

Команда создателей Arduino
Ядро команды Arduino (слева направо): Дэвид Куар-тилльз (David Cuartielles), Джанлука Мартино(Gianluka 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 Barragan), сделал первые шаги в этом направлении. Он создал платформу разработки, названную 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, команда Банци рассматривает способы более глубокой интеграции своей платформы в систему образования, от начальных школ до колледжей. Несколько университетов, включая Карнеги Меллона и Стэнфорд, уже используют Ардуино. Меллис изучал как студенты и дилетанты постигают электронику на семинарах в медиа лаборатории Массачусетского института. Меллис приглашает 8 — 10 человек в лабораторию, где им дают задачу, которую необходимо выполнить в течение дня. Среди проектов были такие, как разработка спикеров для iPod, FM-радио и компьютерной мыши с использованием тех же компонентов, которые используются в Arduino.

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

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *