Arduino (Arduino)
Arduino Software | |
---|---|
| |
Тип | Интегрированная среда разработки |
Разработчик | Arduino Software |
Написана на | C++ |
Операционная система | Кроссплатформенная |
Аппаратная платформа | AVR |
Последняя версия | 1.8.19[1] (20 декабря 2021 года) |
Лицензия | LGPL или GPL |
Сайт | arduino.cc |
Медиафайлы на Викискладе |
Arduino — торговая марка[источник не указан 95 дней] аппаратно-программных средств построения и прототипирования простых систем, моделей и экспериментов в области электроники, автоматики, автоматизации процессов и робототехники.
Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать[2] или дополнять линейку продукции Arduino.
Используется как для создания автономных объектов, так и подключения к программному обеспечению через проводные и беспроводные интерфейсы. Подходит для начинающих пользователей с минимальным входным порогом знаний в области разработки электроники и программирования.
Программная часть
[править | править код]Программирование ведется целиком через собственную бесплатную программную оболочку Arduino IDE (распространяется по условиям GPLv2)[3][4]. В этой оболочке имеется текстовый редактор, менеджер проектов, препроцессор, компилятор и инструменты для загрузки программы в микроконтроллер. Оболочка написана на Java на основе проекта Processing, работает под Windows, Mac OS X и Linux. Используется комплект библиотек Arduino (по лицензии LGPL)[4][5].
Язык программирования
[править | править код]Язык программирования Arduino называется Arduino C и представляет собой язык C++ с фреймворком Wiring[6], он имеет некоторые отличия по части написания кода, который компилируется и собирается с помощью avr-gcc, с особенностями, облегчающими написание работающей программы — имеется набор библиотек, включающий в себя функции и объекты. При компиляции программы IDE создает временный файл с расширением *.cpp.
- Программы, написанные программистом Arduino, называются наброски или скетчи (транслитерация от англ. sketch) и сохраняются в файлах с расширением *.ino. Эти файлы перед компиляцией обрабатываются препроцессором Arduino. Также существует возможность создавать и подключать к проекту стандартные файлы C++.
- Программист должен написать две обязательные для Arduino функции
setup()
иloop()
. Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле. - В текст своей программы (скетча) программист может не вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Arduino в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.
- Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки, и они вносятся в список компиляции.
- Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск возникновения проблем; но присутствуют директивы препроцессора, такие как #define, #include и много других.
Так выглядит полный текст простейшей программы (скетча) мигания светодиодом, подключенным к 13-му выводу (пину) контроллера Arduino, с периодом 2 секунды (полпериода, то есть 1 секунду светодиод горит, полпериода — не горит)[7]. Он доступен в среде разработке в Скетч>примеры>стандартные>Blink.
void setup() {
pinMode(13, OUTPUT); // Назначение пина 13 в качестве выходного
}
void loop() {
digitalWrite(13, HIGH); // Установка пина 13 в состояние "HIGH"(Подача питания на 13 пин), светодиод загорается
delay(1000); // Задержка на 1000 миллисекунд
digitalWrite(13, LOW); // Установка пина 13 в состояние "LOW", светодиод гаснет
delay(1000);
}
Все используемые в этом примере функции являются библиотечными. В комплекте Arduino IDE имеется множество встроенных примеров программ. Существует перевод документации по Arduino на русский язык[8][9].
Загрузка программы в микроконтроллер
[править | править код]Загрузка программы в микроконтроллер Arduino происходит через предварительно запрограммированный специальный загрузчик (все микроконтроллеры от Ардуино продаются с этим загрузчиком). Загрузчик создан на основе Atmel AVR Application Note AN109. Загрузчик может работать через интерфейсы RS-232, USB или Ethernet в зависимости от состава периферии конкретной процессорной платы. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется отдельный переходник.
Пользователь может самостоятельно запрограммировать загрузчик в чистый микроконтроллер. Для этого в IDE интегрирована поддержка программатора на основе проекта AVRDude. Поддерживается несколько типов популярных дешёвых программаторов.
Альтернативные IDE
[править | править код]Популярность, открытость и простота платформы Arduino вызвала большой вал сторонних программных решений. В основном это решения вокруг интеграции компилятора и бутлоадера (загрузчика) Arduino в имеющиеся оболочки для программистов (IDE). Большой список этих инструментов имеется здесь. Среди них можно выделить как профессиональные инструменты, например:Processing, Eclipse[10], Microsoft Visual Studio[11], Atmel Studio, так и инструменты для детей - Scratch for Arduino.
Графические языки программирования
[править | править код]Этот раздел имеет чрезмерный объём или содержит маловажные подробности неэнциклопедичного характера. |
- Minibloq[англ.].
- Scratch for Arduino
- Snap4Arduino
- Productivity Blocks — дополнение к Arduino IDE от компании AutomationDirect с графическим языком программирования и набором библиотек промышленной автоматики.[12]
- Modkit — платный, среди прочих, поддерживает аппаратуру Arduino.
- FLProg — бесплатный, позволяет создавать программное обеспечение на промышленных логических языках программирования — FBD и LAD.
- XOD[англ.] — графический язык программирования Arduino и Raspberry Pi с открытым исходным кодом.
-
Minibloq
-
Scratch for Arduino
-
Snap4Arduino
Схемотехника
[править | править код]- Fritzing — простая Arduino-ориентированная система проектирования и документирования схемотехники.
-
Fritzing
-
Fritzing
-
Fritzing
Аппаратная часть
[править | править код]Под торговой маркой Arduino выпускается несколько плат с микроконтроллером (англ. boards) и платы расширения (так называемые шилды[13] — транслитерация с англ. shields). Большинство плат с микроконтроллером снабжено минимально необходимым набором обвязки для нормальной работы микроконтроллера (стабилизатор питания, кварцевый резонатор, цепочки сброса и т. п.).
В концепцию Arduino не входит корпусного или монтажного конструктива. Разработчик выбирает метод установки и механической защиты плат самостоятельно либо с помощью сторонних компаний. Сторонними производителями также выпускаются наборы робототехнической электромеханики, ориентированной на работу совместно с платами Arduino[14][неавторитетный источник]. Независимыми производителями также выпускается большая гамма всевозможных датчиков и исполнительных устройств, в той или иной степени совместимых с Ардуино.
Классический конструктив
[править | править код]Классические Arduino и Arduino-совместимые платы спроектированы для монтажа в стопки через штыревые разъёмы. Таким образом базовую микропроцессорную плату дополняют необходимой периферией и внешними подключениями.
Существуют платы Uno[15], Pro, Leonardo[16], Mega 2560[17], Due[18] и платы, например Zero[19], с расширенным набором штыревых разъёмов для них. Платы расширения стандартной длины могут устанавливаться и в расширенные процессорные платы.
Миниатюрный конструктив
[править | править код]Arduino
[править | править код]Выпускаются отдельные платы уменьшенных габаритов — Nano[20], Nano Every[21] и Micro[22] — в габарите DIP-корпусов микросхем. Они предназначены для установки в макетные платы. Плат расширения для них нет.
Позже выпущена линейка Arduino MKR[23] в похожем конструктиве. К ним есть небольшой набор плат расширения периферии.
Сторонние проекты
[править | править код]Помимо стандартных конструктивов Arduino, сторонние разработчики создали множество миниатюрных клонов, сохранив только архитектурную и программную совместимость. Среди этих клонов выделяется линейка продуктов Microduino[24][25]. Линейка содержит полноценный набор конструктивно совместимых процессорных модулей, модулей связи, датчиков и исполнительных устройств, практически не уступая ассортименту классических модулей Arduino. Как и Arduino, сборка плат производится в стопки. Линейка оформлена в двух оригинальных конструктивах:
- бескорпусной с соединениями на миниатюрных цанговых штыревых линейках (торговая марка Microduino Upin27 Series). Габарит плат 25*28 мм.
- В стиле конструкторов Лего с электрическими соединениями на подпружиненных контактах и механической фиксацией, совместимой с конструкторами Лего (торговая марка Microduino mCookie Series).
Самый миниатюрный клон был выпущен под торговой маркой Femtoduino[26]. Его размеры - всего 15*20 мм, включая разъем micro USB, стабилизатор напряжения и полный комплект ввода-вывода Arduino Uno. Той же компанией выпущен самый «нафаршированный» миниатюрный клон под торговой маркой IMUduino. Это клон Arduino Leonardo с поддержкой USB Host (клавиатура и мышь), Bluetooth 4 Low Energy, шестиосный гироскоп/акселерометр, трехосный магнитометр (компас), барометр. Размер устройства - 16*40 мм. Проект на данный момент не предлагает совместимых по цоколевке плат расширения.
Промышленный конструктив
[править | править код]Возможность применения продукции Arduino в ответственной промышленной автоматике является предметом жарких дискуссий. Однако, ничто не мешает оснащать изделиями на основе Arduino объекты малой автоматизации или сбора данных. Для облегчения решения таких задач ряд сторонних компаний выпускает конструктивно законченные модули, оснащенные традиционными для автоматики клеммными колодками, корпусами для монтажа на DIN-рейку, электрически защищенными или гальванически изолированными средствами ввода-вывода.
Сама компания Arduino не выпускает такую продукцию, однако в своем магазине продает изделия компании Industrial Shields. Также известна продукция компании Archiduino. Решения обеих компаний основаны на процессорах AVR. Компании предлагают набор корпусов на DIN-рейку, в которые разработчик может установить ряд периферийных модулей. Компания Industruino предлагает изделия как с AVR, так и с SAMD21. Под торговой маркой CONTROLLINO выпускается линейка клонов Arduino MEGA 2560 в промышленном конструктиве с проводным Ethernet. NORVI предлагает промышленный конструктив как на процессорах AVR, так и на ESP32.
Помимо производителей аппаратуры для хобби, к движению Arduino open source подключаются и крупные компании, специализирующиеся на промышленной автоматике. Так, компания AutomationDirect выпустила линейку промышленных контроллеров и модулей ввода-вывода, совместимых с линейкой Arduino MKR как программно, так и на уровне плат расширения.[27] Также компания выпустила дополнение к Arduino IDE с графическим языком программирования и набором библиотек автоматики.[12]
Микроконтроллер
[править | править код]Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика (англ. bootloader). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов, хотя в некоторых моделях Arduino его нет. Загрузчик соединяется с компьютером через интерфейс USB (если он есть на плате) или с помощью отдельного переходника UART-USB. Поддержка загрузчика встроена в Arduino IDE и выполняется в один клик мыши.
На случай затирания загрузчика или покупки микроконтроллера без загрузчика разработчики предоставляют возможность прошить загрузчик в микроконтроллер самостоятельно. Для этого в Arduino IDE встроена поддержка нескольких популярных дешёвых программаторов, а большинство плат Arduino имеет штыревой разъём для внутрисхемного программирования (ICSP для AVR, JTAG или SWD[en] для ARM).
В Arduino IDE встроена возможность создания своих программно-аппаратных платформ. Этой возможностью пользуются сторонние компании, добавляющие в Arduino IDE свои наборы плат и компиляторов-загрузчиков к ним.
AVR
[править | править код]В классической линейке устройств Arduino в основном применяются микроконтроллеры Atmel AVR. Следующие МК можно встретить на указанных распространённых платах:
- ATmega2560 (16 МГц, 256 Kb Flash, 8 Kb RAM, 54 порта, из них до 15 с ШИМ и 16 АЦП). Платы Mega.
- ATmega32U4 (16 МГц, 32 Kb Flash, 2,5 Kb RAM, 20 портов, из них до 7 с ШИМ и 12 АЦП). Платы Leonardo, Micro, Yun.
- ATmega328 (16 МГц, 32 Kb Flash, 2 Kb RAM, 14 портов, из них до 6 с ШИМ и 8 АЦП). Платы UnoR3, Mini, NanoR2, Pro, Pro mini, различные варианты плат uno и nano, такие как Wifi Uno и nano + nrf42l01
- ATtiny85 (20 Мгц, 8 Kb Flash, 512 b RAM, 6 портов, из них 4 ШИМ и 4 аналоговых). Платы Digispark также часто применяются вне плат.
- ATmega168 (16 Мгц, 16 Kb Flash, 1 Kb RAM, порты и распиновка аналогично ATmega328) Платы Uno R1, Uno R2, Pro mini, NanoR1.
В некоторых платах состав доступных портов и тактовая частота могут отличаться.
ARM
[править | править код]Постепенно в линейке плат стали появляться процессоры ARM. Первоначально это был AT91SAM3X8E на плате классического конструктива (Due). Позже появилась линейка плат Arduino MKR в конструктиве DIP, оснащенная контроллером SAMD21 (Cortex-M0, 48 MHz, 256 Kb Flash, 32 Kb RAM).
С 2020 года в таком же конструктиве MKR появились модули Portenta с ARM Cortex-M7 (STM32H747 @ 480 МГц).[28]
Напряжение питания процессоров ARM на платах Arduino — 3,3 вольта. На такое же напряжение должны быть рассчитаны датчики для этих плат.
ESP8266 и ESP32
[править | править код]Сторонние разработчики портировали в Arduino поддержку популярных Wi-Fi микроконтроллеров ESP8266 и ESP32. Теперь компилировать и загружать прошивку с поддержкой Wi-Fi можно прямо из Arduino IDE, получая одноплатную схему с поддержкой сети Wi-Fi.
Подробное русскоязычное описание процесса установки и доступного API здесь, пример работы здесь.
Intel x86
[править | править код]В рамках сотрудничества со сторонними производителями в Arduino IDE была включена поддержка некоторых аппаратных средств Intel x86. Intel Galileo[англ.] (процессор Intel Quark X1000 400 МГц), Intel Edison[англ.] и Arduino 101[29] — Arduino-совместимые платы на Intel x86 архитектуре. Платы механически и электрически совместимы с периферийными платами Ардуино. Платы функционируют под собственной ОС Linux, поверх которой работает приложение, позволяющее загружать и исполнять скетчи Arduino.[30]
Некоторые модели микроконтроллерных плат
[править | править код]- См. также Список Arduino-совместимых плат[англ.].
Некоторые модели микроконтроллерных плат:[31]
- Serial Arduino, программируется через последовательное соединение (разъём DB-9), используется ATmega8.
- Arduino Extreme, с USB-интерфейсом для программирования, используется ATmega8.
- Arduino Nano 3.0, миниатюрная версия (1,85 см х 4,3 см), с питанием от USB и поверхностным монтажом ATmega328.
- Arduino Mini, ещё миниатюрнее Arduino (1,8 см х 3,3 см), использующая поверхностный монтаж ATmega328. Не содержит конвертера USB-UART.
- LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажом ATmega168 (в новых версиях ATmega328).
- Arduino NG, с USB-интерфейсом для программирования, используется ATmega8.
- Arduino NG plus, с USB-интерфейсом для программирования, используется ATmega168.
- Arduino BT, с Bluetooth-интерфейсом для программирования, используется ATmega168 (в новых версиях ATmega328).
- Arduino Diecimila, использует USB-интерфейс и Atmega168 в DIP28 корпусе.
- Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или внешнего источника.
- Arduino Mega («2009»), на основе ATmega1280.
- Arduino Mega2560 R3 («2011»), на основе ATmega2560. Используется конвертер USB-UART на базе ATmega16U2.
- Arduino Uno R3 (2011), на основе ATmega328. Используется конвертер USB-UART на базе ATmega16U2.
- Arduino Ethernet (2011), на основе ATmega328. Конвертера USB-UART нет. Ethernet чип — W5100, также содержит модуль MicroSD.
- Arduino Mega ADK for Android (2011), на основе ATmega2560. Содержит USB-хост для соединения с телефонами на базе ОС Android (м/с MAX3421e). Конвертер USB-UART на базе ATmega8U2.
Arduino | МК | Напряжение питания | Флеш-память, КБ |
EEPROM, КБ |
SRAM, КБ |
Двоичные входы/выходы |
…c ШИМ |
Аналоговые входы |
USB-интерфейс | Прочие интерфейсы |
Размеры, мм |
---|---|---|---|---|---|---|---|---|---|---|---|
Due | Atmel SAM3X8E ARM Cortex-M3 | 3,3 В | 512 | Нет | 256 | 54 | 12 | 12 + 2ЦАП | ATmega16U2 | CAN, JTAG, I2C | 101,6 × 53,3 |
ADK | ATmega2560 | 5 В | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 | MAX3421E USB хост |
101,6 × 53,3 |
BT (Bluetooth) | ATmega328 | 5 В | 32 | 1 | 2 | 14 | 4 | 6 | Нет | Bluegiga WT11 Bluetooth | |
Diecimila | ATmega168 | 5 В | 16 | 0.5 | 1 | 14 | 6 | 6 | FTDI | 68,6 × 53,3 | |
Duemilanove | ATmega168/328P | 5 В | 16/32 | 0,5/1 | 1/2 | 14 | 6 | 6 | FTDI | 68,6 × 53,3 | |
Ethernet | ATmega328 | 5 В | 32 | 1 | 2 | 14 | 4 | 6 | Нет | Wiznet Ethernet MicroSD |
|
Fio | ATmega328P | 3,3 В | 32 | 1 | 2 | 14 | 6 | 8 | Нет | 40,6 × 27,9 | |
Leonardo | Atmega32u4 | 5 В | 32 | 1 | 2 | 14 | 6 | 12 | Atmega32u4 | 68,6 × 53,3 | |
LilyPad | ATmega168V или ATmega328V | 2,7-5,5 В | 16 | 0,5 | 1 | 14 | 6 | 6 | Нет | 50 ⌀ | |
Mega | ATmega1280 | 5 В | 128 | 4 | 8 | 54 | 14 | 16 | FTDI | 101,6 × 53,3 | |
Mega2560 | ATmega2560 | 5 В | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 ATmega16U2 | 101,6 × 53,3 | |
Nano | ATmega168 или ATmega328 | 5 В | 16/32 | 0,5/1 | 1/2 | 14 | 6 | 8 | FTDI | 43 × 18 | |
Uno | ATmega328P | 5 В | 32 | 1 | 2 | 14 | 6 | 6 | ATmega8U2 ATmega16U2 | 68,6 × 53,3 |
Периферия
[править | править код]Порты ввода-вывода микроконтроллеров оформлены в виде штыревых линеек. Никакой буферизации, защиты, конвертации уровней, как правило, нет. Микроконтроллеры питаются от 5 В или 3,3 В в зависимости от модели платы. Соответственно, порты имеют такой же размах допустимых входных и выходных напряжений. Программисту доступны некоторые специальные возможности портов ввода-вывода микроконтроллеров, например широтно-импульсная модуляция (ШИМ), аналогово-цифровой преобразователь (АЦП), интерфейсы UART, SPI, I2C. Количество и возможности портов ввода-вывода определяются конкретным вариантом микропроцессорной платы.
Помимо портов, на платах микроконтроллеров иногда устанавливается периферия в виде интерфейсов USB или Ethernet. Опциональный набор внешней периферии на модулях расширения включает в себя[32]:
- USB Device (чаще всего как виртуальный COM порт через FTDI FT232, имеются также версии с эмуляцией USB HID Class клавиатур и мышек).
- Проводной и беспроводной Ethernet как на основной плате, так и на платах расширения.[33]
- Модуль GSM и другие беспроводные интерфейсы[34].
- USB Host[35].
- SD card.
- Модуль управления низковольтным мотором на базе L298. Поддерживаются шаговый и коллекторный двигатели с напряжением до 12 В и током до 2 А на канал. Могут подключаться также реле, электромагниты и т. п. Модуль не имеет гальванической развязки.
- Графический ЖКИ-индикатор.
- Модуль с макетным полем.
Сторонние производители выпускают широкую гамму датчиков и исполнительных устройств, подключаемых к Arduino. Например, гироскопы, компасы, манометры, гигрометры, термометры, релейные модули, индикаторы, клавиатуры и т. п.
FPGA
[править | править код]Существуют совместимые с Arduino процессорные платы, на которых в качестве периферийного устройства установлена микросхема программируемой логики (FPGA). Например, сама компания Arduino выпускает плату Arduino MKR Vidor 4000, на которой, помимо процессора, установлена ПЛИС Intel Cyclone. Программист в среде Arduino может загружать в FPGA предустановленные функции, например, работу с изображениями, звуком, дополнительные порты UART, SPI, ШИМ и т. д. Однако, свободное программирование FPGA из среды Arduino не предусмотрено, для этого необходимо использовать среду разработки производителя FPGA — Intel Quartus.
Также существует проект Papilio[36], в котором развивается совместимая с Arduino линейка плат с программируемой логикой Xilinx в качестве периферии. Помимо готовых решений для использования FPGA в качестве периферии, проект предлагает интеграцию среды программирования Arduino и среды программирования FPGA Xilinx ISE schematic editor. Пользователь может редактировать FPGA аналогично рисованию электрических схем.
Компания
[править | править код]Название компании и платформы происходит от названия одноимённой рюмочной в Ивреа, часто посещавшейся учредителями проекта, которая, в свою очередь, была названа в честь короля Италии Ардуина Ивреаского[37].
История
[править | править код]История проекта начинается с курсов человеко-машинного интерфейса под брендом Interaction Design Institute Ivrea[англ.], существовавших в начале 2000-х годов в городке Ивреа в Италии. Для обучения использовались модули под брендом BASIC Stamp[англ.], стоившие около 50 USD. В 2003 году Эрнандо Барраган (Hernando Barragán) в рамках учебной работы создает первоначальную версию новой программно-аппаратной платформы Wiring[англ.]. Целью проекта было создание дешевой и простой среды для начального обучения программированию. В том же году Массимо Банци (руководитель Эрнандо Баррагана), Дэвид Меллис и Давид Куартиллье делают форк Wiring, назвав его Arduino.
Первоначальная команда Ардуино состояла из Массимо Банци, Давида Куартиллье, Тома Иго, Джанлука Мартино и Дэвида Меллиса. В начале 2008 года пять соучредителей проекта Arduino создали компанию Arduino LLC, которой принадлежали авторские права и торговые марки компании, зарегистрированные в США.[38] Производством занимались другие компании, перечислявшие 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[39][40][41]. Набор новых изделий на сайтах различался. Также существовали две ветви Arduino IDE, поддерживающие разный набор плат и библиотек. Одинаковые названия и пересекающиеся номера версий IDE вносили путаницу. 1 октября 2016 года на выставке World Maker Faire в Нью-Йорке руководители Arduino LLC и Arduino SRL объявили о слиянии компаний[42].
Лицензирование
[править | править код]Документация, прошивки и чертежи Arduino распространяются под лицензией Creative Commons Attribution ShareAlike 3.0 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[31] Исходный код для интегрированной среды разработки опубликован и доступен под лицензией GPLv2.[43] Библиотеки используют лицензию LGPL.
Несмотря на то, что документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.[44]
Официальным представителем Arduino в России является компания «Линуксцентр».
Награды
[править | править код]Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica[англ.] 2006 в категории Digital Communities.[45][46]
Проекты-примеры
[править | править код]- Arduinome[англ.] — MIDI-контроллер.
- OBDuino[англ.] — маршрутный компьютер с подключением к стандартным диагностическим интерфейсам автомобилей.
- Ardupilot[англ.] — автопилот для беспилотных аппаратов.
- ArduSat[англ.] — миниатюрный искусственный спутник Земли в формате кубсата.
- Arduboy[англ.] — игровая консоль.
- OpenEVSE — реализация интерфейса подзарядки электромобилей по стандарту SAE J1772.
См. также
[править | править код]- Mbed — проект компании ARM, аналогичный Ардуино, для микроконтроллеров на основе ядра ARM Cortex-M. Как и Arduino, содержит простой инструментарий и предлагает набор библиотек для работы с аппаратурой микроконтроллера и внешней сложной периферией. Процессорные платы для платформы делают различные производители под своими торговыми марками. Например, Nucleo[47] от STMicroelectronics конструктивно совместим с платами расширения Arduino, а платы Mbed и LPCXpresso от NXP конструктивно похожи на Arduino Nano.
- Simplecortex[англ.] — проект, аналогичный Arduino, но с собственным процессором и IDE. Совместим с Arduino по платам расширения.
- Ardupilot[англ.] и Pixhawk - развитая линейка открытых программно-аппаратных решений, ориентированных на управление автономными мобильными аппаратами, в первую очередь летающими дронами. Несмотря на приставку Ardu-, современный проект Ardupilot не пересекается с Arduino.
Примечания
[править | править код]- ↑ Arduino Software Release Notes . Дата обращения: 28 января 2011. Архивировано 16 ноября 2012 года.
- ↑ Минимальная Arduino своими руками . habr.com. Дата обращения: 1 ноября 2020. Архивировано 8 ноября 2020 года.
- ↑ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Архивная копия от 20 августа 2017 на Wayback Machine, Arduino (processing/arduino).
- ↑ 1 2 Arduino — FAQ Архивная копия от 10 апреля 2006 на Wayback Machine
- ↑ LGPL Архивная копия от 20 августа 2017 на Wayback Machine — arduino core, libraries.
- ↑ Как программируют Arduino . Журнал «Код»: программирование без снобизма (3 марта 2020). Дата обращения: 1 ноября 2020. Архивировано 6 ноября 2020 года.
- ↑ Мигающий светодиод на Arduino . ledjournal.info. Дата обращения: 21 мая 2016. Архивировано 29 мая 2016 года.
- ↑ РадиоЛокН Hi-Tech — Arduino Russian (недоступная ссылка)
- ↑ Справочник по API ARDUINO для Android . Дата обращения: 12 октября 2014. Архивировано 17 декабря 2014 года.
- ↑ Плагин к Eclipse . Дата обращения: 27 августа 2020. Архивировано 19 июня 2020 года.
- ↑ Visualmicro . Дата обращения: 3 октября 2014. Архивировано 4 октября 2014 года.
- ↑ 1 2 Open-Source Controller (Arduino-Compatible): Productivity Blocks Graphical Based Programming . Дата обращения: 20 июня 2020. Архивировано 21 июня 2020 года.
- ↑ Петин, 2014, с. 29—33.
- ↑ Робототехнические конструкторы под управлением Ардуино . Дата обращения: 6 июня 2015. Архивировано 1 августа 2015 года.
- ↑ Arduino Uno Rev3 | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 27 июня 2017 года.
- ↑ Arduino Leonardo with Headers | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 29 октября 2020 года.
- ↑ Arduino Mega 2560 Rev3 | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 5 ноября 2020 года.
- ↑ Arduino Due | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 28 ноября 2020 года.
- ↑ Arduino Zero | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 28 ноября 2020 года.
- ↑ Arduino Nano | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 29 апреля 2021 года.
- ↑ Arduino Nano Every | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 17 сентября 2020 года.
- ↑ Arduino Micro | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 29 октября 2020 года.
- ↑ Arduino MKR ZERO | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020. Архивировано 28 ноября 2020 года.
- ↑ Microduino официальный сайт . Дата обращения: 4 июня 2015. Архивировано из оригинала 10 февраля 2017 года.
- ↑ Microduino на русском . Дата обращения: 4 июня 2015. Архивировано 6 июня 2015 года.
- ↑ Femtoduino — самый миниатюрный клон Arduino . Дата обращения: 27 августа 2020. Архивировано 22 сентября 2020 года.
- ↑ P1AM-100 . Дата обращения: 20 июня 2020. Архивировано 22 июня 2020 года.
- ↑ Portenta H7 . Дата обращения: 17 января 2020. Архивировано 16 января 2020 года.
- ↑ Intel Arduino 101 . Дата обращения: 28 февраля 2016. Архивировано 23 октября 2015 года.
- ↑ Linux-based Arduino . Дата обращения: 6 июня 2015. Архивировано 7 июня 2015 года.
- ↑ 1 2 Hardware . Дата обращения: 26 декабря 2008. Архивировано 12 марта 2012 года.
- ↑ Официальная линейка изделий под маркой Ардуино . Дата обращения: 29 сентября 2014. Архивировано 26 января 2021 года.
- ↑ Arduino Ethernet Shield . Дата обращения: 25 января 2011. Архивировано 22 января 2011 года.
- ↑ XBee Shield . Дата обращения: 25 января 2011. Архивировано 23 января 2011 года.
- ↑ USB Host Shield . Дата обращения: 25 января 2011. Архивировано из оригинала 6 декабря 2010 года.
- ↑ Papilio Platform FPGA boards . Дата обращения: 19 июля 2020. Архивировано 19 июля 2020 года.
- ↑ DAVID KUSHNER, The Making of Arduino. How five friends engineered a small circuit board that’s taking the DIY world by storm Архивная копия от 22 октября 2017 на Wayback Machine, IEEE Spectrum, 26 Oct 2011
- ↑ Business Entity Summary for Arduino LLC . Mass.gov. State of Massachusetts. Дата обращения: 25 сентября 2019. Архивировано 24 февраля 2021 года.
- ↑ Allan, Alasdair Arduino Wars: Group Splits, Competing Products Revealed? makezine.com. Maker Media, Inc. (6 марта 2015). Дата обращения: 21 апреля 2015. Архивировано 18 мая 2015 года.
- ↑ Banzi, Massimo Massimo Banzi: Fighting for Arduino . makezine.com. Maker Media, Inc. (19 марта 2015). Дата обращения: 21 апреля 2015. Архивировано 10 апреля 2015 года.
- ↑ Williams, Elliot Arduino SRL to Distributors: “We’re the REAL Arduino” . Hackaday.com. Hackaday.com (28 марта 2015). Дата обращения: 21 апреля 2015. Архивировано 23 апреля 2015 года.
- ↑ Arduino Blog » Two Arduinos become one . Дата обращения: 20 мая 2017. Архивировано 14 июня 2017 года.
- ↑ Страница загрузки программного обеспечения Arduino . Software. Arduino. Архивировано 12 марта 2012 года.
- ↑ Arduino — Policy . Дата обращения: 12 апреля 2008. Архивировано из оригинала 17 марта 2011 года.
- ↑ Arduino на Prix Ars Electronica 2006 Архивировано 6 декабря 2006 года.
- ↑ Ars Electronica Archiv / ANERKENNUNG (нем.). Дата обращения: 18 февраля 2009. Архивировано 12 марта 2012 года.
- ↑ STM32 MCU Nucleo — STMicroelectronics . Дата обращения: 5 октября 2014. Архивировано 6 октября 2014 года.
Литература
[править | править код]- Петин В.А. Проекты с использованием контроллера Arduino. — БХВ-Петербург, 2014. — 400 с. — ISBN 9785977533379.
- Блум Дж. Изучаем Arduino: инструменты и методы технического волшебства. 2-е изд.: пер. с англ. 2-е изд.: пер. с англ. — БХВ-Петербург, 2021—544 с. — ISBN 978-5-9775-6735-0
- Саймон Монк, почти все книги.
Ссылки
[править | править код]- arduino.cc — официальный сайт ветви arduino.cc
- wikihandbk . — Русскоязычная документация по языку и библиотекам.
- Arduino Russian . — Неполная русская документация по языку и библиотекам. Дата обращения: 23 июля 2010. Архивировано 15 мая 2012 года. (переводы с сайта проекта arduino.cc)
- LXF100-101:Arduino . — Цикл статей по Arduino на wiki.linuxformat.ru. Дата обращения: 23 июля 2010. Архивировано 12 марта 2012 года.