Библиотека Ultrasonic
Для работы Arduino с датчиком HC-SR04 имеется готовая библиотека — Ultrasonic. Конструктор Ultrasonic принимает два параметра: номера пинов, к которым подключены выводы Trig и Echo соответственно:
Ultrasonic ultrasonic(12,13);
здесь вывод датчика Trig подключен к 12-му пину Arduino, а Echo — к 13-му.
Библиотека имеет один метод Ranging, в качестве параметра которому задается, во что пересчитывать расстояние до объекта: в сантиметры или в дюймы:
#define CM 1
#define INC 0
Таким образом строчка ultrasonic.Randing(CM)вернет расстояние до объекта (типа long) в сантиметрах.
Для использования библиотеки в своих проектах поместим ее в папку libraries каталога установки Arduino.
Скетч, выдающий в последовательный порт расстояние до объекта в сантиметрах, представлен в примере.
#include "Ultrasonic.h"
// sensor connected to:
// Trig - 12, Echo - 13 Ultrasonic ultrasonic(12, 13);
void setup()
{
Serial.begin(9600);
}
void loop()
{
float dist_cm = ultrasonic.Ranging(CM); Serial.println(dist_cm);
delay(100);
}