Инфракрасные датчики расстояния
Для измерения расстояния до объекта существуют также и оптические датчики, основанные на методе триангуляции. Самые распространенные из них — это инфракрасные (Infra-Red, IR) датчики расстояния с выходным аналоговым напряжением, производимые фирмой Sharp
![]() |
|
В датчиках Sharp установлен инфракрасный (IR) светодиод (LED) с линзой, который излучает узкий световой луч. Отраженный от объекта луч направляется через другую линзу на позиционно-чувствительный фотоэлемент (Position-Sensitive Detector, PSD). От местоположения падающего на PSD луча зависит его проводимость. Проводимость преобразуется в напряжение и, к примеру, оцифровывая его аналогоцифровым преобразователем микроконтроллера, можно вычислить расстояние.
![]() |
Путь светового луча инфракрасного измерителя расстояния |
Выход датчика расстояния Sharp обратно пропорциональный — с увеличением расстояния его значение медленно уменьшается. Вид графика зависимости между расстоянием и напряжением приведен на рис. Датчики, в зависимости от их типа, имеют границы измерения, в пределах которых их выход может быть признан надежным. Измерение максимального реального расстояния ограничивают два фактора: уменьшение интенсивности отраженного света и невозможность PSD регистрировать незначительные изменения местоположения отображенного луча.
![]() |
При измерении расстояния до сильно удаленных объектов выход датчика остается приблизительно таким же, как и при измерении минимально удаленных расстояний. Минимально измеряемое расстояние ограничено особенностями датчика Sharp, а именно — выходное напряжение при уменьшении расстояния (в зависимости от датчика — от 4-х до 20 см) начинает резко падать. По существу это означает, что одному значению выходного напряжения соответствуют два расстояния: очень близкое и очень далекое. Для предотвращения проблемы следует избегать слишком близкого приближения объектов к датчику.
В целом график зависимости между расстоянием и напряжением не является линейным, однако в пределах допустимых расстояний график обратной величины выходного напряжения и расстояния к линейности приближается достаточно близко, и с его помощью довольно просто получить формулу для преобразования напряжения в расстояние. Для нахождения такой формулы необходимо точки этого графика ввести в какую-либо программу обработки табличных данных и из них создать новый график. В программе обработки табличных данных на основе точек графика возможно автоматически вычислить линию тренда. приведен график связи исправленной обратной величины между выходным напряжением инфракрасного датчика GP2Y0A21YK и расстоянием вместе с линейной линией тренда. Выходное напряжение для упрощения формулы уже переведено в 10-битное значение аналогово-цифрового преобразователя с опорным напряжением +5 В.
![]() |
График зависимости между выходным напряжением датчика GP2Y0A21YK и расстоянием |
Подключение датчиков к Arduino
Работать с сенсорами Sharp очень просто — достаточно подключить к нему пита- ние и завести вывод Vo на аналоговый вход Arduino. Значение получаемой функции analogRead представляет собой целое число от 0 до 1023. Таким образом, чтобы узнать напряжение на выходе сенсора, необходимо значение на аналоговом входе Arduino умножить на 0,0048828125 (5 В / 1024). Содержимое скетча, выдающего расстояние, измеряемое датчиком Sharp, в последовательный порт, представлено примере
//
//
//
int IRpin = 0; // аналоговый пин для подключения выхода Vo сенсора
void setup() {
Serial.begin(9600); // старт последовательного порта
}
void loop() {
// 5V/1024 = 0.0048828125
float volts = analogRead(IRpin)*0.0048828125;
// считываем значение сенсора и переводим в напряжение Serial.println(volts); // выдаем в порт delay(100);
}