Ардуино модули: виды, описание, примеры датчиков

Виды и примеры Ардуино модулей

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

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

Зачем нужен модуль для Ардуино

Для начала стоит понять, зачем вообще подобная модульность необходима. Ведь, казалось бы, Ардуино – это всего лишь микроконтроллер, к которому можно приспособить любой сторонний датчик. Но на деле всё не так просто, как раз из-за программной части и других особенностей системы, поэтому, для расширения функционала, и присутствуют специальные Аrduino модули, позволяющие приспособить МК к любым потребностям человека, который его использует. Это основная функция, объясняющая необходимость модульности, помимо неё, присутствуют и другие причины такого решения:

  1. Стандартизированный набор датчиков с одинаковыми характеристиками позволяет писать универсальные решения для различных ситуаций. Таким образом, захотев воплотить в жизнь какой-то проект, вам не нужно самостоятельно изучать язык программирования и создавать уникальную электросхему. В большинстве случаев, уже готовая система или какие-то её части присутствуют в свободном доступе, инженеру лишь остается их правильно скомпоновать, что значительно экономит время при реализации задумок.
  2. Простота работы с Ардуино. Уже описанная выше стандартизация, позволяет быть уверенным, что купленный вами датчик или специальный модуль, не нужно будет подключать с помощью дополнительных шлейфов или переходников. Хоть иногда и появляется необходимость самостоятельно паять платформу под Ардуино, но, в большинстве случаев, вы можете приобрести уже готовую, под конкретные модули и потребности. Более того, существуют универсальные платы, полностью раскрывающие возможности модульной системы.

Условно, модули для Ардуино можно разделить на два гигантских лагеря, у которых уже присутствуют свои ответвления:

  1. Датчики. Разнообразные системы или контроллеры, позволяющие считывать, отправлять и обрабатывать информацию. Хотя последние иногда относят ко второму классу модулей, но из-за тесной связи с устройствами ввода-вывода их лучше причислить именно к датчикам, тем более, зачастую они выполняют сразу две функции. Все эти устройства направленны на расширение аппаратного функционала системы, например, чтобы дать возможность Ардуино считывать расстояние до объекта или влажность воздуха, что просто необходимо для многих систем.
  2. Модули, расширяющие вычислительные мощности проекта. Это различные карты памяти, дополнительные буферы для проведения операций и вспомогательные многопоточные процессоры. К ним же можно отнести вариации самого микроконтроллера, характеристики которого варьируются от версии к версии. Они направлены именно на улучшение возможностей программной части системы, например, дополнительные карты памяти позволяют хранить больше информации в различных кодеках, чтобы воспроизводить какие-то аудиодорожки. Особенно необходимы при проектировании сложных систем с нейросетями или в робототехнике, в которой также используется Ардуино.

Сами же датчики отдельно делятся на:

  1. Устройства ввода или получения информации. Это различные сканеры, которые позволяют получить данные об окружающей среде, будь то уровень освещённости или влажности воздуха. С их помощью возможно ввести различные переменные, в зависимости от которых система будет определять свои дальнейшие действия. Являются базой для большинства систем, и без них невозможно реализовать любой смарт-девайс. Простейшим примером будет всё тот же датчик расстояния, хотя и их существует несколько видов.
  2. Устройства обработки информации. Зачастую уже встроены в предыдущий тип, из-за чего считаются комбинированными, но нередко такие модули устанавливаются и отдельно. Имеют небольшой объем памяти или вовсе продаются без него, и способны выполнять лишь простые промежуточные операции. Подобным модулем можно считать даже МК Ардуино различных версий, но не стоит их путать с устройствами, расширяющими вычислительные возможности главного контроллера, ведь они именно выполняют операции.
  3. Устройства вывода информации. У большинства ассоциируются с простейшим ЖК-экраном, хотя это далеко не единственная разновидность данных девайсов. Необходимы для того, чтобы выводить результаты вычислений, для получения фидбека от системы и проверки различного функционала. Бывают звуковыми, визуальными и тактильными, соответствуя каждому из органов чувств человека. Также могут комбинироваться с первыми двумя видами, становясь гибридным дополнением к микроконтроллеру.

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

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

Технические характеристики, свойства и функции

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

Примеры популярных Ардуино модулей

Ультразвуковой дальномер HC-SR04

Самый популярный ультразвуковой датчик, которые работает по следующему принципу: отправляет ультразвуковую волну, считает время, за которое она возвратится. Мы знаем скорость звука и время, за которое волна вернулась, а далее мы рассчитываем расстояние до объекта. Данный модуль стоит довольно дешево, диапазон измерений от 2 см до 4 метров.

Инфракрасный дальномер Sharp

Также довольно широко используются дальномеры Sharp с рабочим диапазоном от 20 см до 1,5 метров. Цена таких модулей выше, чем звуковых дальномеров.

Модуль температуры и влажности DHT11

Этот Ардуино модуль измеряет температуру в диапазоне от 0 до +50 °C и влажность от 20 до 90%. Часто используется для измерений данных в комнате или теплице. Также оченб популярен при создании систем по управлению климатом или умных домов.

Барометр BMP085 или BMP180

С помощью модуля Барометр можно определить атмосферное давление от 30 до 110 кПа. Используется при создании на базе Ардуино аналогов метеостанциё.

Модуль-датчик влажности почвы FC-28

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

Bluetooth HC06

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

Как подсоединить

Подсоединяются модули с помощью всё той же распиновки, но не напрямую к МК. Зачастую для этого используют специальные платформы с дорожками, которые делаются самими инженерами или заказываются отдельно.

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

Стоимость

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

Как выбрать датчик для Arduino

Любая автоматизация начинается с подбора датчиков — именно на основе их показаний строится вся логика управления. Сенсоры помогают решить различные инженерные задачи, чтобы сделать ваш проект ещё точнее и «умнее». Сегодня мы расскажем, какие виды датчиков наиболее часто используются в связке с Arduino-совместимыми контроллерами и одноплатными компьютерами наподобие Raspberry Pi.

Датчики положения

Если вы строите робота, способного самостоятельно перемещаться в пространстве, ему понадобится некая система ориентации, иначе он будет неуклюже упираться в препятствия и требовать вашей помощи. Конечно, на лавры Boston Dynamics мы не претендуем, но дадим пару советов.

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

Датчики пространства

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

Тактильные сенсоры

Кнопки, потенциометры и тому подобные штучки — это тактильные сенсоры, которые превращают наши манипуляции в электрический сигнал. Хотите сделать собственный геймпад или микшерный пульт? Вам понадобится целая куча кнопок и других органов управления.

Климатические сенсоры

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

Сенсоры света и цвета

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

Датчики звука

Звуковые волны — полезный источник информации, если знать, что с ними делать. Чуть выше мы уже рассказывали про ультразвуковой дальномер, который использует эхолокацию. С датчиками звука вы можете придумать не менее интересные применения своему проекту.

Датчики механического воздействия

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

Датчики газа

Собрать газоанализатор на Arduino — вполне реально, если подобрать подходящий датчик газа. Полученная система сможет измерять концентрацию газов и летучих веществ, кроме того, она поможет обнаруживать утечки газа в помещении и создать сигнализацию с детектором дыма. Среди измеряемых субстанций есть как природный газ, угарный / углекислый газ, пропан, бутан, метан, так и более специфичные: водород, аммиак и пары спирта.

Датчики воды

Спасти жилище от затопления, создать систему автоматического полива в теплице или автопоилку для животных невозможно без датчиков воды. Они помогут оценить уровень и расход воды, чтобы вовремя подать управляющие сигналы насосу и другим модулям. А ещё с ними вы точно не забудете закрыть кран дома!

В заключение

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

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

Датчик тока ACS712

Товары

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

Содержание:

  • Обзор
  • Технические характеристики модуля
  • Подключение
  • Пример использования
  • Часто задаваемые вопросы FAQ

Измерение и контроль протекающего тока являются принципиальным требованием для широкого круга приложений, включая схемы защиты от перегрузки по току, зарядные устройства, импульсные источники питания, программируемые источники тока и пр. Один из простейших методов измерения тока –использование резистора с малым сопротивлением, – шунта между нагрузкой и общим проводом, падение напряжения на котором пропорционально протекающему току. Несмотря на то, что данный метод очень прост в реализации, точность измерений оставляет желать лучшего, т.к. сопротивление шунта зависит от температуры, которая не является постоянной. Кроме того, такой метод не позволяет организовать гальваническую развязку между нагрузкой и измерителем тока, что очень важно в приложениях, где нагрузка питается высоким напряжением. Датчик тока ACS712 основан на эффекте Холла, суть которого в следующем: если проводник с током помещён в магнитное поле, на его краях возникает ЭДС, направленная перпендикулярно к направлению тока и направлению магнитного поля (рисунок 1).

Рисунок 1. Эффект Холла.

Датчик тока ACS712 состоит из датчика Холла и медного проводника. Протекающий через медный проводник ток создает магнитное поле, которое воспринимается элементом Холла. Магнитное поле линейно зависит от силы тока. ACS712 датчик построен на эффекте Холла и имеет линейную зависимость измеряемого тока и выходного сигнального напряжения. Уровень выходного напряжения сенсора пропорционально зависит от измеряемого тока. Диапазон измерения от −5 А до 5 A. Чувствительность — 185 мВ/А. При отсутствии тока выходное напряжение будет равняться половине напряжения питания. Датчики ACS712 и ACS713 питаются от +5В и имеют выход по напряжению. При токе равном нулю напряжение на выходе для ACS712 равно 2,5В и отклоняется в или ближе к нулю или ближе к напряжению питания — зависит от направления протекания тока. ACS712 обеспечивает экономное и прецизионное решение для измерения AC и DC тока в промышленных, автомобильных, коммерческих системах и системах связи. Корпус устройства обеспечивает удобную реализацию для пользователя. Устройство состоит из прецизионного линейного датчика тока на базе эффекта Холла с медным проводником на нижней части. Прикладываемый к медному проводнику ток создает, улавливаемое датчиком, магнитное поле, которое преобразуется в пропорциональное напряжение. Точность устройства оптимизирована за счет непосредственной близости от магнитного сигнала к датчику. Напряжение обеспечивается BiCMOS Hall микросхемой с низким смещением и заводскими настройками точности.

Технические характеристики ACS712

  • ACS712 работает с постоянным и переменным током;
  • Чувствительность датчиков:
  • ACS712 5А: 185 мВ/А;
  • ACS712 20А: 100 мВ/А;
  • ACS712 30А: 66 мВ/А;
  • ACS713 20А: 185 мВ/А;
  • ACS713 30А: 133 мВ/А.
  • Напряжение питания +5,0 В;
  • Ток потребления не превышает 11мА;
  • Сопротивление токовой шины 1,2 мОм;
  • Температура эксплуатации -40°C…+85°C;
  • Размер 31мм х 13мм.

Подключение датчик тока ACS712 к плате Arduino

Для подключения ACS712 к плате Arduino используют 3 провода:

  • VCC – питание (опорное напряжение 5В);
  • GND – земля;
  • OUT – сигнальный (подключается к аналоговому выводу контроллера Arduino).

Для измерения тока датчик подключается в разрыв цепи между источником питания и нагрузкой. Схема подключения к плате Arduino показана на рисунке 2.

Рисунок 2. Подключение датчика тока ACS712 к плате Arduino.

Пример использования

Датчик тока подключается к нагрузке в разрыв цепи через колодки под винт. Для работы с датчиком мы можно использовать библиотеку TroykaCurrent, которая переводит значения аналогового выхода датчика в миллиамперы. В листинге 1 представлен скетч для измерения постоянного тока.

Листинг 1 Загружаем скетч на плату Arduino, подключаем нагрузку к источнику питания 12В и смотрим значение тока при подключении хоппера выдачи монет (рис. 4) и двигателя для вендингового аппарата (рис. 6).

Рисунок 3. Подключение хоппера выдачи монет к источнику питания 12В.

Рисунок 4. Измерение силы тока при подключении хоппера выдачи монет к источнику питания 12В.

Рисунок 5. Подключение двигателя для вендингового аппарата к источнику питания 12В.

Рисунок 6. Измерение силы тока при подключении двигателя для вендингового аппарата к источнику питания 12В.

В листинге 2 представлен скетч для измерения переменного тока.

Джойстик

Товары

Обзор тактильного Джойстика

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

Модуль двухосевого джойстик (рис. 1) имеет две степени свободы, представляет собой ручку, закреплённую на шаровом шарнире с двумя взаимно перпендикулярными осями.

Рисунок 1. Джойстик.

При наклоне ручки вращаются подвижные контакты каждого из двух потенциометров номиналом 10 кОм, которые определяют положение осей X и Y. Средний контакт каждого потенциометра выведен на контакты VRX и VRY разъема, а крайние подключены к питанию и земле. Также джойстик оснащен тактовой кнопкой, которая срабатывает при вертикальном нажатии на ручку, показания снимаются с контакта SW. После отпускания джойстик возвращается в первоначальное центральное состояние.

Технические характеристики

Напряжение питания: номинальное 3.0…5,5 В;

Выходной сигнал: цифровой (кнопка) и аналоговый (оси X и Y);

Размеры: 26 мм x 40 мм x 22 мм.

Подключение к плате Arduino

Для подключения модуля джойстика к плате Arduino будем использовать два аналоговых и один цифровой вывод Arduino, а также с платы Arduino подаем питание на контакты джойстика GND и +5V. Схема подключения показана на рисунке 2.

Рисунок 2. Схема подключения модуля джойстика к плате Arduino.

Напишем скетч получения данных с джойстика. Данные с потенциометров по осям X и Y могут принимать значения от 0 до 1023. Неподвижному положению джойстика соответствуют значение 511 для каждого потенциометра. При нажатии на кнопку на входе 3 Arduino будет появляться 0. Чтобы не было наводок, вывод кнопки необходимо подтянуть к +5 В. Данные выводим в последовательный порт.

Содержимое скетча показано в листинге 1.

Загружаем скетч на плату Arduino, открываем монитор последовательного порта и видим вывод данных при изменении положения джойстика (рис. 3).

Рисунок 3. Вывод данных с джойстика в монитор последовательного порта.

Пример использования

Рассмотрим пример использования джойстика для управления подвесом для камеры на сервоприводах. Нам потребуются следующие детали:

плата Arduino Uno – 1 шт;

плата прототипирования – 1 шт;

модуль джойстика – 1 шт;

сервопривод – 2 шт;

подвес для камеры – 1 шт;

блок питания 5В – 1 шт;

Схема подключения показана на рисунке 4.

Рисунок 4. Схема подключения модуля джойстика и подвеса на сервоприводах к плате Arduino.

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

Содержимое скетча показано в листинге 2.

Загружаем скетч на плату Arduino, и управляем подвесом с помощью джойстика.

Рисунок 5-6. Схема в сборе.

Часто задаваемые вопросы

  • Проверьте правильность подключения джойстика к плате Arduino.

2. Значение кнопки джойстика принимает случайные значения или не изменяется тока отрицательное

Проверьте правильность подключения джойстика к плате Arduino.

Подтяните вывод кнопки к питанию через резистор 4.7 кОм.

Источники:

http://amperka.ru/page/kak-vybrat-datchik-dlya-arduino

http://3d-diy.ru/wiki/arduino-datchiki/datchik-toka-acs712/

http://3d-diy.ru/wiki/arduino-datchiki/arduino-joystick/

http://micpic.ru/home/proekty-na-arduino/188-plyusy-i-minusy-arduino.html

Ссылка на основную публикацию