Блог ветерана разработок

Датчики - HC-SR04 ультразвуковой датчик расстояния


Напряжение питания:   3В - 6В
Ток покоя: <2mA
Эффективный угол: <15°
Диапазон измерения расстояния: 2–500 См
Разрешение: 0.3 См
Габариты: 2 см х 4.3 См х 1.5 См

 

 

 

СХЕМА ПОДКЛЮЧЕНИЯ к Arduino

 
НАЧАЛО РАБОТЫ
1. Собрать схему изображенную на Рисунке
2. «Залить» скетч HCSR04_UNO_Test_OK.ino
  Поворачивая  датчик влево или вправо убедится в правильности измерения им расстояния
 

СКЕТЧ
HCSR04_UNO_Test_OK.ino

/******************************************************************************
 * Программа тестирования ультразвукового датчика HC-SR04
 *    http://easycraft.by/product.php?article=FZ0056
 *
 *      Файл HCSR04_UNO_Test_OK.ino
 *
 * Подготовлен 09 феврвля 2016г   Мащенко В.И.   mvi54@mail.ru
 *
 * Arduino Uno    HC-SR04  
 * +5V         VCC
 * pin D2      Trig
 * pin  D3     Echo
 * GND         GND
 *
 ****************************************************************************/
int Trig_pin=2;        // pin 2   - выход формирующий ультразвуковой импульс
int Echo_pin=3;        // pin 3   - вход принимающий эхо ульразвукового импульса
int echo_time;         // время прихода тмпульса эхо в мкс.
int sm;                // расстояние до предмета от которого отразился ультразвуковой импульс.
 
void setup()
{
      pinMode(Trig_pin, OUTPUT);  //  pin 2   - на выход
      pinMode(Echo_pin, INPUT);   //  pin 3   - на вход
      Serial.begin(9600);         //  открываем сериал порт      
}    

void loop()
{
     // формируем ультразвуковой импульс длительностью 10 мкс
     digitalWrite(Trig_pin, HIGH);              // pin 2   Лог  1
     delayMicroseconds(10);                     // ждем 10 мкс
     digitalWrite(Trig_pin, LOW);               // pin 2   Лог  0
     echo_time = pulseIn(Echo_pin, HIGH);       // определяем время прихода зхо ультразвукового сигнала
     sm=echo_time/29/2;                         // конвертируем время прихода эхо по специальной формуле в сантиметры
      Serial.print("Distance= " );                
      Serial.print(sm);                        // выводим на экран значения в сантиметрах
      Serial.print("cm" );                
      Serial.print(" " );                
         
     delay(100); // ждем 100 мс        
}

 

Share This Post: