Arduino
Arduino — торговая марка аппаратно-программных средств для построения и прототипирования простых систем, моделей и экспериментов в области электроники, автоматики, автоматизации процессов и робототехники.
Arduino Software | |
---|---|
| |
Тип | Интегрированная среда разработки |
Разработчик | Arduino Software |
Написана на | C++ |
Операционная система | Кроссплатформенная |
Аппаратная платформа | AVR |
Последняя версия | 1.8.16[1] (6 сентября 2021 года) |
Лицензия | LGPL или GPL |
Сайт | arduino.cc |
Медиафайлы на Викискладе |
Программная часть состоит из бесплатной программной оболочки (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. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы 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 в состояние "1", светодиод загорается
delay (1000); // Задержка на 1000 миллисекунд
digitalWrite (13, LOW); // Установка порта 13 в состояние "0", светодиод гаснет
delay (1000); // Задержка на 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). Большой список этих инструментов имеется здесь. Среди них можно выделить как профессиональные инструменты, вроде Proccesing, Eclipse[10], Microsoft Visual Studio[11], Atmel Studio, так и инструменты для детей, например, Scratch for Arduino.
Графические языки программирования
- Minibloq.
- Scratch for Arduino
- Snap4Arduino
- Ardublock — графический язык программирования для Arduino.
- Ardublock Kode — программа блочного кодирования для платформ Arduino Uno, Nano, Mega, Mini.
- Productivity Blocks — дополнение к Arduino IDE от компании AutomationDirect с графическим языком программирования и набором библиотек промышленной автоматики.[12]
- Modkit — платный, среди прочих, поддерживает аппаратуру Arduino.
- FLProg — бесплатный, позволяет создавать программное обеспечение на промышленных логических языках программирования — FBD и LAD.
- XOD — графический язык программирования Ардуино и 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). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов. Загрузчик соединяется с компьютером через интерфейс 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
Сторонние разработчики портировали в Arduino поддержку популярного Wi-Fi микроконтроллера ESP8266 и его клона ESP12. Теперь компилировать и загружать прошивку для ESP8266 со своими скетчами и поддержкой Wi-Fi можно прямо из Arduino IDE, получая одноплатную схему с поддержкой сети Wi-Fi.
Платы с обвязанным ESP8266 продаются под маркой Wemos, имеют 2 форм-фактора (один как у Uno, второй — уменьшенный свой) и два поколения в каждом форм-факторе (R1 и R2).
Подробное русскоязычное описание процесса установки и доступного 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]
Проекты-примеры
- 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 по платам расширения.
- pcDuino[48] — набор плат с процессором Allwinner A1X под управлением ОС Linux или Android, совместимых с периферийными платами Ардуино.
- STM32 — расширяющаяся серия микроконтроллеров с растущим комьюнити. Возможно, заменит нам Arduino.
Примечания
- Arduino Software Release Notes
- Минимальная Arduino своими руками . habr.com. Дата обращения: 1 ноября 2020.
- GNU GENERAL PUBLIC LICENSE Version 2, June 1991, Arduino (processing/arduino).
- Arduino — FAQ
- LGPL — arduino core, libraries.
- Как программируют Arduino (рус.) ?. Журнал «Код»: программирование без снобизма (3 марта 2020). Дата обращения: 1 ноября 2020.
- Мигающий светодиод на Arduino . ledjournal.info. Дата обращения: 21 мая 2016.
- РадиоЛокН Hi-Tech — Arduino Russian (недоступная ссылка)
- Справочник по API ARDUINO для Android
- Плагин к Eclipse
- Visualmicro
- Open-Source Controller (Arduino-Compatible): Productivity Blocks Graphical Based Programming
- Петин, 2014, с. 29—33.
- Робототехнические конструкторы под управлением Ардуино
- Arduino Uno Rev3 | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Leonardo with Headers | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Mega 2560 Rev3 | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Due | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Zero | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Nano | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Nano Every | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino Micro | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Arduino MKR ZERO | Arduino Official Store . store.arduino.cc. Дата обращения: 1 ноября 2020.
- Microduino официальный сайт (недоступная ссылка). Дата обращения: 4 июня 2015. Архивировано 10 февраля 2017 года.
- Microduino на русском
- Femtoduino — самый миниатюрный клон Arduino
- P1AM-100
- Portenta H7
- Intel Arduino 101
- Linux-based Arduino
- Hardware . Дата обращения: 26 декабря 2008. Архивировано 12 марта 2012 года.
- Официальная линейка изделий под маркой Ардуино
- Arduino Ethernet Shield
- XBee Shield
- USB Host Shield (недоступная ссылка). Дата обращения: 25 января 2011. Архивировано 6 декабря 2010 года.
- Papilio Platform FPGA boards
- 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.
- Allan, Alasdair Arduino Wars: Group Splits, Competing Products Revealed? . makezine.com. Maker Media, Inc. (6 марта 2015). Дата обращения: 21 апреля 2015.
- Banzi, Massimo Massimo Banzi: Fighting for Arduino . makezine.com. Maker Media, Inc. (19 марта 2015). Дата обращения: 21 апреля 2015.
- Williams, Elliot Arduino SRL to Distributors: “We’re the REAL Arduino” . Hackaday.com. Hackaday.com (28 марта 2015). Дата обращения: 21 апреля 2015.
- Arduino Blog » Two Arduinos become one . Дата обращения: 20 мая 2017.
- Страница загрузки программного обеспечения Arduino . Software. Arduino. Архивировано 12 марта 2012 года.
- Arduino — Policy
- Arduino на Prix Ars Electronica 2006 Архивировано 6 декабря 2006 года.
- Ars Electronica Archiv / ANERKENNUNG (нем.). Дата обращения: 18 февраля 2009. Архивировано 12 марта 2012 года.
- STM32 MCU Nucleo — STMicroelectronics
- pcDuino
Литература
- Петин В.А. Проекты с использованием контроллера 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 года.