31.07.2023

Примеры использования data shield ардуино. Своими руками: "Ардуино" - электронный конструктор. Создание шилдов для "Ардуино" своими руками


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

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

  • Маленькая беспаечная макетная плата (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 минут работы .

Шилд - это плата дополнения. Я предлагаю разделить шилды на полноразмерные и отдельные модули. Полноразмерные своими очертаниями повторяют форму платы 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 - это со всеми необходимыми защитами и разъёмом для зарядки. Вроде бы ничего особенного, но это обеспечит завершенный вид вашему проекту, а цепи питания не придется размещать рядом с основными платами.

Заключение

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

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

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

Вот. Теперь можно приступать к запайке компонентов. Первым делом перемычки и мелкие элементы (резисторы, диодная сборка, транзисторы).

Самое хлопотное — запайка штырьков-коннекторов.... Но, как-то справился:) Значит и вы сможете. Главное, что бы не было "соплей", "коротышей" и "непропая" :)
Вот несколько фото готового изделия. Скажем так, не выставочный вариант, но все же...
Кстати, снизу видны SMD диоды, стоящие параллельно обмоткам реле. Трансформатор закреплен двумя проволочками.

И заливаем тестовый скейтч:

/*
Test Home made rele Shield (Ghost D. 2012)
Используем цифровые выводы № 7 и №8
*/

void setup() {
//
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}

void loop() {
digitalWrite(7, HIGH); // Включаем первое реле
delay(2000); // ждем
digitalWrite(8, HIGH); //Включаем второе реле
delay(2000);
digitalWrite(8, LOW); // Выключаем второе реле
delay(2000);
digitalWrite(7, LOW); // выключаем первое реле
delay(2000); //
}

Наш новый шилд щелкает релюшками. Вуаля!!!

P.S. В моем варианте, в ходе тестирования, достаточно сильно греется трансформатор. То ли на БП (откуда я его выковырял) неверно была указана информация (типа 300 мА), то ли с ним какая-то неприятность...


© 2024
zane-host.ru - Программы. Компьютеры. Сетевое оборудование. Оргтехника