Ультразвуковой дальномер (датчик)

В этом уроке вы познакомитесь с ультразвуковым дальномером и разберете пример скейтча при использовании дальномера

Часто в проектах на Arduino необходимо определить расстояние до препятствия. Для этих целей обычно используют инфракрасные или утразвуковые дальномеры.

Как работать с  ультразвуковым сонаром HC-SR04?

У модели HC-SR04 есть 4 контакта, которые используются для подключения к Arduino.  ttt

  • VCC подключим к +5V на Arduino
  • Trig к цифровому пину на Arduino
  • Echo к цифровому пину на Arduino
  • GND к GND на Arduino

Особенности ультразвукового дальномера HC-SR04:

Простота в использовании и 4-контактное подключение.

Диапазон измерения: от 2 см до 400 см.

Точность измерения: ± 1 см (при максимальной дальности ± 3 см).

Угол измерения: 15º.

Ультразвуковой диапазон работы на частоте 40 кГц.

Рабочее напряжение 4,8 В до 5,5 В (± 0.2В макс).

Диапазон рабочих температур: 0 ° С до 60 ° С (± 10%).

 

Распиновка

  • Vcc — положительный контакт питания.
  • Trig — цифровой вход. Для запуска измерения необходимо подать на этот вход логическую единицу на 10 мкс. Следующее измерение рекомендуется выполнять не ранее чем через 50 мс.
  • Echo — цифровой выход. После завершения измерения, на этот выход будет подана логическая единица на время, пропорциональное расстоянию до объекта.
  • GND — отрицательный контакт питания.

 

Пример скейтча при использовании дальномера:

const int Trig = 8; 

const int Echo = 9; 

const int ledPin = 11;  // 13 – если будете использовать встроенный в Arduino светодиод

void setup() 


pinMode(Trig, OUTPUT); 

pinMode(Echo, INPUT); 

pinMode(ledPin, OUTPUT); 

  
Serial.begin(9600); 
}

unsigned int time_us=0;

unsigned int distance_sm=0;

void loop() 

{
digitalWrite(Trig, HIGH);// Подаем сигнал на выход микроконтроллера

delayMicroseconds(10);// Удерживаем 10 микросекунд

digitalWrite(Trig, LOW);// Затем убираем

time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса

distance_sm=time_us/58;// Пересчитываем в сантиметры

Serial.println(distance_sm);// Выводим на порт

if (distance_sm<50) // Если расстояние менее 50 сантиметром 


   digitalWrite(ledPin, 1); // Зажигаем светодиод 


else 

   digitalWrite(ledPin, 0); // иначе тушим 


delay(100); 
} 

Использование библиотеки Ultrasonic.h

Для начала требуется скачать и установить библиотеку. Примеры работы с библиотекой Ultrasonic.h

#include <Ultrasonic.h>

Ultrasonicultrasonic(8,9);// 8 - trig, 9 - echo

voidsetup()

 {

  Serial.begin(9600);

}

voidloop()

{

  Serial.print(ultrasonic.Ranging(CM));

  Serial.println("cm");    

  delay(100);

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *