Гид компьютерного мира - Информационный портал
  • Главная
  • Вконтакте
  • Примеры использования data shield ардуино. Обзор игровой ТВ-приставки NVIDIA Shield TV

Примеры использования data shield ардуино. Обзор игровой ТВ-приставки NVIDIA Shield TV

Это подвид плат расширения, которые состыкуется с Arduino как бутерброд.

На наш взгляд, платы расширения можно поделить на два типа:

Пассивные

Они не несут особой смысловой нагрузки и созданы в большей мере для удобства пользователей. Ярким примером тому являются:

Служит для удобного подключения различных датчиков и модулей с помощью

Расширяющие функционал

Значительно расширяют возможности Arduino. Яркими примерами являются:

Позволит подключить Arduino к телефону с поддержкой Android, а также подключать различные устройства с USB интерфейсом

Расширяющие функционал шилды, так же как и Arduino модули ( ), имеют на своем борту конкретный элемент (драйвер двигателей, ethernet контроллер, дисплей и т.п.) со всей необходимой обвязкой для его работы. В отличии от модулей, которые можно подключить к произвольным пинам Arduino, выводы шилда, в большинстве случаев, жестко привязаны к выводам Arduino. Это расплата за очень простое и удобное подключение. Если свой проект вы хотите собрать в виде бутерброда из шилдов, то необходимо заранее обратить внимание на это и проверить, чтобы платы не задействовали одноименные выводы.

Данные платы значительно расширяют функционал платы Arduino. Из ярких примеров можно выделить

добавляет возможность подключить к Arduino моторы

Позволяет управлять Arduino платой через локальную сеть или Интернет

Плата вывода информации на текстовый 1602 дисплей, дополнительно оборудована кнопками

Позволит подключить Arduino к телефону с поддержкой Android, а также подключать различные устройства с интерфейсом USB

Шилд - это плата дополнения. Я предлагаю разделить шилды на полноразмерные и отдельные модули. Полноразмерные своими очертаниями повторяют форму платы Arduino, будь то UNO, Nano или MEGA. Отдельные модули - это платы произвольной формы, созданные для выполнения определенного набора функций. И те и другие могут быть как универсальными, так и для выполнения узконаправленных задач.

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

Начнем с шилда, который не несёт в себе никаких особенных функций, а создан для удобства монтажа ваших проектов. Итак первый в нашем обзоре облегчит монтаж проектов с платой Arduino Nano, правда толку от малых размеров «НАНО» в таком случае ноль.

На плате расположен разъём для подключения штекера от блока пиитания, стабилизатор напряжения, а также клеммные колодки. Они подписаны и соответствуют выводам «Нанки». Кроме того присутствует кнопка «сброс» и светодиод «Питание».

Второй шилд предназначен для платы Uno. На нем расположена беспаечная макетная плата для сборки проекта и выводы, дублирующие те, что на самой ардуине - удобное решение.

Любой аналоговый датчик нуждается в питании и минусовом контакте, когда их много - перемчек становится столько, что разобраться в схеме будет очень трудно. Поэтому конструкторы придумали шилды для таких решений. В них выведены все входы и выходы, а питающие контакты продублированы и размещены рядом.

Вот пример такой платы для Ардуино версии Мега.

Проводная и беспроводная связь

С помощью этих плат можно организовать управление микроконтроллером по сети через кабель Ethernet, например, или беспроводов - через GSM-связь, вставив сим-карту.

Эта плата называется w5100 - содержит Ethernet модуль и модуль SD-кардридера. Это значит, что можно хранить данные, например лог измерений датчиков на карту памяти и управлять системой через web-интерфейс. Чтобы связать с ним ардуино пользуйтесь библиотеками:

    Ethernet library;

Обратите внимание внешне он повторяет концепцию Arduino UNO R3, кроме того, он подойдет и на Mega.

Если W5100 вам кажется слишком крупным - то ENC28J60 займет меньше места. К сожалению в нем уже отсутствует SD-модуль.

Минусом является то, что он не может быть монтирован на плату, а выполнен в виде отдельного модуля.

W5500 - еще один вариант Ethernet-шилда. По своей сути - это доработанная версия W5100, оптимизированная в плане скорости и энергоэффективности.

Обратите внимание, на полноразмерных шилдах все пины дублируются клеммной колодкой. К сожалению, шилды используют порты. Конкретно этот задействует MOSI, MISO, SCK, и пин 10, для сигнала CS (выбор адресата для связи).

Если вам нужна беспроводная связь - ваш выбор это Wi-fi шилды, если есть интернет и роутер, а если этого нет - GSM-модули или GPRS Шилды.

На фото официальный шилд. На нём установлен слот под Micro SD-карту памяти, а связывается с микроконтроллером он по SPI-протоколам, через Mini-USB можно обновлять его программное обеспечение. Поддерживает 802.11b/g.

GPRS-шилд от «Амперки» вы видите выше. Вы можете заменить антенну на более мощную. Ближе к зрителю виден слот для SIM-карты, чуть дальше слот под батарейку CR1225. Батарейка на плате нужна для хота часов реального времени, а это немаловажное дополнение к возможностям GPRS-шилда. Вы можете отправлять СМС на него и с него.

С помощью этой платы можно вести контроль и давать команды (или любому другому проекту вашей реализации) находясь на любом удалении. Важно, чтобы вы находились в зоне приема сотовой связи.

Как хранить данные на Arduino?

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

Это скорее не шилд, а модуль. Он миниатюрен и легок для повторению, кстати, вот его схема.

Есть и полноразмерный шилд хранения данных. Работает с SD-картами памяти, на борту есть модуль часов реального времени, которые питаются от батарейки CR1220 напряжением в 3 В, что является неплохим бонусом.

Управляем мощной нагрузкой с микроконтроллера

Первое что может прийти в голову - это реле. С их помощью можно коммутировать как цепи постоянного тока, так и с бытовой электросетью 220 Вольт они справятся на ура.

Конкретно тот модуль что изображен ниже может коммутировать 1 кВт 220 В нагрузки (или 5А) по каждому из каналов, для повышения мощности можно либо запараллелить несколько каналов, либо включать этим реле . В таком случае реле со шилда будут играть роль промежуточных усилителей.

Конечно вы можете коммутировать реле так, как я описал в статье , через транзистор и подобрать нужно реле по току, но использовать готовую плату будет надежнее, удобнее и выглядит лучше.

У реле есть один недостаток - ограниченное количество срабатываний - это следствие выгорания контактов. Это бывает из-за возникновения дуги, при размыкании мощной нагрузки (особенно индуктивного характера - это двигателя и т.п.). Сделать такой шилд можно по следующей схеме:

А вот как это выглядит в сборе:

Поэму для включения нагрузки переменного тока можно использовать тиристоры и симисторы. Одна проблема - прямо к ардуине подключать их нельзя, при пробое pn- перехода управляющего электрода, 220 В могут оказаться на плате микроконтроллера и сжечь его. Выход из этой ситуации - использования оптосимистора.

Так как это задача часто становится перед изобретателями, было разработано готовое решение - симисторный shield, его полное название - ICStation 8 Channel EL Escudo Dos Shield for Arduino. Он изначально предназначался для управления свечением «гибкого неона».

У него есть 8 каналов, к которым подключается сеть переменного тока и нагрузка.

Шилды для двигателей

Управление электродвигателем не всегда легкий процесс. В некоторых ситуациях вам может не хватить пинов для реализации поставленной задачи, или алгоритм управления достаточно сложный. С такими платами вы гораздо быстрее одолеете проект своего робота.

Мотор-ШИЛД для ардуино может управлять электродвигателями постоянного тока (4 штуки) или двумя шаговыми моторчиками.

Он построен на базе двух L293. Эта микросхема представляет собой сборку из двух H мостов, это позволяет управлять с возможностью реверса двумя ДПТ, либо 1 шаговым биполярным двигателем. Схемы подключения соответсвенно:

А в левом верхнем углу платы есть две колодки под сервоприводы (плюс, минус и управляющий сигнал). Красным кругом обведено место куда устанавливается перемычка джампер. Если она стоит - то эта плата питается от базовой платы ардуино, а если нет - от внешнего источника на 5 В.

С помощью этого модуля от отечественного производителя можно управлять двумя двигателями постоянного тока, в нём тоже есть джампер объединяющий линии питания микроконтроллера или разъединающий их - для питания от отдельного источника.

Можно управлять двигателями, которые рассчитаны на диапазон напряжение от 5 до 24 Вольт. Вместо 2-х DC-моторов можно использовать 1 однофазный шаговый или запараллелить каналы и подключить 1 мощный DC мотор с током до 4А, а это не мало - 48 Вт при напряжении питания в 24 В.

Для подключения сервопривода нужно три провода - плюс, минус и сигнал, но что делать, если у вас много серв? Ваша плата превратится в месиво из перемычек. Чтобы это избежать есть Мультисерво шилд.

Здесь тоже есть возможность разделения цепей питания, как это было в предыдущем варианте. Итого можно подключить 18 сервоприводов (на плате нумерация от 0 до 17).

Везде есть своя специфика, шилды для необычных задач…

В атмеге328, сердце нашей платы, есть АЦП. Главная проблема в том, что на плате ардуино уно мы видим всего лишь 6 аналоговых входов. Что делать если у нас больше аналоговых датчиков?

Можно собрать две ардуино в единую сеть. Одну использовать в качестве основной, а вторую вспомогательную для изменений и с первой отправлять на сервер сигналы измерений или выводить их на экран… Но это сложно: нужно тратить память на дополнительные строки программного кода для реализации такой системы.

А что если умножить каждый вход на 16? Итого у нас может быть до 16*6=96 аналоговых входов. Это реально с помощью мультиплексора. Он просто переключает по очереди 16 аналоговых каналов на один аналоговый выход, который вы подключаете к такому же входу любого мироконтроллера.

Средствами микроконтроллера Атмега о-о-очень трудно релизовать функцию распознавания голоса, но ардуинщики могут не отчаиваться, есть специальное решение - EasyVR Shield 3.0.

Это готовое, но дорогое решение, на момент написания статьи он стоит почти 100 долларов в России. Сначала шилд запишет вашу команду, затем сравнит её с тем что записано в памяти, определив номер - выполнит её.

Вы можете устроить «диалог с компьютером», он может воспроизводить то, что в нём записано. Без дополнительных усилителей рекомендуется «общаться» с этой платой с расстояния не более 60 см.

Выводим изображение

LCD Keypad shield - это настоящая панель управления. На нём расположен дисплей LCD1602 (16 символов в две строки), и набор кнопок. Из-за них задействовано довольно много портов, например A0 и с D4 по D7 под клавиатуру, а порт D10 - ШИМ-регулятор яркости подсветки. D8 и D9 - сброс и включение.

На самом деле существует много дисплеев совместимых с ардуино. Вернее тех, о которых написано больше всего информации и вы легко их запустите в своей системе. Довольно популярен в кругах самодельщиков дисплей от NOKIA 5110, на выбор есть и OLED и TFT экраны, работающие по I2C. Но они не в «шилдовом» исполнении.

Автономное питание

Довольно необычный шилд в этой подборке, который выполняет обычную задачу. Power shield - это со всеми необходимыми защитами и разъёмом для зарядки. Вроде бы ничего особенного, но это обеспечит завершенный вид вашему проекту, а цепи питания не придется размещать рядом с основными платами.

Заключение

Использование шилдов для всех задач проекта позволит избежать излишнего числа перемычек и соединений, а это снизит количество ошибок и лишних перемычек. После сборки вы получите многоэтажный бутерброд из плат заводского изготовления. Такой подход иногда называют «модульная конструкция». Между прочим, это облегчит обслуживание, ремонт и наладку оборудования.

Энтузиасты практикуют проектирование, разводку и сборку уникальных модулей. Это одна из причин высокой популярности Ардуино не просто как платформы для самоделок, макетов и прототипов, но и как платформы для готовых решений.

  • Процессор: NVIDIA Tegra X1, 64-бит, техпроцесс 20 нм, 64-бит, четыре процессорных ядра Cortex-A57 (с объемом кэш-памяти L2 в 2 МБ) и четыре Cortex-A53
  • Графика: NVIDIA, 256 ядер
  • Память: 3 ГБ ОЗУ, 16 ГБ встроенной + внешние накопители
  • ОС: Android 7.0 (Nougat) на базе Android TV и Google Cast (встроена технология Chromecast)
  • Сеть: Wi-Fi b/g/n/ac MiMO, Dual Band, Gigabit Ethernet, Bluetooth версии 4.1, HDMI-CEC 2.0b (HDCP 2.2 + HDR10)
  • Звук: Dolby Digital Plus, Dolby Atmos 7.1/5.1 Pass-though
  • Игровые возможности: потоковый игровой сервис NVIDIA GeForce NOW™, NVIDIA GameStream™, NVIDIA Share
  • Вес и габариты приставки: 250 г, 158х98х9-25
  • Вес контроллера: 260 г
  • Вес пульта: 55 г

Введение

Не так давно компания NVIDIA представила на российском рынке продвинутую приставку с широкими мультимедийными фишками: от воспроизведения почти любого формата видео в любом разрешении до стриминга игр со своего ПК на экран телевизора. Кроме того, устройство Shield TV оснащено свежей операционной системой Android, что позволяет использовать все Google-сервисы, будь то фильмы, музыка, книги или игры. Среди оригинальных вещей, которыми не может похвастаться ни одна другая медиаприставка, – возможность играть в облачные ПК-игры через сервис GeForce Now. Более того, гаджет позволяет управлять «умным домом»: регулировать уровень освещения, температуру, включать или выключать музыку, контролировать замки в дверях и многое другое.

На данный момент на нашем рынке присутствуют две версии устройства. Одна называется Shield TV (на борту 16 ГБ встроенной памяти и меньше габариты), другая – Shield TV Pro (500 ГБ диск и больше габариты). Первая версия обойдется вам в 18 000 рублей, а вторая – в 26 000 рублей.

Комплект поставки

Внутри белой симпатичной плотной коробки находятся приставка, контроллер Shield, пульт Shield, сетевой адаптер, UBS-microUSB кабель, европейская вилка, краткая инструкция и информация по безопасности. Обращаю внимание, что кабеля HDMI здесь нет. Упаковано все надежно и качественно.




Док-станцию Shield Stand необходимо приобретать отдельно. Устройство и аксессуары к нему будут продаваться только и исключительно на сайте NVIDIA в разделе «Купить».

Внешний вид приставки, контроллера и пульта управления

Телевизионных приставок на тесте у меня было достаточно много, и все они, как правило, выглядели одинаково: либо прямоугольная коробка, либо овальная типа Xiaomi Mi TV. В устройстве NVIDIA Shield пошли по чуть более оригинальному пути: форму сложно назвать правильной прямоугольной, она как будто визуально перекошена на бок; состоит из отдельных неравнобедренных треугольников, которые расположены где-то выше, где-то ниже. БОльший треугольник имеет глянцевое покрытие, остальная часть верхней панели матовая. Под этим треугольником имеется вставка зеленого цвета. При включении гаджета она подсвечивается. Смотрится очень оригинально и симпатично. Справа внизу выдавлен глянцевый логотип NVIDIA. Боковые грани глянцевые. Откровенно говоря, я противник глянцевых поверхностей в подобных вещах: так или иначе, поверхность быстро будет покрываться пылью, другими следами, царапины будут заметнее и так далее.







Нижняя часть аппарата также состоит из геометрических фигур, покрыта чем-то типа софт-тач для устойчивости. Сзади есть вентиляционные отверстия, такие же присутствуют и на тыльной части гаджета.



Дополнительно можно приобрести специальный док Shield Stand, чтобы приставка принимала вертикальный формат. Стоит, не поверите, 2 500 рублей.

С обратной стороны NVIDIA Shield расположены следующие разъемы: вход питания (очень похож на Type-C, но не он, пробовал подключать кабель – ничего не вышло), стандартный Ethernet для подключения к интернету, HDMI-CEC 2.0b (поддержка протокола защиты цифрового контента HDCP 2.2 + HDR10) и два порта USB версии 3.0.


Контроллер выглядит вполне типично для таких вещей, однако текстура, да и рельеф похожи на полигональную сетку, напоминающую нам о том, что гаджет рассчитан на игрушки. Несмотря на такой внешний вид, контроллер держать удобно, никакого дискомфорта не ощущаешь. Поверхность матовая, слегка шершавая, все углубления и выпуклости сделаны так, что ладони точно обхватывают гаджет.


Стики сверху прорезинены; кнопки, крестик, бамперы и триггеры – глянцевые. Между двумя стиками имеется сенсорная полоска регулирования громкости, под ней – «Назад» «Старт» и «На главную». Две последние кнопки имеют и другие функции: «Старт» - плей/стоп музыки или видео, «На главную» - запуск меню трансляции (запись видео с экрана, скриншоты).












Под ними – разъем для подключения наушников 3.5 мм. На лицевой стороне – логотип NVIDIA, также является кнопкой активации голосового помощника, рядом находится микрофон (на него можно записывать игровой процесс). С обратной стороны – microUSB для заряда геймпада. Поскольку приставка у меня всего около месяца, отследить, сколько времени работает контроллер от одного заряда, сложно, но точно больше трех недель (официально около 60 часов).

Геймпад собран очень качественно, придраться не к чему. Есть виброотдача.

Пульт дистанционного управления («дружит» с приставкой по Bluetooth) сделан из пластика и металла (обратная сторона). Часть лицевой панели ДУ – глянцевая. Центральная область отвечает за сенсорное управление громкостью. Откровенно говоря, это самый большой фейл, так как почти всегда, когда хватал ДУ, случайно то увеличивал, то уменьшал громкость.







Пульт ДУ имеет, с моей точки зрения, не лучшую эргономику. Во-первых, уже описал: случайно регулируется громкость. Во-вторых, чаще всего все-таки нужен джойстик, а не большая кнопка голосового помощника, но чтобы дотянуться до него, необходимо переложить в ладони пульт. В-третьих, не очень удобная форма корпуса.

В нижней области имеется слот под две батарейки типа CR2032 3В.


Габариты приставки в сравнении с Apple iPhone 5


Габариты ПДУ в сравнении с Apple iPhone 5

Техническая составляющая приставки

Новинка работает под управлением процессора NVIDIA Tegra X1. Анонс данного чипа состоялся еще в 2015 году на выставке Consumer Electronics Show, и представил его генеральный директор NVIDIA Джен-сен Хуан.




Чип Tegra X1 (кодовое название - NVIDIA Erista) является шестым поколением семейства Tegra и произведен компанией Taiwan Semiconductor Manufacturing Company. Что такое X1: изолированные шины электропитания, коммутационная система четвертого поколения, техпроцесс 20 нм, 64-бит, четыре процессорных ядра Cortex-A57 (с объемом кэш-памяти L2 в 2 МБ) и четыре Cortex-A53.

Графическая система NVIDIA Shield TV имеет GPU с 256 ядрами с архитектурой NVIDIA Maxwell, поддерживает DirectX 12, OpenGL 4.5, NVIDIA CUDA, OpenGL ES 3.1, Vulkan API и набор расширений AEP (Android Extension Pack).

Тест производительности





Чипсет справляется с 4K видео H.265, VP9 и частотой смены кадров 60 fps, 4K x 2K с частотой 60 Гц, 1080p с частотой 120 Гц.

Ниже – две таблицы с возможностями приставки и сравнение с ближайшими конкурентами:

Устройство прочитало без проблем все тестовые ролики.

Видео

  • Воспроизведение в разрешении до 4K HDR с частотой смены кадров 60 FPS (H.265/HEVC)
  • Воспроизведение в разрешении до 4K с частотой смены кадров 60 FPS (VP8, VP9, H.264, MPEG1/2)
  • Воспроизведение в разрешении до 1080p с частотой смены кадров 60 FPS (H.263, MJPEG, MPEG4, WMV9/VC1)
  • Поддерживаемые форматы: Xvid/DivX/ASF/AVI/MKV/MOV/M2TS/MPEG-TS/MP4/WEB-M

Звук

  • Многоканальный звук Dolby Atmos и объемный звук DTS-X через HDMI
  • Воспроизведение аудио высокой четкости до 24 бит/192 кГц через HDMI и USB разъемы
  • Увеличение частоты аудио до 24 бит/192 кГц через USB
  • Поддержка: AAC, AAC+, eAAC+, MP3, WAVE, AMR, OGG Vorbis, FLAC, PCM, WMA, WMA-Pro, WMA-Lossless, DD+/DTS (pass-through), Dolby Atmos и Dolby TrueHD (pass-through), DTS-X и DTS-HD (pass-through)

Вопросов к скорости приставки нет, все работает быстро, без задержек, лагов и тормозов. Игры для Android запускаются легко и непринужденно:) Все идут на максимальных настройках.

Работа с приставкой

Первое, что стоит отметить, – наличие приложения PLEX для стриминга любого видео на телевизор. Эта программа есть как в версии TV, так и в версии TV Pro. Смысл очень простой: вы загружаете контент с ПК или Mac на приставку и стримите на ТВ. Все просто и понятно.

GeForce Now

Следующий козырь в устройстве NVIDIA Shield – функция GeForce Now. Она находится в разделе NVIDIA Game на главном экране. Посетив данный раздел, вы обнаружите множество различных ПК-игр: например, Just Cause 2, The Witcher 3, Trine, Tomb Raider, Hitman, Doom 3, Resident Evil 5, BorderLands 2, Mad Max, Saint Row, Dead Island, Sniper Elite, Sonic, Star Wars, Portal и такие вечные игры, как Half-life 2 Episode 1 и 2. Список игр .





Остается лишь запустить.


Сразу хочу предупредить, что для этого сервиса потребуется качественный быстрый интернет с приличным роутером, потому как вся информация будет стримиться с разных серверов. Насколько я понял, в России таких серверов пока нет.

У меня на тесте были Samsung SUHD TV 7000 серии и роутер с поддержкой 5 ГГц. При всех благоприятных условиях почти все игрушки запускаются очень быстро. Разрешение выбираете в самой игре.

Если сеть не тормозит и скорость соединения более 50 Мбит/с, то детализация в игре достаточно высокая. Однако в некоторых играх мне не удалось получить картинку 4К, поэтому изображение было HD (с чем это связано, не совсем ясно, так как игры на ПК спокойно «понимали» как минимум FullHD). Что касается задержки, то она есть, но в большинстве случаев играть можно без проблем, особенно в игры, не требующие быстрых реакций.

В целом оригинальная функция GeForce Now, позволяющая играть в ПК-игры на максимальных параметрах (пусть и не всегда в самые свежие) без мощного компьютера (на момент теста у меня еще был iMac, сами понимаете, на нем особенно не поиграешь).

Скриншоты из игры Metro 2033 (технология GeForce Now)



Скриншоты из игры MadMax (технология GeForce Now)

Гаджет работал очень быстро, с игрушками не было проблем даже в разрешении 4К и почти со всеми включенными графическими параметрами. Запускал Metal Gear Solid V: The Phantom Pain и, конечно же, GTA V.


Для стриминга игр GameStream потребуется приложение GeForce Experience. После инсталляции приложения установите игру и добавьте ее в GE. Далее иконка игры появится на приставке в разделе GameStream. Запускать можно как на ПК, так и через приставку.

В данном случае качество картинки на ТВ будет зависеть не только от скорости сети, но и от мощности компьютера, с которого передается игра. В случае с MSI GT62VR проблем не было. Тестировал GTA V на максимальных параметрах в 4К-разрешении.





Со стримингом игрушек с ПК было, конечно же, повеселей: во-первых, можно играть в любые игры (ну почти, есть список), во-вторых, изображение значительно лучше, чем в режиме GeForce Now. Задержек не наблюдал, по крайней мере, спокойно прошел несколько миссий в GTA. Да, наблюдал лаги, но они были единичными. Другой вопрос, что я не привык пользоваться геймпадом, поэтому играть было совсем непривычно:)





>

Пример стриминга Metal Gear Solid V: The Phantom Pain с MSI GT62VR


Пример стриминга GTA V с MSI GT62VR









Arduino - крохотная плата с большими возможностями, типичный представитель Open Hardware и одно из первых устройств, завоевавших широкую популярность у аппаратных хакеров. Не мудрено: удобный электронный конструктор позволяет даже новичкам быстро разобраться и начать с нуля разрабатывать собственные устройства.

Как быстро начать?

Для быстрого начала новичку проще всего купить готовую плату - стоит она примерно $30. На плате будет всего два чипа - микроконтроллер ATMEL и микросхема USB-интерфейса, к которой он подключен. Все остальные элементы добавляются самостоятельно по мере необходимости.

Программы для Arduino (называемые на сленге «скетчами») пишутся на языке Wiring. По сути, это обычный C++, расширенный специальными процедурами типа «digitalWrite» (записать значение в порт) или «analogRead» (прочитать значение из АЦП). Осваивается все это в один-два присеста, особенно если у тебя уже есть опыт программирования на C++. Написанные скетчи компилируются и загружаются в Arduino через USB с помощью среды ArduinoIDE (arduino.cc/en/Main/Software). Чтобы собрать простейший проект требуются какие-то минут тридцать, без необходимости глубокого погружения в даташиты ATMEL и конструкции ассемблера. Язык интуитивно понятен, а разобраться с нюансами поможет неплохой онлайн-хелп. Да и паять, кстати, тоже необязательно, если есть беспаечная макетка и набор проводков.

Все выводы микроконтроллера выведены на два аккуратных ряда колодок, к которым можно подключать датчики, кнопки, дисплеи и тому подобное. Однако, чем сложнее обвязка, тем больше с ней может быть геморроя. Если речь идет про пару светодиодов и кнопок, то никаких сложностей. Но вот если требуется управлять моторами или обмениваться данными через радиоинтерфейс, возникает ряд сложностей. Для борьбы с этим пороком и придумали шилд-платы - готовые платы для расширения функциональности.

Что такое Shield-плата?

Shield-плата - это готовое решение для реализации частых задач, встающих перед разработчиками железа. Примерами таких задач могут быть и передача данных через радиоинтерфейс, и работа с Ethernet, и управление электронными двигателями. Платы расширения легко устанавливаются на Arduino, стыкуясь с колодками пинов и образуя весьма жесткую бутербродообразную конструкцию.

Можно устанавливать несколько плат одновременно, главное, чтобы устройства не конфликтовали за одни и те же пины Arduino. Немного покопавшись в сети, можно найти таблицы со списком популярных шилдов и занятых ими пинов (shieldlist.org).

Дальше остается лишь подцепить соответствующую библиотеку к основному скетчу и опробовать работу схемы с помощью прилагаемого к библиотеке скетча-примера. При таком подходе время экономится дважды: сначала на разработку и отладку аппаратной части, а затем - программной. Однако по-настоящему удачных и популярных шилд-плат существует всего пара десятков. Чем хороший шилд отличается от плохого?

В первую очередь, на нем обязана быть кнопка сброса. Оценить это может любой, кто отлаживал Arduino с одетым шилдом - штатная кнопка сброса становится недоступной и упражнения по ее нажиманию при помощи подручных продолговатых предметов порядком раздражают. Хороший шилд также должен быть совместим с Arduino Mega - если у тебя расширенная версия Arduino на ATmega1280 или ATmega2560, еще не факт, что с ней заработает шилд, созданный для привычной Uno или Duemilanova. А все из-за того, что в Mega отвечающие за аппаратный SPI пины перенесли в другое место! Так что если шилд общается с Arduino по шине SPI, обязательно изучи его «брюхо» - надеяться на совместимость с Mega можно, если ты увидишь там не только штырьки, но и черный квадратный разъем-розетку 2х3. Ниже я подготовил обзор лучших готовых Shield-плат для решения частых задач.

Управление моторами

Если необходимо управлять моторами, смело используй шилд Motorshield, созданный талантливым американским инженером Лимором Фридом aka ladyada (ladyada.net/make/mshield/).

Главное преимущество шилда заключается в его универсальности, поскольку он поддерживает до четырех моторов прямого тока, до двух шаговых двигателей и двух серво-приводов. Можно комбинировать: например, один шаговый и два двигателя постоянного тока. Основу шилда обеспечивают две микросхемы счетверенного H-моста L293D, способные выдавать ток до 600 мА на канал и работать напряжениями от 4,5 до 36 В. Запараллелив входы одной микросхемы, можно отодвинуть ограничение по току до 1,2 А.

С помощью этого шилда можно, например, управлять одновременно моторами и рулевой тягой модели гоночного автомобиля, шаговыми двигателями координатного стола. Для более мощных нагрузок можно использовать Ardumoto с чипом L298 от фирмы Sparkfun (два канала с токами нагрузки до 2 А) или ее более продвинутую версию Monster Moto Shield (sparkfun.com/products/10182) на двух чипах VNH2SP30, способную отдавать уже до 30 А с предельным напряжением 41 В. Если дело дойдет до последнего варианта, не забудь посоветоваться со знающими спецами: все-таки нагрузки довольно приличные, возможно придется обзавестись дополнительным радиатором, чтобы не обжечься.

Работа с Ethernet

Существуют два основных варианта шилдов для работы с Ethernet - на основе старого доброго чипа ENC28J60 от Microchip и более совершенного W5100 от Wiznet. Оба решения используют для обмена шину SPI, отнимая всего четыре пина Arduino. Но ENC28J60 появился много раньше и явно проигрывает продвинутому W5100: только 10 Мбит/с, нет аппаратной поддержки IP, UDP, TCP. Кроме того, W5100 позволяет работать с четырьмя сокетами (что означает поддержку до четырех одновременных соединений).

В общем, настоятельно рекомендую использовать именно W5100, потому что он существенно экономит ключевой ресурс микроконтроллера - оперативную память (SRAM), которую приходится экономить (у Atmega328 - всего один килобайт). Ну и все остальные преимущества предобработки налицо: пока W5100 сам переспрашивает пакеты по протоколу TCP и считает контрольные суммы заголовков, Atmegа может спокойно заниматься более важными вещами.

Другим образцовым примером является шилд Arduino Ethernet Shield (arduino.cc/en/Main/ArduinoEthernetShield) от команды Arduino. С его помощью можно создать скетч, который будет способен:

  • получать динамический IP-адрес по DHCP;
  • устанавливать время по протоколу NTP;
  • резолвить имена через DNS;
  • проходить авторизацию через RADIUS;
  • выполнять функции несложного Web-сервера или выступать в качестве Web-клиента, формируя запросы и осуществляя парсинг ответов.

Из схожих плат можно отметить разработку Freetronics - EthernetShield with PoE (freetronics.com/products/ethernet-shieldwithpoe). Идея питания Ethernet-устройства от той же линии Ethernet, к которой оно и подключено, родилась в 2001 году, а два года спустя стала официальным промышленным стандартом IEEE 802.3af. По собственному опыту замечу, что нет ничего удобнее для питания автономных коробочек, которые общаются по Ethernet и разбросаны по зданию в радиусе 100 метров от специального питающего коммутатора. Стоит такой шилд чуть дороже, требует приобретения дополнительной микроплатки модуля PoE и вместо SD-разъема имеет макетное поле.

Применение такому шилду - исключительно в неподвижных конструкциях, требующих взаимодействия по сети TCP/ IP. Например, отображение в браузер состояния подключенных датчиков или удаленное управление какими-то механизмами.

Сразу вспоминается проект «твиттер-цветочка», в котором связка Arduino+Ethernet при помощи воткнутого в землю датчика влажности через твиттер жаловалась на сухость и требовала немедленного полива. При всем многообразии применения EthernetShield хочу предупредить о том, что каждая библиотека, безусловно, экономит время, однако и отнимает несколько килобайт флеш-памяти микроконтроллера. Поэтому, если рано или поздно упрешься в предельный размер 30 Кб своей Arduino Duemilanova - подумай о замене на Mega 2560, памяти для скетчей будет раз в восемь с половиной больше.

Использование SD-карт

В проектах, связанных с накоплением какой-либо информации (например, GPS-координат), часто требуется нарастить объем доступной энергонезависимой памяти. Проще всего это сделать, подключив стандартную SD-карту. Для этого есть несколько готовых шилдов. Самый симпатичный из известных мне вариантов - microSD module, разработан испанской фирмой Libellium, специализирующейся на мониторинге окружающей среды (goo.gl/iHCy4).

Шилд занимает всего одну колодку пинов Arduino и позволяет работать с SD и SDHC-картами, предварительно отформатированными на в FAT16 (предпочтительнее) или FAT32. Единовременно можно работать только с одним файлом, длинные имена не поддерживаются.

Беспроводные шилды

Самые простые RF-модули на амплитудной модуляции (ASK), работающие в нелицензируемом диапазоне 433 и 313 МГц хоть и могут использоваться с Arduino через библиотеку VirtualWire, но все равно представляются мне довольно плохим вариантом.

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

Полярную противоположность представляют платы семейства Xbee, основанные на протоколах Zigbee, идеально подходящие для организации распределенных сенсорных сетей с автономным питанием. Каждая такая плата сама по себе является устройством с микроконтроллером на борту, и от шилда требуется совсем немного - обеспечить согласование с Arduino. Называются такие шилды обычно «Xbee Shield», но не всегда - например, Libellium разработал Communication Shield (goo.gl/OZDxl). Шилд обязательно содержит два ряда колодок, к которым пристыковывается модуль в формате Xbee.

Единственный недостаток, пожалуй, это цена самого модуля Xbee. Взамен получаем скорость до 250 Кбит/с, дальность в пределах прямой видимости до 90 метров (модификация Xbee PRO может добивать до 1,2 км), шифрование, экономное энергопотребление и возможность ретрансляции данных (два модуля прозрачно общаются друг с другом через третий).

Давно замечено, что если в компании заходит речь про беспроводные сети, первым делом почему-то вспоминают про WiFi, гораздо реже - про Bluetooth. В качестве примеров подойдут WiFly Shield от SparkFun (sparkfun.com/products/9954) и Bluetooth module от Libellium (cooking-hacks.com/index.php/arduinobluetoothmodule-89.html). Последний выполнен в формате Xbee и будет работать с любым переходным шилдом для Xbee, а программная настройка из Arduino напоминает диалог с модемом - через последовательный порт и AT-команды. Кстати, в свое время была выпущена оригинальная плата Arduino BT (arduino.cc/en/Main/ArduinoBoardBluetooth), которая не имела USB-интерфейса, но программировалась и подключалась к компьютеру именно через Bluetooth. Большого распространения она не получила - может быть, в силу увеличения цены.

Для обмена данными через GSM обычно используется мобильник, способный работать по последовательному порту на уровнях TTL.
Но сейчас таких все меньше и меньше - их вытесняет USB, для работы с которым требуется быть хостом (а не девайсом, каковым является Arduino). Но, к счастью, производители уже давно штампуют законченные GSM-модули, к которым остается при крутить внешнюю антенну и разъем симки. За примером далеко ходить не надо - GPRS Quadband module for Arduino от Libellium (goo.gl/KueFH), который базируется на GPRS-модеме от SAGEM.
Особенность именно этой модели - GRPS-модуль съемный, и можно передавать не только данные - разведен выход на внешний спикерфон.

Разные шилды

Подводя краткий итог, можно с уверенностью сказать - решения почти всех типичных задач давно существуют в виде шилдов. Но не стоит думать, что на этом все заканчивается. Вот несколько примеров: Radiation Sensor Board от Libellium (счетчик Гейгера).

Шилд своими руками

В качестве примера создадим свой собственный LCD-шилд. Схема подключения популярного алфавитно-цифрового ЖКИдисплея 1602 на контроллере HD44780 возможна в двух вариантах - восьмибитной шиной или четырехбитной. Самое время открыть стратегию шилдостроения Arduino: пинов много не бывает! Стараемся использовать их по минимуму и поэтому выбираем четырехбитную схему (на наше счастье, поддержка такой схемы входит в дистрибутив ArduinoIDE, в виде библиотеки LiquidCrystal).

Используем для построения нашего шилда специальную заготовку - протошилд, который представляет собой макетную плату с небольшими изысками. Самая главная его ценность - это правильно расставленные отверстия для пинов, для идеальной стыковки с Arduino. Так уж получилось, что все колодки пинов расположены на сетке с шагом 2,54 мм, кроме одной (если бы не этот досадный факт, можно было бы взять любой кусочек «дырчатой макетки» и впаять в него стыковочные вилки PLS). Сделано это было специально, чтобы реципиент по рассеянности не вставил шилд наоборот и не пожег на корню будущий шедевр.
Обрати внимание, что схема предусматривает наличие переменного резистора для регулировки контрастности. Это важно! Если забить на это, при правильной в остальном схеме и скетче ничего видно не будет. Подойдет любой на 10-20 кОм, а конкретно на этом протошилде он уже и так предусмотрен - правда подключен ко входу analog0, поэтому придется припаять лишний проводок.

Возьмем кусочек штыревой гребенки PLS и распаяем сначала на контакты дисплея, а затем - на шилд. После этого надо взять монтажный провод и аккуратно, по очереди, зачистить и напаять проводки от дисплея к пинам Arduino согласно схеме - благо, она несложная. У меня интуитивным образом получилось упрятать большую часть под дисплей.

Оденем полученный результат на Arduino и загрузим первый тестовый скетч-пример из каталога LiquidCrystal. Ничего нет на экране? Или куча черных квадратиков? Не беда, самое время подкрутить переменный резистор - уверен, что-то обязательно появится! В этом случае можешь облегченно вздохнуть - теперь у тебя есть первый шилд собственного изготовления. Ну и раз уж он заработал - можно заодно его русифицировать. В свое время я изменил стандартную библиотеку так, чтобы символы кириллицы корректно транслировались из UTF-8 в знакогенератор дисплея. Ищи последнюю версию библиотеки на github.com/mk90 .

Если вы стали счастливым обладателем Arduino, вы наверняка слышали про платы расширения - так называемые шилды (Arduino shield), с помощью которых можете очень быстро расширить функциональные возможности вашего Arduino.

Как правило, большинство шилдов изготавливается под конкретный форм-фактор платы. В большинстве случаев - это микроконтроллеры Arduino Uno. Идея шилдов состоит в том, что вы покупаете отдельный модуль, который "садится" сверху на ваш микроконтроллер. Можно использовать несколько шилдов одновременно, устанавливая их один на другой. В результате вы получить многофункциональный "пирог" Arduino.

Официальный шилд от создателей Arduino. - это отличный вариант, чтобы обеспечить независимость вашего проекта от вашего персонального компьютера, так как он дает возможность наладить связь Arduino с интернет. Интересная особенность данного шилда - наличие на нем слота для MicroSD карты. Так что если в вашем проекте обрабатывается большой объем информации, например - mp3 файлы или видео; или вам надо хранить большие массивы данных для таких проектов как, например, светодиодный куб, хранить данные вы можете именно на SD карте.

Можно обеспечить работу хостинга для веб-сервера с использованием Ethernet шилда.

Перед тем как вы кинулись покупать Ethernet Shield, предупреждаю из личного опыта: Ethernet шилды зависимы от версий. Сначала я купил шилд v3 т оказалось, он не подходить к моему Arduino Uno v2, так как на версии платы v3 добавлено два пина. Кстати, Ethernet Shield стоит дороже чем сам контроллер Arduino, так что пришлось купить новую Arduino, а старую версию оставить для других проектов.

Так что проверяйте версию вашей платы и Ethernet шилда, который вы собираетесь покупать.

Реле - основой узел многих устройств для домашней (и на только домашней) автоматизации. Реле используются в проетах Arduino , в которых необходимо подключения электрических цепей с большим питания. Если вы когда-то подключали реле, вы знаете, что для его работы необходима дополнительная обвязка: транзистор, диод и т.п. Если вам для проекта надо несколько реле, то монтажная плата (bredboard) очень быстро обрастет кучей проводников и контактов, в которых разобраться будет очень сложно.

4 Relay Shield (шилд на 4 реле) предоставляет вам все необходимые контакты для подключения 4-х периферийных устройств. Каждое реле дает возможность подключать оборудование которое работает с силой тока до 3 ампер. Конечно, можно использовать реле шилд и для маломощных электрических цепей. В таком формате их часто используют для замены переключателей.

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


Protoshield (протошилд) сам по себе ничего не делает. Потому он такой плоский;). Очень полезный шилд. После того как вы создали свой прототип с использованием монтажной платы и кучи проводов, стоит подумать о его презентабельности и удобстве. В этот момент вам пригодится протошилд. Вы собираете всю схему на нем и садите его сверху на вашу Arduino как любой другой шилд. То есть - это отличный вариант для создания собственного шилда!


LCD Shield

Зачем вам LCD Shield? Все просто: выводить информацию с Arduino не на персональный компьютер с использованием серийного монитора, а напрямую на периферийный экран! Это реально классно! Но! При использовании внешних экранов, вам обычно требуется 7 и более контактов с Arduino. Это очень ограничивает возможности дальнейшего подключения периферийных устройств. В этом LCD шилде используется протокол передачи данных I2C, то есть для его подключения задействуются лишь 2 пина! Кроме того, параллельно к этим же контактам можно подключить другое оборудование, работающее по тому же протоколу передачи данных.

В добавок к экрану, на LCD шилде установлено 4 "управляющие" кнопки и кнопка "select" (выбор). Благодаря этому у вас появляется дополнительный интерактивный интерфейс и непосредственного подключения к ПК при работе с шилдом можно избежать. Если монохромный дисплей вас не впечатляет, вы можете спокойно апгрейдить шилд, установив 1.8 inch TFT 18-bit color screen.

Вот на этом этапе вы должны понять, что не все шилды 100% совместимы друг с другом. Некоторые из них надо устанавливать сверху вашего Arduino "пирога". Именно к таким шилдам относится LCD шилд.


Energy shield расширяет ваши возможности с точки зрения обеспечения питания проектов на Arduino. Шилд позволяет подключать различные источники питания и обеспечивать их работу с Arduino. Одна из самых ярких сфер применения - обеспечение подзарядки мобильных телефонов и гаджетов.


Обеспечивает возможность управления множеством моторов с использованием Arduino. На шилде установлены все необходимые регуляторы, переключатели, предохранители. В общем, на motor шилде есть все для обеспечения простого управления двигателями и для их защиты.


Во многих проектах необходимо обрабатывать большие массивы информации, для хранения которой недостаточно встроенной в Arduino памяти. Именно в этом случае вам может понадобится SD Card Shield. Он совместим с картами памяти форматов SD, SDHCи MicroSD. Sd Card шилд использует простой SPI интерфейс для подключения и передачи данных.


Этот шилд предоставляет вам действительно огромные возможности, позволяя настроить передачу данных от Arduino с использованием WiFi технологий. Уверен, вы найдете ему достойное применение. Начиная от дистанционного управления вашими приводами в роботизированных проектах и заканчивая передачей данных с датчиков и сенсоров о состоянии того или иного объекта в режиме реального времени. WiFi шилд подключается к серийному порту.


GPRS Shield дает Arduino возможность использовать сети GSM/GPRS, которые используются для мобильных телефонов. В результате вы можете делать и принимать звонки и текстовые сообщения! Как правило, GPRS шилды оснащаются антеннами.


E-Ink shield - очень интересная разработка, которая использует технологию электронных чернил (та же технология используется в электронных книгах). Основное преимущество E-Ink шилда - вы получаете дисплей, который требует минимум энергии для питания и предоставляет отличный формат для отображения и чтения текста. Подобные шилды могут отобразить текст даже без использования внешнего питания!


Music Shield дает вам возможность воспроизводить музыку в отличном качестве чрез Arduino. Шилд поддерживает широкий диапазон музыкальных форматов для воспроизведения. Естественно, в Music шилде предусмотрен слот для SD карты. Так что вы без проблем сможете загрузить вашу медиатеку без использования дополнительного SD шилда.


Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Лучшие статьи по теме