Arduino:Примеры/Подключение датчика HC-SR04 к Arduino

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.
Cat poo.png Черновик


Подключение датчика HC-SR04 к Arduino

Данный пример демонстрирует подключение ультразвукового датчика HCSR-04 к плате Arduino.

Необходимое оборудовавние

Цепь

Подключите ультразвуковой датчик HCSR-04 к Arduino согласно таблице:

Контакт Arduino Контакт HCSR-04
7 Echo
8 Trig
5V Vcc
GND Gnd


Hcsr-04 1 arduino uno 1.png

Код

/*
* Пример работы с ультразвуковым датчиком HC-SR04
*/

int trigPin = 8;
int echoPin = 7;
float v=331.5+0.6*20;                 // скорость звука при температуре 20 градусов Цельсия(вы можете указать свое значение вместо 20) в м/с

void setup()
{
  Serial.begin(9600);                 // открываем последовательный порт, задаем скорость передачи данных на 9600 бит/сек
  pinMode(trigPin, OUTPUT);           // устанавливаем 8 пин как выход
  pinMode(echoPin, INPUT);            // устанавливаем 7 пин как вход
}

void loop() // 
{
  float d=distance();                 // вызов функции и сохранение значения в переменной
  Serial.println(d, 2);               // вывод значения
  delay(200);                         // задержка в 200 мс
}

float distance(){
  digitalWrite(trigPin, LOW);         // подаем низкий уровень сигнала
  delayMicroseconds(3);               // ждем 3 мкс
  digitalWrite(trigPin, HIGH);        // подаем высокий уровень сигнала
  delayMicroseconds(5);               // ждем 5 мкс
  digitalWrite(trigPin, LOW);         // подаем низкий уровень сигнала

  float tUs = pulseIn(echoPin, HIGH); // вычисляем длительность перехода echoPin из HIGH в LOW
  float t = tUs / 2000000;            // переводим мкс -> с (делим на 1000000) и отрезаем промежуток времени затраченный звуком на обратный путь (делим на 2)
  float d = t*v*100;                  // дистанция в см
  return d;                           // возвращаем значение дистанции
}
Serial 9600 hcsr-04 2.png

См.также

Внешние ссылки