Найти в Дзене
Электроника, Arduino и IT

Инфракрасный датчик препятствия. Принцип работы, подключение к Arduino.

Оглавление

Приветствую Вас дорогие читатели, с вами на связи Электроника, Arduino и IT, и на этот раз я покажу вам как подключить инфракрасный датчик препятствия к Arduino.

В этом уроке использованы:

1. Плата Arduino Uno

2. Компьютер с установленной Arduino IDE и драйверами для плат

3. Соединительные провода

4. Инфракрасный датчик препятствия

Описание и принцип работы датчика

Назначение данного датчика - информировать о наличии препятствия. Работает этот датчик работает довольно просто. На нём имеются инфракрасный светодиод и детектор, в роли которого обычно выступает фототранзистор или фотодиод. Пучок излучения, посылаемый инфракрасным светодиодом, отражается от препятствия и попадает на приёмник, и если интенсивность отражённого сигнала превышает пороговую, на выходе OUT появляется низкий уровень напряжения и загорается встроенный светодиод (зелёный). Также датчик имеет потенциометр для регулировки дальности срабатывания. Этот датчик не измеряет расстояние до препятствия, а лишь информирует о его наличии.

Основные минусы датчика:
1. Не должно быть стороннего инфракрасного излучения, в противном случае датчик может ложно сработать на несуществующее препятствие.
2. Расстояние срабатывания зависит от цвета объекта.

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

Назначение контактов датчика

VCC или 5V - контакт положительного питания 5V

Gnd - контакт отрицательного питания 5V

Out - выход с датчика, при наличии препятствия 0, иначе 1

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

Подключаем так:

VCC или 5V(Датчик) - 5V(плата Arduino)

Gnd(Датчик) - Gnd(плата Arduino)

Out(Датчик) - Pin7(плата Arduino)

Схема подключения. Изображение с сайта RobotChip
Схема подключения. Изображение с сайта RobotChip

Скетч

Давайте же напишем скетч для нашего датчика. Этот скетч считывает показания с датчика и выводит их в Serial-порт. Для считывания показаний с датчика используется функция digitalRead(datchik_pin). При отсутствии препятствия в Serial-порт выводится число 1, при наличии препятствия - 0.

int datchik_pin = 7;

void setup() {

pinMode(datchik_pin, INPUT);

Serial.begin(9600);

}

void loop() {

Serial.println(digitalRead(datchik_pin));

}

На этот раз всё, всем спасибо за внимание!