Индуктивный датчик приближения arduino

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Подключение ИК-датчика приближения E18-D80NK к Arduino

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

В данном проекте мы собираемся связать ИК-датчик приближения E18-D80NK с Arduino. E18-D80NK – это современный недорогой ИК-датчик приближения с диапазоном обнаружения препятствий от 3 до 80 см. Использование модулированного ИК-сигнала защищает датчик от помех, вызванных обычным светом лампочки или солнечным светом.

Инфракрасный датчик избегания препятствий E18-D80NK представляет собой недорогой инфракрасный датчик приближения с регулируемым диапазоном от 3 см до 80 см. Датчик E18-D80 поставляется с ИК-передатчиком и ИК-приемником в одном модуле. ИК-передатчик передает модулированный ИК-сигнал, который затем отражается объектом на своем пути, а затем обнаруживается приемником. Этот датчик имеет меньше помех от солнечного света из-за модулированного ИК-света.

Инфракрасный датчик E18-D80 широко используется в роботах для обхода препятствий, промышленных сборочных конвейерах, системах парковки заднего хода и многих других приложениях автоматизации. Дальность обнаружения можно регулировать в соответствии с применением с помощью многооборотного винта, расположенного на задней стороне датчика. Выходной сигнал переключения изменяется в зависимости от обнаружения препятствия. Он остается высоким, когда нет препятствий, и меняется на низкий, когда есть препятствия. За датчиком находится красный светодиод, который загорается при обнаружении препятствия. Датчик E18 работает от 5 В и потребляет ток от 5 до 30 мА без нагрузки

Полная схема подключения датчика приближения E18-D80NK к Arduino приведена далее.

Подключение для взаимодействия ИК-датчика E18-D80NK с Arduino очень простое: соедините коричневый провод датчика с контактом Arduino 5V, подключите синий провод датчика к заземлению Arduino и подключите черный контакт датчика к цифровому контакту 7 платы Arduino.

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

Когда ваш код и оборудование будут готовы, подключите Arduino к ноутбуку и загрузите код. После этого откройте монитор последовательного порта со скоростью 9600 бод и сделайте некоторое движение перед датчиком. Наблюдайте за светодиодом и последовательным монитором.

Источник

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Индуктивный датчик приближения на основе TCA505 своими руками

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

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

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

Схема была проверена с напряжением 12 В постоянного тока, однако она также может работать с более высоким напряжением питания, до 42 В с небольшим изменением значений компонентов. Обычно светодиод D2 горит, когда катушка обнаруживает металлический объект. Светодиод D2 гаснет, а светодиод D1 включается, поэтому обычно Out-2 обеспечивает низкую выходную мощность, а Out-1 обеспечивает высокую выходную мощность при обнаружении металлического объекта. Выходной сигнал Q3 переходит в логическую «1», а Q1 в логический «0», оба выхода с открытым коллектором. Потенциометр PR1 помогает отрегулировать расстояние чувствительности датчика. Выход каждого транзистора может напрямую управлять малым реле, так как каждый выход обеспечивает 50 мА тока. Сенсорная катушка может быть изготовлена с использованием металлического сердечника 14 мм, индуктивность должна быть от 540 мкГн до 640 мкГн. Схема подключения выглядит следующим образом.

Расположение компонентов на плате следующее:

Источник

Самые популярные датчики для Ардуино

Датчики используют в самых разнообразных схема и проектах. Ни одна автоматизация не обходится без них. Нам они интересны, потому что для упрощения проектирования и популяризации электроники создан проект Arduino. Это готовая плата с микроконтроллером и всем необходимым для работы с ней и программирования. В этой статье мы рассмотрим датчики для Ардуино, но они могут и применяться с другими микроконтроллерами.

Какими бывают датчики?

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

По роду сигнала разделяют на:

А по назначению датчики бывают для измерения:

Уровня воды или других веществ;

И другие специализированные компоненты.

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

По устройству они бывают

Фотоэлементы и другие типы.

Датчик света или освещенности

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

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

На алиэкспресс или в других интернет магазинах (например, в том-же Gearbest) его можно найти по запросу «PHOTOSENSITIVE-SENSOR» или просто «датчик света».

У этого модуля есть три вывода:

Цифровой выход с компаратора.

Или версия с четырьмя выводами:

Цифровой выход с компаратора;

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

Датчик освещенности для фотореле;

Сигнализация (в паре с излучателем);

Счетчик объектов которые пересекают световой луч и т.д.

Точных значений добиться сложно, так как для корректной отстройки по освещенности понадобится полноценный люксметр. Фоторезисторы подходят скорее для определения абстрактных величин типа «темно или светло».

Кроме такой платы в продаже можно встретить довольно интересный модуль GY-302. Это датчик освещенности на базе интегральной микросхемы BH-1750. Его особенностью является то, что это цифровой модуль, у него разрядность в 16 бит, общается с микроконтроллерами по шине i2c. 16 бит позволяют измерять освещенность от 1 до 65356 Люкс (Лк).

Ниже изображена схема его подключения. Вы можете обратить внимание на то, что SDA и SCL подключены к аналоговым пинам микроконтроллера.

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

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

Пример скетча для GY-302 (BH-1750):

Как работает скетч?

В начале мы говорим программе о том, что нужно подключить библиотеку Wire.h, которая отвечает за связь по линии I2C, и BH1750. Остальные действия хорошо описаны в комментариях, а в итоге каждые 100мс мы считываем значение с сенсора в Люксах.

Характеристики GY-302 BH1750:

Связь с микроконтроллером по I2C

Спектральная характеристика подобна чувствительности глаза

Минимизированы погрешности вызванные ИК-излучением

Диапазон измерения 0-65535 Lux

Напряжение питания: 3-5 В

Малый потребляемый ток и функция спящего режима

Фильтрация световых шумов 50/60 Гц

Максимальное число сенсоров на 1 шине I2C – 2 штуки.

Не требует калибровки

Ток потребления – 120 мкА

В спящем режиме – 0,01 мкА

Измеряемая длина волны – 560 нм

В режиме высокого разрешения – 1 Лк

В режиме низкого разрешения – 4 Лк

Время, за которое выполняются измерения:

В режиме высокого разрешения – 120 мс

В режиме низкого разрешения – 16 мс

Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств

Датчик препятствия

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

Его название «оптический датчик препятствия». Основным функциональным элементом является фотодиод и светодиод излучающие и принимающие в ИК спектре (поэтому не виден человеческому глазу, а также пороговый узел, собранный, например, на компараторе с регулятором чувствительности. С его помощью регулируется расстояние, на котором срабатывает датчик, кстати он цифровой.

Пример схемы подключения:

Пример программы обработки сигнала с датчика.

Здесь, если на выходе с датчика «1», что значит «есть препятствие», – зажжется светодиод, встроенный в плату Ардуино, либо подключенный к 13 пину (одно и то же). Наиболее часто используется в робототехнике и сигнализациях.

Датчик расстояния

Предыдущий экземпляр состоят из приемника, — фотодиода, и излучателя, — светодиода. Ультразвуковой датчик расстояния также состоит из приемника и излучателя УЗ волн. Его название – HC SR04.

Характеристики HC SR04:

Питающее напряжение 5В

Рабочий параметр силы т ока – 15 мА

Сила тока в пассивном состоянии Как обрабатывать показания?

1. На вход TRIG посылаем импульс длительностью в 10 мкс;

2. Внутри модуля импульс преобразуется в пачку из 8 импульсов, которые следуют друг за другом с частотой в 40 кГц и посланы через излучатель;

3. Отраженные от препятствия импульсы приходят на приёмник и выводятся на вывод ECHO;

4. Длительность импульса, полученного с вывода ECHO нужно разделить на 58.2, чтобы получить расстояние в сантиметрах и на 148, если нужно перевести в дюймы.

Пример программного кода:

Измеряем температуру

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

Для каждого вида термопар свой подход для работы с микроконтроллером. Например, есть термопара К-типа, или как её еще называют – хромель-алюмелевая, с диапазоном измеряемых температур от -200 до +1400 градусов Цельсия с чувствительностью 41 мВ/градус Цельсия. А для неё есть специальный преобразователь на базе ИМС max6675, в нем есть функция компенсации температуры холодного спая и прочее.

Работать с этим модулем можно с помощью одноименной библиотеки для Ардуино. На рисунке ниже вы видите пример программного кода для этого случая.

Тогда на монитор последовательного порта выводится следующее.

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

Это цифровая интегральная микросхема её внутреннее устройство изображено на рисунке ниже:

Схема подключения к плате:

Основные характеристики и сведения о DS18b20:

Погрешность – меньше 0,5 С (в диапазоне температур от -10С до +85С).

Калибровка не требуется

Диапазон измерений – от -55 С до +125С

VCC, напряжение питания 3,3-5В.

разрешающая способность до 0,0625С, задается программно;

Разрядность – 12 бит

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

Интерфейс для связи – 1-Wire

Обвязка не требуется

Максимальное число датчиков на одной линии — 127 штук

Режим паразитного питания – в этом случае датчик питается напрямую от линии связи. При этом не гарантируется измерение температуры выше, чем 100С

Ниже вы видите таблицу перевода двоичного кода с DS18b20 в значения температуры в градусах Цельсия.

Пример программы для считывания значений температуры.

Полезные статьи про Ардуино:

Датчики атмосферного давления

Электронные барометры собираются на базе датчиков атмосферного давления. Широкое распространение получили следующие варианты:

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

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

Размеры 2,5 х 2,5 х 0,93 мм;

Металлический LGA-корпус, оснащенный 8-ю выходами;

Напряжение питания 1,7 – 3,6В;

Наличие интерфейсов I2C и SPI;

Потребляемый ток в режиме ожидания 0,1 мкА.

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

Пример схемы подключения:

И пример программного кода:

Логика программы несложная:

1. Вызов подпрограммы (функции) считывания с датчика.

2. Запрос показаний встроенного в барометр датчика температуры.

3. Ждем время для оценки датчиком температуры;

4. Считываем результат измерений температуры;

5. Запрос значения давления;

6. Ждем время измерения давления;

7. Считываем значение давления;

8. Возвращаем значение давления из функции.

Интересен тот факт, что возможно четыре варианта считывания значений, они задаются в качестве аргумента в функции startPressure, вторым знаком от 0 до 3, где 0 – грубая оценка, а 3 – точная.

Датчик движения

Самым распространенным датчиком движения для Ардуино является модуль HC SR501 на базе ИК—сенсора. Особенностью этого модуля является то, что у него есть регулировка расстояния срабатывания и времени задержки выходного сигнала после срабатывания.

1. Напряжение питания 4,5 – 20 В.

2. Ток покоя ≈ 50 мкА;

3. Напряжение выходного сигнала (логический уровень): 3.3 В;

4. Диапазон рабочих температура – от -15° C до 70° C;

5. Размеры: 32*24 мм;

6. Поле зрения – 110°;

7. Максимальная дистанция срабатывания – от 3 до 7 м (регулируется); При температуре более 30° C это расстояние может уменьшаться.

Как с ним работать мы рассматривали в статье, опубликованной ранее: Схемы датчиков движения, принцип их работы и схемы подключения

Датчик уровня воды

Предназначен для индикации уровня жидкости.

1. Напряжение питания 3-5В

2. Ток потребления >20 ма

4. Размеры измерительной зоны 40×16 мм

5. Допустимая влажность 10%- 90%

Пример программного кода:

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

Датчик протечки

Модуль состоит из двух частей – сам датчик и компаратор, может быть построен на LM393, LM293 или LM193.

Благодаря компаратору происходит преобразование аналогового сигнала в цифровой.

VCC – питание, должно соответствовать питанию платы Ардуино, в большинстве случаев это 5В;

GND – общий провод;

АO – аналоговый сигнал;

DO — цифровой сигнал.

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

На видео показано как он работает:

Датчик влажности

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

Может работать как в аналоговом, так и цифровом режимах. Пример схемы подключения для системы автоматического полива с краном на базе двигателя:

И пример программного кода для обработки цифрового сигнала с датчика влажности:

Заключение

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

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

Для большего удобства, мы собрали для вас таблицу с ориентировочной стоимостью и перечень популярных датчиков для Ардуино, в том порядке, в котором они были рассмотрены в статье: Датчики для Ардуино

Цены взяты из интернет-магазинов РФ или Украины. В Китае они стоят в 2 и более раз дешевле. Самые дешевые цены на Aliexpress и Gearbest.

Источник