Лазерные дальномеры: различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
Нет описания правки
 
Строка 17: Строка 17:


== Принцип работы ==
== Принцип работы ==
Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной частоте, который после усиления транзистором применяется для возбуждения лазерной трубки. Приемник содержит принимающую трубку резонансная частота которой соответствует генерирующей трубке. В связи с этим датчик может принять отраженный свет той же частоты, что и излученный, защищая тем самым датчик от видимого света и ложных срабатываний.
Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной частоте, который после усиления транзистором применяется для возбуждения лазерной трубки. Приемник содержит принимающую трубку резонансная частота которой соответствует генерирующей трубке. В связи с этим датчик может принять отраженный свет той же частоты, что и излученный, защищая тем самым датчик от видимого света и ложных срабатываний.


== Особенности ==
==Особенности==


* эффективная длина измерения 4-5 м;
*эффективная длина измерения 4-5 м;
* включает в себя схему усиления;
*включает в себя схему усиления;
* индикатор принятого сигнала;
*индикатор принятого сигнала;
* напряжение питания: 2,5… 5,0 В;
*напряжение питания: 2,5… 5,0 В;
* габаритные размеры: 47,7x17,9 мм.
*габаритные размеры: 47,7x17,9 мм.


== Подключение ==
==Подключение==


* VCC ↔ 2.5V ~ 5.0V
*VCC ↔ 2.5V ~ 5.0V
* GND ↔ земля
*GND ↔ земля
* DOUT ↔ MCU.IO (digital output)
*DOUT ↔ MCU.IO (digital output)


== Пример кода для проверки датчика ==
==Пример кода для проверки датчика==
<syntaxhighlight lang="c">
<syntaxhighlight lang="c">
int laser_din = 2;
int laser_din = 2;

Текущая версия от 19:00, 16 мая 2022

Лазерный дальномер — прибор для измерения расстояний с применением лазерного луча.

По принципу действия лазерные дальномеры различаются на импульсные и фазовые.

Импульсный лазерный дальномер — это устройство, состоящее из импульсного лазера и детектора излучения. Измеряя время, которое затрачивает луч на путь до отражателя и обратно, зная значение скорости света, рассчитывается расстояние между лазером и отражающим объектом. Импульсные лазерные дальномеры обладают большой дальностью работы, т.к. импульс можно выдать с большой мощностью и повышенной скрытностью.

Импульсный лазерный дальномер


Фазовые лазерные дальномеры на короткий промежуток времени включают подсветку объекта с разной модулированной частотой и по сдвигу фазы вычисляют расстояние до цели. Они не имеют таймера замера отражённого сигнала, поэтому дешевле, но имеют меньшую дальность.

Фазовый лазерный дальномер


Laser Sensor – модуль лазерного датчика для широкого круга применений позволяет обнаруживать объекты на расстоянии до 4-5 метров от места установки датчика. LaserSensor может быть использован для обнаружения препятствий и уклонения от них на роботах и автомобилях.

Лазерный дальномер

Принцип работы

Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной частоте, который после усиления транзистором применяется для возбуждения лазерной трубки. Приемник содержит принимающую трубку резонансная частота которой соответствует генерирующей трубке. В связи с этим датчик может принять отраженный свет той же частоты, что и излученный, защищая тем самым датчик от видимого света и ложных срабатываний.

Особенности

  • эффективная длина измерения 4-5 м;
  • включает в себя схему усиления;
  • индикатор принятого сигнала;
  • напряжение питания: 2,5… 5,0 В;
  • габаритные размеры: 47,7x17,9 мм.

Подключение

  • VCC ↔ 2.5V ~ 5.0V
  • GND ↔ земля
  • DOUT ↔ MCU.IO (digital output)

Пример кода для проверки датчика

int laser_din = 2;
void setup(){
  pinMode(laser_din, INPUT);
  Serial.begin(9600);
  }
void loop(){
  if (digitalRead(laser_din) == LOW){
    Serial.println("No obstacles!");
    }
  else{
    Serial.println("Obstacle!");
    }
  delay(500);
}