Лазерные дальномеры: различия между версиями
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 16: | Строка 16: | ||
[[Файл:Лазерный дальномер.png|мини|Лазерный дальномер]] | [[Файл:Лазерный дальномер.png|мини|Лазерный дальномер]] | ||
| − | == | + | == Принцип работы == |
| − | Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной | + | Лазерный датчик содержит в себе передатчик и приемник лазерного излучения. В передатчике располагается осциллирующая трубка, генерирующая сигнал на определенной частоте, который после усиления транзистором применяется для возбуждения лазерной трубки. Приемник содержит принимающую трубку резонансная частота которой соответствует генерирующей трубке. В связи с этим датчик может принять отраженный свет той же частоты, что и излученный, защищая тем самым датчик от видимого света и ложных срабатываний. |
| − | == | + | ==Особенности== |
| − | * эффективная длина измерения 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"> | |
| + | 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); | ||
| + | } | ||
| + | </syntaxhighlight> | ||
Текущая версия на 22: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);
}
