Библиотека Ultrasonic.h

Библиотека Ultrasonic.h предназначена для работы с ультразвуковым датчиком измерения расстояния HC-SR04

Скачать | Страница на GitHub

Бесконтактный направленный датчик HC-SR04. Используя ультразвуковые волны, он измеряет расстояние до объекта или просто обнаруживает препятствие на пути движения подвижной конструкции. На плате модуля размещены излучатель ультразвука и воспринимающий отраженную волну микрофон. В отличие от инфракрасных дальномеров на ультразвуковой датчик HC-SR04 не влияют источники света или цвет препятствия. Могут возникнуть затруднения при определении расстояния до пушистых или тонких объектов. Также необходимо знать,  что скорость звука в воздухе зависит и от температуры. Это влияет на точность датчика.

 

Основные функции библиотеки Ultrasonic.h

Обьявляем обьект ultrasonic с параметрами, где 12 — это контакт Trig, 13 — Echo

Ultrasonic ultrasonic(12, 13);

Обьявляем обьект ultrasonic с одним параметром, где 13 — это сигнальный контакт

Ultrasonic ultrasonic(13);

Читаем значение расстояния в сантиметрах

int dist = ultrasonic.distanceRead();

Читаем значение расстояния в дюймах

int dist = ultrasonic.distanceRead(INC);

 

Схема подключения датчика HC-SR04 к Ардуино

  • VCC -> питание 5 вольт, допускается 3.3V
    Внимание! Для того, чтобы запитать датчик от 3.3 вольт, например при подключении к esp8266, потребуется модифицировать резистивный делитель, в схеме R5-R6. Ситуация решается либо увеличением R5 до 7,5кОм, либо уменьшением R6 до 5,1кОм. Можно просто припаять поверх R6 ещё один SMD резистор на 10кОм
  • GND -> GND земля
  • Trig -> любой цифровой контакт на Arduino, например 12
  • Echo -> любой цифровой контакт на Arduino, например 13

Схема подключения датчика HC-SR04 к Ардуино

 

Пример использования библиотеки Ultrasonic.h

#include <Ultrasonic.h> // подключаем библиотеку
 
// обьявляем обьект ultrasonic
Ultrasonic ultrasonic(12, 13);
 
int dist = 0; // объявляем переменную для расстояния
 
void setup() {
  Serial.begin(9600); // отрываем порт для консоли
}
 
void loop() {
  // считываем расстояние с датчика	
  dist = ultrasonic.distanceRead();
  // выводим значение в консоль	
  Serial.print("Расстояние до объекта : ");
  Serial.print();
  Serial.println(" см");
  delay(1000);
}

 

6601