Русская Википедия:Arduino

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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

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

Файл:Basic robot.jpg
Робот — частный способ применения Arduino

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

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

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

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

  • Программы, написанные программистом Arduino, называются наброски или скетчи (транслитерация от Шаблон:Lang-en) и сохраняются в файлах с расширением *.ino. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы C++.
  • Программист должен написать две обязательные для Arduino функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.
  • В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Arduino в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.
  • Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки, и они вносятся в список компиляции.
  • Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск возникновения проблем; но присутствуют директивы препроцессора, такие как #define, #include и много других.

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

void setup() {
    pinMode(13, OUTPUT); // Назначение пина 13 в качестве выходного
}

void loop() {
    digitalWrite(13, HIGH); // Установка пина 13 в состояние "1", светодиод загорается
    delay(1000);            // Задержка на 1000 миллисекунд
    digitalWrite(13, LOW);  // Установка пина 13 в состояние "0", светодиод гаснет
    delay(1000);
}

Все используемые в этом примере функции являются библиотечными. В комплекте Arduino IDE имеется множество встроенных примеров программ. Существует перевод документации по Arduino на русский язык[7][8].

Загрузка программы в микроконтроллер

Закачка программы в микроконтроллер Arduino происходит через предварительно запрограммированный специальный загрузчик (все микроконтроллеры от Ардуино продаются с этим загрузчиком). Загрузчик создан на основе Atmel AVR Application Note AN109. Загрузчик может работать через интерфейсы RS-232, USB или Ethernet в зависимости от состава периферии конкретной процессорной платы. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется отдельный переходник.

Пользователь может самостоятельно запрограммировать загрузчик в чистый микроконтроллер. Для этого в IDE интегрирована поддержка программатора на основе проекта AVRDude. Поддерживается несколько типов популярных дешёвых программаторов.

Альтернативные IDE

Популярность, открытость и простота платформы Arduino вызвала большой вал сторонних программных решений. В основном это решения вокруг интеграции компилятора и бутлоадера (загрузчика) Arduino в имеющиеся оболочки для программистов (IDE). Большой список этих инструментов имеется здесь. Среди них можно выделить как профессиональные инструменты, вроде Proccesing, Eclipse[9], Microsoft Visual Studio[10], Atmel Studio, так и инструменты для детей, например, Scratch for Arduino.

Графические языки программирования

Схемотехника

  • Fritzing — простая Arduino-ориентированная система проектирования и документирования схемотехники.

Аппаратная часть

Под торговой маркой Arduino выпускается несколько плат с микроконтроллером (Шаблон:Lang-en) и платы расширения (так называемые шилдыШаблон:Sfn — транслитерация с Шаблон:Lang-en). Большинство плат с микроконтроллером снабжено минимально необходимым набором обвязки для нормальной работы микроконтроллера (стабилизатор питания, кварцевый резонатор, цепочки сброса и т. п.).

В концепцию Arduino не входит корпусного или монтажного конструктива. Разработчик выбирает метод установки и механической защиты плат самостоятельно либо с помощью сторонних компаний. Сторонними производителями также выпускаются наборы робототехнической электромеханики, ориентированной на работу совместно с платами Arduino[12]Шаблон:Проверить авторитетность. Независимыми производителями также выпускается большая гамма всевозможных датчиков и исполнительных устройств, в той или иной степени совместимых с Ардуино.

Классический конструктив

Файл:Horloge sur l’Arduino.jpg
Классический конструктив Arduino с платами расширения

Классические Arduino и Arduino-совместимые платы спроектированы для монтажа в стопки через штыревые разъёмы. Таким образом базовую микропроцессорную плату дополняют необходимой периферией и внешними подключениями.

Существуют платы Uno[13], Pro, Leonardo[14], Mega 2560[15], Due[16] и платы, например Zero[17], с расширенным набором штыревых разъёмов для них. Платы расширения стандартной длины могут устанавливаться и в расширенные процессорные платы.

Миниатюрный конструктив

Arduino

Файл:Arduino Nano V3 1530635.JPG
Плата «Nano», установленная в беспаечную макетную плату.

Выпускаются отдельные платы уменьшенных габаритов — Nano[18], Nano Every[19] и Micro[20] — в габарите DIP-корпусов микросхем. Они предназначены для установки в макетные платы. Плат расширения для них нет.

Позже выпущена линейка Arduino MKR[21] в похожем конструктиве. К ним есть небольшой набор плат расширения периферии.

Сторонние проекты

Помимо стандартных конструктивов Arduino, сторонние разработчики создали множество миниатюрных клонов, сохранив только архитектурную и программную совместимость. Среди этих клонов выделяется линейка продуктов Microduino[22][23]. Линейка содержит полноценный набор конструктивно совместимых процессорных модулей, модулей связи, датчиков и исполнительных устройств, практически не уступая ассортименту классических модулей Arduino. Как и Arduino, сборка плат производится в стопки. Линейка оформлена в двух оригинальных конструктивах:

  • бескорпусной с соединениями на миниатюрных цанговых штыревых линейках (торговая марка Microduino Upin27 Series). Габарит плат 25*28 мм.
  • В стиле конструкторов Лего с электрическими соединениями на подпружиненных контактах и механической фиксацией, совместимой с конструкторами Лего (торговая марка Microduino mCookie Series).
Файл:Femtoduino PCB vs Dime.jpg
Плата Femtoduino

Самый миниатюрный клон был выпущен под торговой маркой Femtoduino[24]. Его размеры - всего 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 как программно, так и на уровне плат расширения.[25] Также компания выпустила дополнение к Arduino IDE с графическим языком программирования и набором библиотек автоматики.[11]

Микроконтроллер

Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика (Шаблон:Lang-en). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов, хотя в некоторых моделях 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 МГц).[26]

Напряжение питания процессоров ARM на платах Arduino — 3,3 вольта. На такое же напряжение должны быть рассчитаны датчики для этих плат.

ESP8266 и ESP32

Сторонние разработчики портировали в Arduino поддержку популярных Wi-Fi микроконтроллеров ESP8266 и ESP32. Теперь компилировать и загружать прошивку с поддержкой Wi-Fi можно прямо из Arduino IDE, получая одноплатную схему с поддержкой сети Wi-Fi.

Подробное русскоязычное описание процесса установки и доступного API здесь, пример работы здесь.

Intel x86

В рамках сотрудничества со сторонними производителями в Arduino IDE была включена поддержка некоторых аппаратных средств Intel x86. Шаблон:Нп3 (процессор Intel Quark X1000 400 МГц), Шаблон:Нп3 и Arduino 101[27] — Arduino-совместимые платы на Intel x86 архитектуре. Платы механически и электрически совместимы с периферийными платами Ардуино. Платы функционируют под собственной ОС Linux, поверх которой работает приложение, позволяющее загружать и исполнять скетчи Arduino.[28]

Некоторые модели микроконтроллерных плат

См. также Шаблон:Нп3.

Некоторые модели микроконтроллерных плат:[29] Шаблон:Hider hiding Шаблон:Начало скрытого блока

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. Опциональный набор внешней периферии на модулях расширения включает в себя[30]:

  • USB Device (чаще всего как виртуальный COM порт через FTDI FT232, имеются также версии с эмуляцией USB HID Class клавиатур и мышек).
  • Проводной и беспроводной Ethernet как на основной плате, так и на платах расширения.[31]
  • Модуль GSM и другие беспроводные интерфейсы[32].
  • USB Host[33].
  • 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[34], в котором развивается совместимая с Arduino линейка плат с программируемой логикой Xilinx в качестве периферии. Помимо готовых решений для использования FPGA в качестве периферии, проект предлагает интеграцию среды программирования Arduino и среды программирования FPGA Xilinx ISE schematic editor. Пользователь может редактировать FPGA аналогично рисованию электрических схем.

Компания

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

История

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

Первоначальная команда Ардуино состояла из Массимо Банци, Давида Куартиллье, Тома Иго, Джанлука Мартино и Дэвида Меллиса. В начале 2008 года пять соучредителей проекта Arduino создали компанию Arduino LLC, которой принадлежали авторские права и торговые марки компании, зарегистрированные в США.[36] Производством занимались другие компании, перечислявшие 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[37][38][39]. Набор новых изделий на сайтах различался. Также существовали две ветви Arduino IDE, поддерживающие разный набор плат и библиотек. Одинаковые названия и пересекающиеся номера версий IDE вносили путаницу. 1 октября 2016 года на выставке World Maker Faire в Нью-Йорке руководители Arduino LLC и Arduino SRL объявили о слиянии компаний[40].

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

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

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

Официальным представителем Arduino в России является компания «Линуксцентр».

Награды

Проект Arduino был удостоен почётного упоминания при вручении призов Шаблон:Iw 2006 в категории Digital Communities.[43][44]

Проекты-примеры

См. также

  • Mbed — проект компании ARM, аналогичный Ардуино, для микроконтроллеров на основе ядра ARM Cortex-M. Как и Arduino, содержит простой инструментарий и предлагает набор библиотек для работы с аппаратурой микроконтроллера и внешней сложной периферией. Процессорные платы для платформы делают различные производители под своими торговыми марками. Например, Nucleo[45] от STMicroelectronics конструктивно совместим с платами расширения Arduino, а платы Mbed и LPCXpresso от NXP конструктивно похожи на Arduino Nano.
  • Шаблон:Нп3 — проект, аналогичный Arduino, но с собственным процессором и IDE. Совместим с Arduino по платам расширения.
  • Шаблон:Нп3 и Pixhawk - развитая линейка открытых программно-аппаратных решений, ориентированных на управление автономными мобильными аппаратами, в первую очередь летающими дронами. Несмотря на приставку Ardu-, современный проект Ardupilot не пересекается с Arduino.

Примечания

Шаблон:Примечания

Литература

  • Шаблон:Книга
  • Блум Дж. Изучаем Arduino: инструменты и методы технического волшебства. 2-е изд.: пер. с англ. 2-е изд.: пер. с англ. — БХВ-Петербург, 2021—544 с. — ISBN 978-5-9775-6735-0
  • Саймон Монк, почти все книги.

Ссылки

Внешние ссылки

  1. Шаблон:Cite web
  2. GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Шаблон:Wayback, Arduino (processing/arduino).
  3. 3,0 3,1 Arduino — FAQ Шаблон:Wayback
  4. LGPL Шаблон:Wayback — arduino core, libraries.
  5. Шаблон:Cite web
  6. Шаблон:Cite web
  7. РадиоЛокН Hi-Tech — Arduino RussianШаблон:Недоступная ссылка
  8. Шаблон:Cite web
  9. Шаблон:Cite web
  10. Шаблон:Cite web
  11. 11,0 11,1 Шаблон:Cite web
  12. Шаблон:Cite web
  13. Шаблон:Cite web
  14. Шаблон:Cite web
  15. Шаблон:Cite web
  16. Шаблон:Cite web
  17. Шаблон:Cite web
  18. Шаблон:Cite web
  19. Шаблон:Cite web
  20. Шаблон:Cite web
  21. Шаблон:Cite web
  22. Шаблон:Cite web
  23. Шаблон:Cite web
  24. Шаблон:Cite web
  25. Шаблон:Cite web
  26. Шаблон:Cite web
  27. Шаблон:Cite web
  28. Шаблон:Cite web
  29. 29,0 29,1 Шаблон:Cite web
  30. Шаблон:Cite web
  31. Шаблон:Cite web
  32. Шаблон:Cite web
  33. Шаблон:Cite web
  34. Шаблон:Cite web
  35. DAVID KUSHNER, The Making of Arduino. How five friends engineered a small circuit board that’s taking the DIY world by storm Шаблон:Wayback, IEEE Spectrum, 26 Oct 2011
  36. Шаблон:Cite web
  37. Шаблон:Cite web
  38. Шаблон:Cite web
  39. Шаблон:Cite web
  40. Шаблон:Cite web
  41. Шаблон:Cite web
  42. Шаблон:Cite web
  43. Arduino на Prix Ars Electronica 2006 Шаблон:Webarchive
  44. Шаблон:Cite web
  45. Шаблон:Cite web

Шаблон:Выбор языка Шаблон:Окружающий интеллект