Общие сведения
Инфракрасный дальномер GP2Y0A21YK0F — предназначен для измерения расстояния до препятствий от 10 до 80 см. Напряжение на аналоговом выходе датчика соответствует расстоянию до препятствия.
Характеристики
- Напряжение питания: 4,5 - 5,5В;
- Потребляемый ток: до 40 мА (номинально 30 мА);
- Диапазон измеряемых расстояний: 10 - 80 см;
- Выходное напряжение: 0,4 В ±0,15 В (при максимальном расстоянии до препятствия 80 см);
- Выходное напряжение: 2,3 В ±0,25 В (при минимальном расстоянии до препятствия 10 см);
- Рабочая температура: -10 - 60 °С;
- Температура хранения: -40 - 70 °С;
- Габариты: 29,5х13х13,5 мм;
- Вес: 5 г;
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Выход датчика (жёлтый провод) подключается к любому аналоговому входу Arduino.
Питание
Напряжение питания 5 В постоянного тока подаётся на вывод GND (чёрный провод) и Vcc (красный провод) датчика.
Подробнее о датчике
Датчик состоит из PSD (Position Sensitive Detector) - позиционно-чувствительного детектора, IRED (InfraRed Emitting Diode) - инфракрасного светодиода, оптических линз и схемы обработки сигналов.
Применение метода триангуляции, в схеме обработки сигналов, снижает влияние отражающих способностей объектов, температуры окружающей среды и продолжительности эксплуатации на показания датчика.
Датчик способен измерять расстояние и выше 150 см, но корректные показания лежат в диапазоне от 20 до 150 см.
Формула расчета расстояния
L = K * VN, где:
- L - расстояние в сантиметрах
- V - напряжение на выходе датчика
- K - коэффициент = 27,86
- N - коэффициент = -1,15
Примеры
Вывод значения расстояния в монитор порта.
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 = 27.86*pow(inputVoltage, -1.15); // Рассчитываем расстояние до объекта Serial.println(distance_OBJ); // Выводим полученное растояние delay(200); // Приостанавливаем выполнение программы на 0,2 сек }
Комплектация
- 1x Инфракрасный дальномер GP2Y0A21YK0F;