Вначале стоит понять, о чем вообще пойдет речь, а вернее о том, что такое в сущности Arduino и при чем тут shield (в переводе с английского – щит).
Назначение устройства
Ардуино – во всех его модификациях UNO, NANO, MEGA и прочих – достаточно сложный контроллер по своим возможностям, скорее напоминающий полноценный компьютер.
Его основное предназначение заключено в программном управлении различными пользовательскими устройствами, зачастую выпускаемыми непрофессионалами для нестандартных применений. Сюда можно отнести и различные системы контроля теплиц, отопления, безопасности, освещения, полива и прочих устройств, для которых продаваемые сборки или слишком дороги, или не обеспечивают требуемых возможностей в общем.
В своей основе, Ардуино – универсальный контроллер, в возможностях которого множество функций, выполняющих не только подачу управляющих сигналов, но и обработку обратной связи от датчиков, с использованием программного обеспечения, написанного начинающими или опытными специалистами.
Что касается Arduino Shield, – они представляют собой дополнительные платы расширения, зачастую размещаемые на основную самого контроллера и совместимые с ним контактно.
В своей общности их очень много, для обеспечения различных дополнительных функций. Они применяются в плане предоставления возможностей связи, взаимодействия с сенсорами, управляемыми устройствами или попросту расширяют возможности самого Ардуино.
Конечно, кроме шилдов существуют и отдельно выпускаемые расширяющие модули, но зачастую их подключение к основной плате достаточно неудобно, оно производится проводами напрямую от их контактных площадок.
В отличие от такой конструкции, компоненты шилды обладают правильным расположением входов, которые совпадают с аналогичными на основной плате. К тому же, в обязательном порядке предусмотрены крепления, дающие возможность совмещать один компонент над другим. В свою очередь, общая разводка позволяет подключать следующий shield выше предыдущего, создавая своеобразное комплексное устройство.
Попросту говоря, подключение шилдов ардуино выполняется методом своеобразного бутерброда, когда следующий вставляется в предыдущий. При этом снизу всей конструкции находится сам микроконтроллер.
Рассмотрим наиболее популярные схемы шилдов Ардуино.
Gprs shield от «Амперки»
Устанавливается шилд на Ардуино и работает с ней в комплексе. Плата оснащена разъемом сим-карты, местом установки аккумулятора CR1225 для часов реального времени и точкой подключения съемной антенны GSM связи. Последнюю можно позже заменить на более мощную.
Основное предназначение у платы – соединение Ардуино с пользователем посредством сотовой связи.
Шилд хранения файлов
Вопрос хранения данных всегда важен, особенно в системах их обработки. Ниже представлен большой брат более простой модели, позволяющий размещать его плату в сам стек устройств Ардуино.
Основная направленность шилда – обеспечивать интерфейс между контроллером и SD картой хранения данных. Запись и чтение устройством поддерживается в распространенных файловых системах FAT12 и FAT32.
Младшая модель представлена модулем, но обе они достаточно легки к повторению благодаря своей простой конструкции.
Shield, управляющий мощной нагрузкой
Конечно, требовательность коммутируемых устройств здесь не превышает 220В при 5А постоянного тока, но можно подключить к выходам магнитные пускатели, с помощью которых уже управлять гораздо более мощным оборудованием.
Понимание принципов платы расширения и управляющих сигналов Arduino можно определить по схеме устройства:
К сожалению, описанное устройство не может коммутировать сети переменного тока. Для этого используется посредник, подключаемый далее – ICStation 8 Channel EL Escudo Dos Shield for Arduino. Это семисторный вид шилдов Arduino на 8 каналов. Благодаря ему микроконтроллер может управлять шинами переменного тока.
Двигатели и Ардуино
Одной из ниш применения микроконтроллеров всегда были роботизированные приборы, для которых обязательно нужны драйверы, управляющие двигателями.
В нише Ардуино разработан целый класс таких устройств, предназначенных для установки в качестве шилда, с целью прямого контактного подключения двигателей. Примером может служить Motor Shield, предназначенный для контроля четырех фазовых моторов постоянного тока или пары шаговых.
Основа устройства – две мостовых микросхемы L293, контактные группы портов которых в точках подключения к Ардуино демонстрируются далее:
В верхнем левом углу можно видеть входы группы контроля, в которые поступает плюс, минус и управляющий сигнал. Где помечено стрелкой, обычно размещается перемычка, указывающая устройству, откуда оно берет энергию – от самой Ардуино или внешнего питания. Обычно в схеме используется напряжение 5В.
Для применения шилда с 4-мя фазовыми двигателями выполняется немного другой их монтаж с этой платой:
Основная библиотека для управления – AFMotor.
Есть вариант исполнения от российского изготовителя. Его основное отличие – только одна мостовая L298, что соответственно уменьшает возможности устройства. Коммутация выполняется или одного шагового двигателя, или двух фазовых.
Плюсом можно назвать их поддерживаемую мощность – в параллельном режиме доступно питать 4-амперный мотор, рассчитанный на работу от 24В.
Это еще не все, что относится к контролю моторов. Часто применяются роботизированные сборки, в которых намного больше, чем пара двигателей. Для них соответственно требуется много серво-шилдов. Большое их количество вполне заменит универсальный Multi Servo Shield. Его схема подключения:
Конечно, устройство не блещет мощностью подключаемых моторов, но его плюс в их количестве. Можно использовать аж 24 штуки.
Питание
Важным вопросом для Atmega, как, впрочем, и любого микрокомпьютера, служит питание. Существуют шилды, обеспечивающие его бесперебойность в случае утраты внешнего источника:
Функция выполняется схемой с литий-ионным аккумулятором, размещаемым на своей плате в общий стек Ардуино. Обеспечивается полный автоматизированный контроль поступления внешнего напряжения и поддержка всей сборки в рабочем состоянии в случае его отсутствия.
Сеть
Не оставлен без внимания и вопрос внешних коммуникаций. Шилды этого типа зачастую поставляются вместе с разъемами чтения SD-card.
Самым простым из существующих на текущий момент считается W5100, более продвинутый – W5500. Последний обладает лучшей оптимизацией в плане быстродействия и энергосбережения. Основное предназначение обоих – связь посредством кабельных UDP сетей по протоколу TCP/IP.
Есть у этих плат и младший брат для соединения с Arduino NANO. Но он изготавливается в виде модуля, а не шилда, и лишен разъема для SD-card.
Не забыты и беспроводные коммуникации по WIFI. К примеру, ниже представлен официальный шилд, использующий 802.11b/g соединения.
Как видно по фотографии, на схеме кроме разъема для SD-карт присутствует и мини-USB, через который можно производить обновление ПО самого устройства, в основе своей – микроконтроллера связи.
Интерфейс с человеком
Самое главное для любого компьютера – обеспечивать интерфейс с человеком. Здесь есть целый комплекс шилдов, от экрана с несколькими управляющими клавишами до системы распознавания голоса. Последняя представлена ниже:
Среди функций шилда не только контроль произносимого человеком, но и воспроизведение определенного текста, записанного в память устройства. Очень удобная возможность для организации своеобразного голосового диалога с Ардуино.
Конечно, говорить мало, нужно еще и видеть, что происходит. Здесь поможет LCD Keypad shield – шилд, обладающий двухстрочным экраном на 16 символов в каждой строке. Кроме отображения информации на его плате расположено несколько клавиш, позволяющих отдавать команды их нажатием контроллеру.
Конечно, эта модель не единственная. В ее классе множество устройств. Для конкретно названой, из технических данных можно сообщить, что она использует для своей работы множество портов Ардуино. Распиновка платы с описанием входов:
Используемая библиотека для работы с дисплеем – LiquidCrystal.
Шилды, изменяющие модель контроллера
Конечно, здесь речь идет не о наращивании мощности, а об увеличении размера платы под следующий вид модели и соответствующее количество контактов.
Хорошим примером может послужить Nano Uno shield, превращающий Ардуино НАНО в УНО.
Объединяющий шилд
Существует целый класс плат, которые обладают возможностями объединения многих других, выводя выходы их на одну. Характерный представитель – Arduino Sensor Shield. Чего только на нем не присутствует – порты COM, I2C, 6 цифровых и 12 аналоговых, коннектор LCD двух видов, возможность присоединения Bluetooth, радио модуля, и ридера SD.
Дополнительные возможности
В конце хотелось бы вспомнить Arduino More-Core Shield. Очень своеобразная вещь, в своей основе – дополнительный микроконтроллер, расширяющий возможности центрального с использованием процессора ATMega328. Этакое второе ядро системы, причем количество их можно наращивать, подключая колодки в общий стек.
Перечислены, конечно, далеко не все виды и типы шилдов, рассказано было только о наиболее известных из них.
Главный плюс оборудования такого типа – низкая цена приобретения и владения, при глобальности предоставляемых возможностей. Даже начинающий специалист, пользуясь модулями и шилдами Ардуино, способен создать любое устройство, которое полностью покроет все его запросы.