Подключение модуля инфракрасного датчика (IR Sensor) к плате Arduino


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

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

На нашем сайте ранее мы рассматривали использование инфракрасного датчика в следующих проектах:

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

  1. Плата Arduino Uno (купить на AliExpress).
  2. Модуль инфракрасного датчика (IR Sensor) (купить на AliExpress).
  3. Макетная плата.
  4. Соединительные провода.

Распиновка инфракрасного датчика

Модуль инфракрасного датчика содержит 3-пиновый коннектор для связи с “внешним миром”. Его распиновка показана на следующем рисунке.

Распиновка инфракрасного датчика

VCC – контакт, через который подается питания на датчик. В нашем случае его необходимо подключить к контакту 5V платы Arduino.

OUT – выходной контакт датчика, работающий с логическими уровнями 5V TTL. Уровень LOW на этом контакте свидетельствует о том, что движения не выявлено, уровень HIGH свидетельствует о наличии движения.

GND – общий провод (земля). Его необходимо подключить к контакту земли платы Arduino.

Как работает модуль инфракрасного датчика

Принцип работы инфракрасного датчика достаточно прост, он состоит из двух основных компонентов: инфракрасного передатчика и инфракрасного приемника. Инфракрасным передатчиком служит излучающий ИК диод, а инфракрасным приемником – фотодиод.

Принцип работы модуля инфракрасного датчика

Модуль инфракрасного датчика начинает работу когда на его излучающий ИК диод подано напряжение, при этом он испускает инфракрасные лучи. Лучи распространяются в пространстве, отражаются от препятствий и снова возвращаются к датчику, где улавливаются фотодиодом. Если препятствие (объект) находится близко, уровень отраженного света будет высок, если же объект находится далеко, то уровень отраженного света будет составлять небольшую величину.

При подаче питания на инфракрасный датчик на свой выходной контакт он выдает уровень Low, который может быть считан платой Arduino или любым другим микроконтроллером.

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

Компоненты модуля инфракрасного датчика

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

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

Схема модуля инфракрасного датчикаКак видите, его схема достаточно проста и содержит набор простых, “массовых” компонентов. При желании вы даже можете собрать эту схему самостоятельно.

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

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

Схема подключения инфракрасного датчика к плате Arduino Uno

Выход датчика необходимо подключить к любому цифровому контакту платы Arduino. В нашем случае это контакт D9. Считывать состояние этого контакта в плате Arduino можно потом двумя способами: обычным путем, в бесконечном цикле проверяя состояние этого контакта (high или low), либо с помощью прерываний (рекомендуется для сложных проектов).

Запитать инфракрасный датчик можно от 5V или 3.3V. Внешний вид собранной конструкции проекта приведен на следующем рисунке.

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

Объяснение программы для Arduino для подключения инфракрасного датчика

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

Код программы достаточно прост – в нем нам будет необходимо непрерывно проверять состояние (HIGH или LOW) контакта D9 платы Arduino, к которому подключен инфракрасный датчик. Код программы начнем с объявления двух глобальных переменных, в одной из которых будет храниться номер контакта, к которому подключен инфракрасный датчик, а во второй – номер контакта, к которому подключен светодиод.

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

Затем в функции void loop() мы будем в бесконечном цикле считывать состояние контакта, к которому подключен инфракрасный датчик, с помощью функции digitalRead() и сохранять это значение в переменной sensorStatus. Если считанное состояние равно high, это будет обозначать, что датчиком обнаружено движение – мы будем выводить сообщение об этом в окно монитора последовательной связи.

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

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

Тестирование работы инфракрасного датчика

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

Источник статьи

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

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

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