Инфракрасный дальномер GP2Y0A02YK0F предназначен для измерения расстояния до препятствий от 20 до 150 см. Напряжение на аналоговом выходе датчика соответствует расстоянию до препятствия.
Датчик состоит из PSD (Position Sensitive Detector) – позиционно-чувствительного детектора, IRED (InfraRed Emitting Diode) – инфракрасного светодиода, оптических линз и схемы обработки сигналов.
Применение метода триангуляции в схеме обработки сигналов снижает влияние отражающих способностей объектов, температуры окружающей среды и продолжительности эксплуатации на показания датчика.
Формула расчета расстояния:
L = K × VN, где:
L – расстояние в сантиметрах
V – напряжение на выходе датчика
K – коэффициент = 61,681
N – коэффициент = -1,133
Пример подключения

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <SharpIR.h> #define ir A0 #define model 20150 // ir: the pin where your sensor is attached // model: an int that determines your sensor: 1080 for GP2Y0A21Y // 20150 for GP2Y0A02Y // (working distance range according to the datasheets) SharpIR SharpIR(ir, model); void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { delay(2000); unsigned long pepe1 = millis(); // takes the time before the loop on the library begins int dis = SharpIR.distance(); // this returns the distance to the object you're measuring Serial.print("Mean distance: "); // returns it to the serial monitor Serial.println(dis); unsigned long pepe2 = millis() - pepe1; // the following gives you the time taken to get the measurement Serial.print("Time taken (ms): "); Serial.println(pepe2); } |