Общие сведения
Инфракрасный дальномер GP2Y0A02YK0F — предназначен для измерения расстояния до препятствий от 20 до 150 см. Напряжение на аналоговом выходе датчика соответствует расстоянию до препятствия.
Характеристики
- Напряжение питания: 4,5 ... 5,5 В
 - Потребляемый ток: до 50 мА (номинально 33 мА)
 - Диапазон измеряемых расстояний: 20 ... 150 см
 - Выходное напряжение: 0,4 В ±0,15 В (при максимальном расстоянии до препятствия = 150 см)
 - Выходное напряжение: 2,45 В ±0,25 В (при минимальном расстоянии до препятствия 20 см)
 - Рабочая температура: -10 ... 60 °С
 - Температура хранения: -40 ... 70 °С
 - Габариты: 29,5х13х21,6 мм
 - Вес: 6 г
 
Подключение
Выход датчика (жёлтый провод) подключается к любому аналоговому входу Arduino.
Питание
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Напряжение питания 5 В постоянного тока подаётся на вывод GND (чёрный провод) и Vcc (красный провод) датчика.
Подробнее о датчике
Датчик состоит из PSD (Position Sensitive Detector) - позиционно-чувствительного детектора, IRED (InfraRed Emitting Diode) - инфракрасного светодиода, оптических линз и схемы обработки сигналов.
Применение метода триангуляции, в схеме обработки сигналов, снижает влияние отражающих способностей объектов, температуры окружающей среды и продолжительности эксплуатации на показания датчика.
Датчик способен измерять расстояние и выше 150 см, но корректные показания лежат в диапазоне от 20 до 150 см.
Формула расчета расстояния
L = K * VN, где:
- L - расстояние в сантиметрах
 - V - напряжение на выходе датчика
 - K - коэффициент = 61,681
 - N - коэффициент = -1,133
 
Примеры
Вывод значений в монитор порта.
const uint8_t analog_Pin   = 0;                          // Вывод к которому подключен датчик
const double  division_ADC = 0.0048828125;               // Напряжение соответствующее одному делению АЦП (опорное напряжение / количество делений АЦП) = 5В / 1024 = 0.0048828125
      double  inputVoltage;                              // Рассчитанное напряжение полученное с датчика
      double  distance_OBJ;                              // Рассчитанная дистанция до препятствия
void setup(){
    Serial.begin(9600);
}
void loop(){
    inputVoltage = analogRead(analog_Pin)*division_ADC;  // Рассчитываем напряжение на входе analog_Pin
    distance_OBJ = 61.681*pow(inputVoltage, -1.133);     // Рассчитываем расстояние до объекта
    Serial.println(distance_OBJ);                        // Выводим полученное растояние
    delay(200);                                          // Приостанавливаем выполнение программы на 0,2 сек
}
Комплектация
- 1x Инфракрасный дальномер GP2Y0A02YK0F;
 
      














