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

Материал из me-robotics wiki
(Джек Воробей переворачивается в гробу)
Строка 16: Строка 16:
 
[[Файл:Лазерный дальномер.png|мини|Лазерный дальномер]]
 
[[Файл:Лазерный дальномер.png|мини|Лазерный дальномер]]
  
==== '''Принцип работы''' ====
+
== Принцип работы ==
 
Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной  частоте, который после усиления транзистором применяется для возбуждения лазерной трубки. Приемник содержит принимающую трубку резонансная частота которой соответствует генерирующей трубке. В связи с этим датчик может принять отраженный свет той же частоты, что и излученный, защищая тем самым датчик от видимого света и ложных срабатываний.
 
Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной  частоте, который после усиления транзистором применяется для возбуждения лазерной трубки. Приемник содержит принимающую трубку резонансная частота которой соответствует генерирующей трубке. В связи с этим датчик может принять отраженный свет той же частоты, что и излученный, защищая тем самым датчик от видимого света и ложных срабатываний.
  
==== '''Особенности:''' ====
+
== Особенности ==
  
 
* эффективная длина измерения 4-5 м;
 
* эффективная длина измерения 4-5 м;
Строка 27: Строка 27:
 
* габаритные размеры: 47,7x17,9 мм.
 
* габаритные размеры: 47,7x17,9 мм.
  
==== '''Подключение:''' ====
+
== Подключение ==
  
 
* VCC ↔ 2.5V ~ 5.0V
 
* VCC ↔ 2.5V ~ 5.0V
Строка 33: Строка 33:
 
* DOUT ↔ MCU.IO (digital output)
 
* DOUT ↔ MCU.IO (digital output)
  
==== '''Пример кода для проверки датчика:''' ====
+
== Пример кода для проверки датчика ==
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
 
int laser_din = 2;
 
int laser_din = 2;

Версия 17:23, 11 июня 2021

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

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

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

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


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

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


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);
}