Подключение инфракрасного датчика препятствий E18-D80NK к Arduino


Инфракрасный датчик представляет собой электронный модуль, используемый для обнаружения различных объектов при помощи излучения/обнаружения инфракрасных лучей. Инфракрасные датчики (IR sensors) могут также обнаруживать движение и количество тепла, испускаемого объектом. Подобные датчики находят широкое применение в системах безопасности, выключателях света и многих других промышленных и домашних системах. Ранее на нашем сайте мы рассматривали применение инфракрасных датчиков во многих проектах, но все эти ранее рассмотренные инфракрасные датчики не могли работать в условиях яркого солнечного света поскольку Солнце также является источником инфракрасных волн. Для преодоления этого препятствия существует только одно решение – использовать модулированный инфракрасный сигнал чтобы датчик мог обнаруживать изменения инфракрасного сигнала на фоне фиксированного уровня инфракрасного излучения.

Внешний вид подключения инфракрасного датчика препятствий E18-D80NK к Arduino

В данной статье мы рассмотрим подключение инфракрасного датчика препятствий/расстояния (IR Proximity Sensor) E18-D80NK к плате Arduino. E18-D80NK представляет собой дешевый, но в то же время весьма функциональный инфракрасный датчик обнаружения препятствий с диапазоном обнаружения препятствий от 3 до 80 см. Использование модулированного инфракрасного сигнала защищает датчик от помех, вызванных влиянием солнечного света или мощных электрических ламп.

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

  1. Плата Arduino Nano (купить на AliExpress).
  2. Инфракрасный датчик E18-D80NK (купить на AliExpress).
  3. Макетная плата.
  4. Соединительные провода.

Инфракрасный датчик препятствий E18-D80NK

E18-D80NK – это инфракрасный датчик (обнаружения) препятствий (Infrared Obstacle Avoidance Sensor), отличающийся низкой стоимостью и способный обнаруживать препятствия в диапазоне от 3 до 80 см. Состоит из инфракрасных передатчика (IR Transmitter) и приемника (IR receiver), размещенных в одном модуле. Инфракрасный передатчик излучает модулированный инфракрасный сигнал, который затем отражается от объекта и обнаруживается инфракрасным приемником. Благодаря использованию модулированного инфракрасного сигнала датчик E18-D80NK значительно меньше подвержен влиянию солнечного света.

Внешний вид с тыльной стороны датчика E18-D80NK

Инфракрасные датчики E18-D80 используются в роботах для предотвращения столкновения с препятствиями, сборочных линиях на производстве, системах парковки автомобилей, системах умного дома, системах безопасности и многих других приложениях. Диапазон обнаружения может быть отрегулирован индивидуально для каждого применения с помощью специального винта, размещенного на обратной стороне датчика. Сигнал на выходе датчика изменяется в зависимости от обнаружения препятствий. Когда никаких препятствий не обнаружено, он высокого уровня (high), при обнаружении препятствий он изменяет свое состояние на low (низкий уровень). На обратной стороне датчика кроме винта регулировка диапазона обнаружения также расположен светодиод красного цвета, который включается всегда при обнаружении препятствий. Датчик E18 работает от напряжения 5V и в режиме покоя потребляет ток от 5mA до 30mA. Его распиновка показана на следующем рисунке.

Распиновка датчика E18-D80NK

Технические характеристики датчика E18-D80NK:

  • входное напряжение: 5V DC (постоянного тока);
  • потребление тока: > 25mA (min) ~ 100mA (max);
  • размеры: 1.7 см (диаметр) x 4.5 см (длина);
  • длина кабеля: 45 см;
  • обнаружение объектов: как прозрачных, так и непрозрачных;
  • диапазон обнаружения: от 3 до 80 см (в зависимости от положения винта на тыльной стороне датчика);
  • тип выхода: NPN (normally high);
  • диапазон рабочих температур: -25 °C ~ 55 °C.

Схема проекта

Схема подключения инфракрасного датчика препятствий E18-D80NK к плате Arduino представлена на следующем рисунке.

Схема подключения инфракрасного датчика препятствий E18-D80NK к плате Arduino

Как можно видеть, схема соединений проекта достаточно проста. Коричневый (Brown) провод датчика E18-D80NK необходимо подключить к контакту 5V платы Arduino, синий (Blue) провод датчика – к земле платы Arduino, а черный (Black) контакт датчика – к цифровому контакту 7 платы Arduino Nano.

Внешний вид собранной конструкции проекта

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Вначале программы объявим контакты, которые нам потребуются в нашем проекте – это контакт для подключения датчика E18-D80NK и контакт для подключения светодиода.

Затем внутри функции setup() инициализируем последовательную связь со скоростью 9600 бод для целей отладки и установим режимы работы используемых контактов.

Далее внутри функции loop() мы будем считывать состояние контакта, к которому подключен выход датчика, с помощью функции digitalRead(). Если состояние этого контакта равно LOW, то мы будем включать светодиод, а если состояние этого контакта равно HIGH, то мы будем выключать светодиод.

Тестирование работы проекта

После того как аппаратная часть проекта будет готова, подключите плату Arduino к компьютеру/ноутбуку и загрузите в нее код программы проекта. Далее включите окно монитора последовательной связи на скорости 9600 бод и размещайте перед датчиком E18-D80NK какие-нибудь предметы. Наблюдайте как меняется информация в окне монитора последовательной связи и состояние светодиода.

Результаты работы проекта в окне монитора последовательной связи

Более подробно работу проекта можно посмотреть на видео, приведенном в конце статьи.

Тестирование работы проекта

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
1 771 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *