Устройство представляет собой простой цифровой датчик препятствия, ориентирующийся по отраженному инфракрасному излучению. Этот датчик был приобретен на Алиэкспресс. Принцип действия схож со схемой, которую недавно рассматривали на страницах сайта 2 Схемы.ру
Конструкция и параметры
Конструктивно датчик представляет собой печатную плату 31 x 14 мм, на плате имеется одно крепежное отверстие.
Масса датчик 2,7 г. Для питания и передачи информации на датчике имеется трех контактный разъем, выводы которого промаркированы.
- Устройство питается постоянным напряжением в диапазоне от 3,3 до 5 В, ток потребления составляет 25 мА при напряжении питания 3,3 В и 40 мА при напряжении 5 В.
На датчике размещен инфракрасные светодиод и фотоприемник. Наличие препятствия определяется по интенсивности отраженного инфракрасного излучения. Подстроечным резистором на плате датчика можно установить требуемую чувствительность устройства. По заявлениям производителя датчик реагирует на препятствия в диапазоне от 2 до 30 см, угол зрения датчика 35 градусов. У автора получилось настроить датчик на препятствия в диапазоне 3-8 см, хотя возможно проблема в том, что испытывался только один датчик, к тому же угол зрения датчика, действительно весьма широк. Не следует также забывать, что различные поверхности отражают инфракрасное излучение по разному, более «блестящая», в данном диапазоне, поверхность будет обнаружена с большего расстояния, чем темная. В любом случае, этот датчик является «оружием ближнего боя».
Когда в поле зрения датчика появляется препятствие, на его информационном выходе устанавливается сигнал логического нуля. Если в поле зрения препятствия нет, то на выходе сигнал логической единицы. На плате датчика имеются два светодиода, один – индикатор питания, а другой , индикатор срабатывания датчика, который загорается при появлении в зоне видимости препятствия.
Светодиодный китайский фонарик с питанием от 1.5 вольта
Подключение к Ардуино
По заявлению продавца датчик оптимизирован для Arduino, учитываю богатую, для столь простого устройства, индикацию и маркировку с этим можно легко согласиться.
Для примера взаимодействия датчика с платформой Arduino, можно взять программу, которая зажигает светодиод, подключенный к 13 цифровому порту, по нажатию кнопки, подключенной к 12 цифровому порту платы Arduino UNO. Программа взята с сайта robocraft.ru
/* * LED with button */
int ledPin = 13, // сетодиод int btnPin = 12, // кнопка int val=0,
void setup() { pinMode(ledPin, OUTPUT), // это выход , светодиод pinMode(btnPin, INPUT), // а это вход , кнопка Serial.begin(9600), // будем записывать в COM-порт }
void loop() { val = digitalRead(btnPin), // узнаём состояние кнопки if(val==HIGH) // кнопка нажата { digitalWrite(ledPin, HIGH), // зажигаем светодиод Serial.println(H), } else // кнопка не нажата { digitalWrite(ledPin, LOW), // гасим светодиод Serial.println(L), } delay(100), }
Датчик при этом подключается вместо кнопки. После загрузки программы в память микроконтроллера, можно поэкспериментировать с разными режимами работы датчика.
Вывод о покупке
В целом неплохой дешевый датчик для систем сенсорного управления и ориентирования роботов. В последнем случае может, вероятно, быть альтернативой или дополнением, концевым выключателям, которые срабатывают при контакте робота с препятствием. Своих денег стоит. Denev