Самодельный шилд для arduino. Электронный конструктор: Обзор лучших Shield-плат для Arduino

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

Arduino: высокотехнологичный конструктор

"Ардуино" представляет собой плату на микроконтроллерах с множеством контактов и собственным процессором. Плата является основой, к которой можно подключать довольно большое количество так называемых шилдов (от англ. shield — щит), расширяющих функциональность платы. Используется она в системах автоматизации процессов, но может также запросто применяться и в робототехнике. Областей деятельности платы "Ардуино" очень много. Но популярность она получила среди радиолюбителей именно как недорогой, но простой и очень многофункциональный конструктор.

Заставить "Ардуино" работать как нужно можно с помощью программирования. Процесс этот легок, и с ним справится даже новичок. А если пользователь обладает навыками языка С++, то запрограммировать плату получится очень просто и быстро.

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

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

Работа с shield-платами (шилдами)

Как уже говорилось выше, функциональность устройства повышается с помощью специальных плат — шилдов. Это готовые платы для управления тем или иным процессом. Шилды присоединяются с помощью разъемов - пинов. Диапазон процессов, которыми можно управлять с помощью шилдов весьма велик: от передачи данных по Ethernet до управления электродвигателями. Систему контроля процессов с помощью шилдов можно собрать своими руками. "Ардуино" лишь распределяет прописанную в программе роль того или иного внешнего устройства, а непосредственно работают уже сами платы расширения.

Бывают случаи, когда нужно записать в память некие данные (например, точки GPS). Сам "Ардуино" сделать этого не может, так как в нем отсутствует накопитель памяти. Вот здесь и пригодится шилд, добавляющий возможность использования карт micro-SD объемом до 64 Гбайт.

Как ни странно, но шилды даже можно создавать самому. Например, простенький LCD-шилд. Взять экран от калькулятора или старого пейджера и присоединить к пинам платы. Конечно, еще придется прописать программу, чтобы "Ардуино" выводил изображение на экран. И все, самодельный шилд готов.

Программирование "Ардуино"

Программы для "Ардуино" пишутся на языке Wired. Этот язык во многом схож с С++. Однако даже если у вас нет навыков программирования, то разобраться с Wired все равно не составит труда. На форумах, посвященных "Ардуино", программы для него называются «скетчами». Даже если самому программировать лень или не получается, можно найти огромное количество готовых скетчей.

Для каждого скетча требуется свой набор библиотек. Их также можно поискать на форумах по "Ардуино". Для начинающих существует очень неплохое справочное пособие с пошаговыми инструкциями написания скетчей для того или иного процесса.

Создание шилдов для "Ардуино" своими руками

Покупать шилды для "Ардуино" вовсе не обязательно. Скажем, нет у вас лишних 30$, но есть куча ненужных деталей и огромное желание что-нибудь автоматизировать. Не проблема. Главное, чтобы у вас уже была основная плата с прошитой ОС и возможностью написания скетчей.

Из подручных деталей может получиться схема "Ардуино". Своими руками останется только спаять компоненты. Хотя, если конструкция предполагается неподвижная, то и паять ничего не надо. Достаточно просто соединить компоненты проводами. Нужно заметить, что такой самодельный шилд для "Ардуино" по себестоимости получится в разы дешевле заводского. К примеру, набор "Ардуино" для автоматизации работы электродвигателей обойдется в 80-90$. Но если заняться сборкой самому, можно снизить себестоимость до 30$.

Также существует множество других наборов, созданных для тех или иных областей, и в них входят, помимо основной платы, все необходимые детали. К примеру, набор для создания «умного» дома, видеонаблюдения, климат-контроля или стереосистем.

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

Для чего можно использовать "Ардуино"

Областей применения этого устройства очень много, рассмотрим только некоторые примеры использования.

Например, у вас есть машина. И вам нужно, чтобы на ЖК-экран магнитолы выводилась информация о скорости. Как сделать из "Ардуино" спидометр? Очень просто. Покупаем плату. К примеру, Arduino Mega 2560, GPS-модуль Ublox NEO 6m GPS. После этого ищем в сети готовые скетчи для управления, прописываем все это в "Ардуино", присоединяем друг к другу, и — все готово.

Так же легко можно создать целую систему управления своими руками. "Ардуино" дает такую возможность. Главное — запастись нужными скетчами и деталями.

Использование "Ардуино" в робототехнике

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

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

Именно в робототехнике можно проявить недюжинную фантазию, а с помощью "Ардуино" - претворить ее в жизнь. Некоторые умельцы даже делают прототипы из "Футурамы", используя как раз этот конструктор.

Вместо заключения

Платы контроллеров "Ардуино" идеально подходят для автоматизации любых процессов благодаря своей гибкости в настройке. Кроме того, проблем с программированием плат не возникнет ни у кого благодаря богатому справочному пособию по данной теме. Если что-нибудь сломается в процессе работы, несложно будет отремонтировать это своими руками. "Ардуино" позволяет человеку проявить безграничную фантазию. С помощью этой платы можно создать почти все что угодно, начиная от системы управления подогревом полов через смартфон и заканчивая роботом.

01 02.2017

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

Из этой статьи вы узнаете:

Приветствую уважаемый посетитель! Меня зовут Гридин Семён, я являюсь автором блога kip-world, обо мне вы можете почитать . Рынок пестрит разнообразием различных плат, в том числе и клонов. Сегодня в этой статье я выделил модули, которые по-моему мнению основные и представляют наибольший интерес. Их основные функции и работу с ними я опишу в следующих сериях статей. Я относительно поделил шильды на несколько групп:

  1. Коммуникационные;
  2. Силовые;
  3. Датчики-сенсоры;
  4. Модемы;
  5. Специальные.

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

Силовые модули — драйверы двигателей, драйверы для шаговиков, сервоприводы. Релейные и транзисторные шильды тоже можно отнести к силовым.

Видеть, слышать и чувствовать система может только через датчики . Их достаточно много. Среди большого числа датчиков существует и экзотика — датчик дыма, датчик влажности почвы, инфракрасный датчик. И, благодаря создателям Ардуино, цена очень демократичная. Так как я работаю в сфере автоматизации, эти же датчики будут стоить в 200-300 раз дороже.

К группе модемов я отнес GPRS-модемы. Работают они с GSM связью. Модули выполняют совершенно специфическую функцию — сбор данных, отправка СМС, приём звонков.

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

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

Интернет-модуль Ethernet shield W5100

На первое, что обращу внимание это Ethernet shield W5100. Модуль интернет-адаптера для отображения так называемой «визуализации» в браузере. Идеально подходит для системы «умного дома», метеостанции, диспетчеризации (если необходимо следить за физическими параметрами). Существует возможность использования в облачных технологиях .

Описание модуля:

  • Поддержка протокола TCP/IP
  • Слот для карты памяти microSD
  • Уровень напряжения 3.3/5 В
  • Совместима с платами Arduino UNO и MEGA
  • Уровни системы: UDP, TCP, IPv4, ARP, MAC

GPRS-модем GSM shield SIM900

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

Характеристики платы расширения:

  • Сборка на основе микросхемы SIM900
  • Рабочая частота GSM 850/900/1800/1900 МГц
  • Управление с помощью AT-команд
  • встроенный протокол TCP / UDP
  • возможность подключения динамика и наушников, есть возможность отправлять сигналы DTMF и проигрывать записи как на автоответчике
  • держатель SIM-карты и GSM антенны
  • 12 выводов GPIO (General Purpose Input/Output), 2 ШИМ (широтно-импульсная модуляция) и АЦП (аналогово-цифровой преобразователь)

Есть и дорогие аналоги для более серьёзных и надёжных систем. Совсем недавно я написал программу для взаимодействия GPRS модема ПМ-01 и ПЛК100. В случае возникновения аварии устройство отправляет смс на номер получателя.


WI-FI модуль ESP8266

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

Описание модуля:

  • Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц
  • Режимы: P2P (клиент), soft-AP (точка доступа)
  • Максимальная выходная мощность: 19,5 дБ·мВт (89 мВт)
  • Номинальное напряжение: 3,3 В
  • Портов ввода-вывода свободного назначения: 2
  • Частота процессора: 80 МГц

Драйвер двигателей L293D

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

Его характеристики:

  • Cовместим с Arduino Mega 1280 и 2560, UNO, Duemilanove, Diecimila
  • 4-х канальное управление
  • питание моторов от 4.5В до 36В
  • допустимый ток нагрузки 600мА на канал, пиковый ток - 1.2A
  • защита от перегрева
  • 2 интерфейса с точным таймером Arduino (не будет «дрожания») для подключения сервомоторов на напряжение 5В, если напряжение питания нужно повыше, то подключение по питанию нужно переделать как описано ниже
  • возможно одновременно управлять 4 двунаправленными DC коллекторными моторами или 2 шаговыми, и 2 сервомоторами
  • разъем для подключения внешнего источника для раздельного питания управляющей логики и моторов

Модуль интерфейса RS-485

Для меня лично интересна ещё вот такая штука — RS485 Shield. Почему? Интерфейс RS-485 является промышленной витой парой для соединения различных промышленных модулей. Шина работает с протоколом ModBUS RTU и ModBUS ASCII. Просто интересно, как будут взаимодействовать Arduino с остальными устройствами по интерфейсу.

Характеристики модуля:

  • Питание 5.0 В
  • 16 цифровой порт ввода-вывода (в том числе интерфейс I2C)
  • 6 аналоговых I/O портов
  • Переключатель в режима программирования
  • Автоматический / ручной переключатель режима трансивера
  • Стандартный интерфейс RS485, мини-интерфейс RS485 (PH2.0) и выводы RS485

Ну, на этом всё, с этими модулями мне бы хотелось поработать больше всего. А что можете предложить вы? Что можно добавить в список? Пишите в комментах...

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

С уважением, Гридин Семён.

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 , используя для этого беспаечную макетную плату.

Необходимые компоненты

  • Маленькая беспаечная макетная плата (Digikey 923273-ND)
  • Маленькая печатная плата (Radio Shack 276-150)
  • Два простых 8 -контактных гребешка (Jameco 70755 или Digikey AE10048-ND)
  • Два 8 -контактных однорядных гребешка для монтажа накруткой (Jameco 78642 или Digikey S7006-ND)

Шаги

  1. Берем печатную плату.
  2. Берем гребешки для монтажа накруткой, вставляем их в крайний ряд отверстий на печатной плате и припаиваем.
  3. Вставляем простые гребешки рядом с гребешками для монтажа накруткой. Припаиваем их.
  4. Снимаем защитный слой с двусторонней клейкой ленты на макетной плате. Клеим макетную плату к печатной плате рядом с припаянными гребешками.
  5. Осторожно сгибаем один ряд контактов для монтажа накруткой в сторону другого такого же ряда. Это нужно сделать, потому что расстояние между двумя гребешками на Arduino не соответствует шагу 2,54 мм , как на печатной плате. Да, очень жаль.
  6. Готово! Финальный продукт выглядит примерно так:

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

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

Использование

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

Впрочем, «шилд» можно подключить и традиционным способом, как показано на самой первой картинке к этой статье. В таком виде доступ к разъему для питания и аналоговым контактам особых проблем не доставляет, но кнопку сброса и ICSP -гребешок достать уже сложнее. О, и все это заняло у меня примерно 10 минут работы .