Выбрать главу

Модели Arduino большего размера имеют тот же набор контактов, что и Uno, а также двойной ряд дополнительных контактов ввода/вывода с торцевой стороны и более длинные ряды контактов по боковым сторонам (рис. 1.10).

Рис. 1.10. Arduino Due

Традиционно самой большой считается Arduino Mega 2560. Эти платы, подобно всем другим большим платам Arduino, имеют больше памяти каждого вида. Платы Mega 2560 и Mega ADK комплектуются процессорами с производительностью, схожей с производительностью процессора в модели Arduino Uno. Но в целом Arduino Due — более «мощная машина». Эта плата комплектуется процессором с тактовой частотой 84 МГц (сравните с 16 МГц модели Uno), но имеет проблемы совместимости с другими моделями. Самая большая из них состоит в том, что для электропитания Due должно использоваться напряжение 3,3 В вместо 5 В, как для большинства предыдущих моделей Arduino. Неудивительно, что многие платы расширения несовместимы с ней.

Однако эта плата имеет множество преимуществ, значимых для большинства проектов с высокими требованиями:

• большой объем памяти для программ и данных;

• аппаратная поддержка вывода звуков (аппаратные цифроаналоговые преобразователи);

• четыре последовательных порта;

• два порта USB;

• интерфейсы USB-хоста и USB OTG;

• имитация USB-клавиатуры и USB-мыши.

Маленькие платы Arduino

Для одних проектов модель Uno может оказаться слишком маленькой, но для других — слишком большой. Несмотря на невысокую стоимость плат Arduino, они становятся слишком дорогим удовольствием, если включать их в каждый проект. Существует целый спектр маленьких и специализированных плат Arduino, которые имеют меньший размер, чем обычная модель Uno, или более низкую цену за счет отсутствия каких-то особенностей, не требующихся в большинстве проектов.

На рис. 1.11 изображена плата Arduino Mini. Эта модель не имеет интерфейса USB, а ее программирование осуществляется с применением отдельного модуля расширения. Помимо Mini существуют также модели Nano и Micro. Обе они имеют встроенный интерфейс USB, но и стоят дороже.

Рис. 1.11. Arduino Mini и Arduino Programmer

Платы LilyPad и LilyPad USB

Плата LilyPad и более новая ее версия LilyPad USB — одни из самых интересных моделей Arduino (рис. 1.12). Эти платы можно вшивать в элементы одежды и соединять их токопроводящими нитями со светодиодами, выключателями, акселерометрами и другими устройствами. Для программирования более старых плат LilyPad требуется использовать отдельный интерфейс USB, как в случае с Arduino Mini. Однако эти платы постепенно вытесняются более новой модификацией Arduino LilyPad USB, имеющей встроенный разъем USB.

Рис. 1.12. Arduino LilyPad

Неофициальные платы Arduino

Благодаря статусу открытого аппаратного обеспечения помимо «официальных» плат, описанных ранее, появилось множество неофициальных копий и модификаций Arduino. Прямые клоны Arduino, которые без труда можно найти на eBay и других недорогих торговых площадках, являются простыми копиями плат Arduino. Единственное их преимущество — невысокая цена. Но существует также ряд интересных Arduino-совместимых разработок, предлагающих дополнительные возможности.

В числе примеров такого рода плат, которым стоит уделить внимание, можно назвать:

• EtherTen — аналог платы Arduino Ethernet (www.freetronics.com/products/etherten);

• Leostick A — малогабаритный аналог платы Leonardo со встроенным разъемом USB (www.freetronics.com/collections/arduino/products/leostick).

Теперь, после знакомства с аппаратной стороной Arduino, можно перейти к знакомству с возможностями их программирования.

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

Многие ошибочно полагают, что платы Arduino имеют собственный язык программирования. В действительности программы для них пишутся на языке с простым названием C. Этот язык существует с самых первых дней развития вычислительной техники. А вот что действительно привносит Arduino — это набор простых в использовании команд, написанных на C, которые вы можете использовать в своих программах.

Пуристы могут заметить, что в Arduino используется C++, объектно-ориентированное расширение языка C. Строго говоря, они правы, однако наличие всего 1–2 Кбайт памяти обычно означает, что использование объектно-ориентированных приемов при программировании для Arduino не самая лучшая идея, за исключением особых ситуаций, и фактически программы пишутся на C.

Начнем с изменения скетча Blink.

Изменение скетча Blink

Может так случиться, что при первом включении ваша плата Arduino уже мигает светодиодом. Это объясняется тем, что платы Arduino часто поставляются с установленным скетчем Blink.