Arduino

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск

Arduino — аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring.

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

399

Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен.

На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие платы, вроде Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial вроде FTDI FT232. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-serial или кабеля.

Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых вводов/выводов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти выводы доступны в верхней части платы через 0,1 дюймовые разъёмы типа «мама». На рынке доступны несколько внешних плат расширения, известных как «shields».

Программное обеспечение

478

Интегрированная среда разработки Arduino это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.

Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Открытые архитектура и код

Документация и чертежи Arduino распространяется под лицензией Creative Commons Attribution Share-Alike 2.5 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[1] Исходный код для интегрированной среды разработки и библиотек опубликован и доступен под лицензией GPLv2.

Самостоятельное изготовление

В домашних условиях можно самостоятельно изготовить Arduino Single-Sided Serial Board

400

принципиальная схема

руководство (на английском)

Клоны

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

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

Полностью совместимые

Перечисленные ниже платы полностью или почти полностью совместимы как с аппаратной, так и с программной частью Arduino, включая возможность присоединения дочерних плат.

  • CraftDuino, производится и продается в собранном виде командой RoboCraft.ru.
  • Freeduino SB, производится и продается в виде мини-набора для сборки компанией Solarbotics.
  • Seeeduino, производная от Arduino Diecimila.

Программно совместимые

Эти платы совместимы с Arduino программно, но не совместимы с Shield-платами:

  • Boarduino, недорогой клон Diecimila созданный для макетирования, производится компанией Adafruit.
  • Sanguino — улучшенный open source клон Ardiuno, вместо ATMega168 использующий ATMega644P в корпусе типа DIP c 40 выводами, что даёт 64K флеш-памяти, 4K ОЗУ и 32 канала ввода-вывода. Разработана с учетом проекта RepRap.
  • Roboduino, спроектирована для робототехники. Рядом со всеми её соединениями есть шина питания, к которой легко могут быть подключены сервоприводы и чувствительные элементы. Также для питания и последовательной связи есть разъёмы. Разработана компанией Curious Inventor, L.L.C.
  • MRC28 Универсальный робо-контроллер MRC28 v1.4.1

Ссылки

  • Ошибка цитирования Неверный тег <ref>; для сносок Hardware не указан текст
  • Arduino — Policy