СОДЕРЖАНИЕ ►
Оптический датчик препятствия (KY-032) — это один из самых распространенных датчиков, который прекрасно подойдет роботу или машинке на Ардуино для объезда препятствий. Датчик очень прост по принципу своей работы и способу подключения к плате Arduino Uno. Рассмотрим устройство датчика, схему его подключения и рассмотрим несколько примеров программ для работы с avoid sensor arduino.
Характеристики датчика препятствия (KY-032)
Схема работы ИК датчика препятствий довольно простая. На модуле расположен инфракрасный светодиод с линзой, который постоянно включен и излучает узкий пучок ИК излучения. Детектором отраженного сигнала от препятствия служит фотодиод или фототранзистор. Также на печатной плате расположен светодиод для индикации и два подстроечных резистора для настройки чувствительности датчика ky-032.
Устройство излучает инфракрасный луч с частотой 38 кГц, который принимается приемником на плате. При приближении предмета к сенсору (необходимое расстояние регулируется потенциометром на модуле) на выходе платы «OUT» появляется низкий уровень напряжения и включается встроенный светодиод. Дальность срабатывания (чувствительность) датчика препятствия регулируется от 2 до 40 сантиметров.
Подключение датчика препятствия к Arduino
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- датчик препятствия KY-032;
- беспаечная макетная плата;
- светодиод и резистор;
- провода «папа-мама», «папа-папа».

Для подключения датчика обнаружения препятствий к Arduino имеется три или четыре контакта. Два контакта на модуле KY-032 служат для питания от 5V (схему подключения датчика смотри на картинке выше). Еще два контакта формируют импульсы для платы Arduino Mega или Arduino Uno. Для примера работы рассмотрим скетч, который будет включать светодиод при появлении препятствия.
Счетч для датчика препятствий (KY-032)
#define avoidPin A1 // задаем имя для порта с датчиком #define ledPin 13 // задаем имя для порта со светодиодом int avoid; void setup() { Serial.begin(9600); // инициализация монитора порта pinMode(avoidPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { avoid = digitalRead(avoidPin); // получаем данные с датчика препятствий Serial.print("Avoid Sensor - "); // выводим данные с датчика на монитор Serial.println(avoid); if (avoid == HIGH) digitalWrite(ledPin, HIGH); else digitalWrite(ledPin, LOW); }
Пояснения к коду:
- для приема сигнала с датчика KY-032 используется порт A1, который можно поменять в программе на любой порт общего назначения;
- датчик отправляет сигнал «логическая единица» при появлении препятствия.
Заключение. Для создания шагающего робота или автономной машинки на Ардуино сенсор KY-032 отлично подойдет начинающему программисту. Датчик препятствия более прост в настройке и подключении, в отличии от дальномера HC-SR04. При этом сенсор хорошо справляется с распознаванием объектов перед ним и может использоваться в машинках для объезда препятствий или езде по лабиринту.










Датчик намного дешевле ультразвукового, но с ним нельзя узнать расстояние до предмета
Кирилл ты не прав!