Let's paint

ROB-31100

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

Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать[2] или дополнять линейку продукции Arduino.

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

Содержание

Компания

Название компании и платформы происходит от названия одноимённой рюмочной в Иврее, часто посещавшейся учредителями проекта, которая, в свою очередь, была названа в честь короля Италии Ардуина Иврейского[3].

История

История проекта начинается с курсов человеко-машинного интерфейса под брендом Interaction Design Institute Ivrea (англ.)русск., существовавших в начале 2000-х годов в городке Ивреа в Италии. Для обучения использовались модули под брендом BASIC Stamp (англ.)русск., стоившие около 50 USD. В 2003 году Эрнандо Барраган (Hernando Barragán) в рамках учебной работы создает первоначальную версию новой программно-аппаратной платформы Wiring (англ.)русск.. Целью проекта было создание дешевой и простой среды для начального обучения программированию. В том же году Массимо Банци, Девид Меллис и Девид Куартиллье делают форк Wiring, назвав его Arduino.

Первоначальная команда Ардуино состояла из Массимо Банци, Девида Куартиллье, Тома Иго, Джанлука Мартино и Девида Меллиса. В начале 2008 года пять соучредителей проекта Arduino создали компанию Arduino LLC, которой принадлежали авторские права и торговые марки компании, зарегистрированные в США.[4] Производством занимались другие компании, перечислявшие Arduino LLC платежи за использование авторских прав. В том же году Джанлука Мартино, втайне от компаньонов, регистрирует на свою компанию Smart Projects (позднее переименованную в Arduino SRL) часть торговых марок Ардуино в некоторых странах. В 2015 году начинаются судебные тяжбы Arduino LLC против Arduino SRL. В 2016 году конфликт разрешается путем слияния обеих компаний с образованием компании Arduino AG.

Команда разработчиков

Ядро команды разработчиков Arduino составляют: Массимо Банци (Massimo Banzi), Девид Куартиллье (David Cuartielles), Том Иго (Tom Igoe), Джанлука Мартино (Gianluca Martino), Девид Меллис (David Mellis), Николас Замбетти (Nicholas Zambetti) и Валерий Шумятский (Valeriy Shymatskiy).

С 2008 года в компании начался раскол. Джанлука Мартино зарегистрировал другую фирму, на которую сумел оформить авторские права на торговую марку Arduino в некоторых странах. Новая компания создала альтернативную ветвь продаж оригинальных продуктов Ардуино на сайте arduino.org. Первоначальная компания контролирует продажи через сайт arduino.cc[5][6][7]. Набор новых изделий на сайтах различался. Также существовали две ветви Arduino IDE, поддерживающие разный набор плат и библиотек. Одинаковые названия и пересекающиеся номера версий IDE вносили путаницу. 1 октября 2016 года на выставке World Maker Faire в Нью-Йорке руководители Arduino LLC и Arduino SRL объявили о слиянии компаний[8].

Лицензирование

Документация, прошивки и чертежи Arduino распространяются под лицензией Creative Commons Attribution ShareAlike 3.0 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[9] Исходный код для интегрированной среды разработки опубликован и доступен под лицензией GPLv2.[10] Библиотеки используют лицензию LGPL.

Несмотря на то, что документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.[11]

Награды

Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica[en] 2006 в категории Digital Communities.[12][13]

Частный способ применения Arduino

Программная часть

Программирование ведется целиком через собственную бесплатную программную оболочку Arduino IDE (распространяется по условиям GPLv2)[14][15]. В этой оболочке имеется текстовый редактор, менеджер проектов, препроцессор, компилятор и инструменты для загрузки программы в микроконтроллер. Оболочка написана на Java на основе проекта Processing, работает под Windows, Mac OS X и Linux. Используется комплект библиотек Arduino (по лицензии LGPL)[15][16].

Язык программирования

Язык программирования Arduino называется Arduino C и представляет собой язык C++ с фреймворком Wiring[17], Он имеет некоторые отличия по части написания кода, который компилируется и собирается с помощью avr-gcc, с особенностями, облегчающими написание работающей программы — имеется набор библиотек, включающий в себя функции и объекты. При компиляции программы IDE создает временный файл с расширением *.cpp.

Программы, написанные программистом Arduino, называются наброски или скетчи (транслитерация от англ. sketch) и сохраняются в файлах с расширением *.ino. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы C++.

Программист должен написать две обязательные для Arduino функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.

В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Arduino в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.

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

Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск возникновения проблем; но присутствуют директивы препроцессора, такие как #define, #include, и много других.

Так выглядит полный текст простейшей программы (скетча) мигания светодиодом, подключенного к 13 выводу (пину) Arduino, с периодом 2 секунды (полпериода, то есть 1 секунду светодиод горит, полпериода — не горит)[18]. Он доступен в среде разработке в Скетч>примеры>стандартные>Blink.

Файлы

Добавлен 27.11.2023

Добавлен 27.11.2023