Использование локатора HC SR04

При использовании сонарного модуля HC SR04 рекомендуется использовать библиотеку multi-function shield library для считывания и вычисления значений расстояния, если прерывания включены. Причина этого в том, что подпрограмма обслуживания прерываний библиотеки влияет на требования к синхронизации этого модуля сонара, и поэтому библиотека компенсирует это. Библиотека также предлагает три уровня фильтрации для сглаживания показаний от модуля сонара. Триггер и эхо-штыри модуля сонара подключены к контактам 5 и 6 Arduino соответственно.

hcsr2

Описание выводов HC SR04

1 — Vcc Питание

2 — Trig Вход подачи строба запуска

3 — Echo Вывод для получения ответного импульса

4 — GND Земля.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//подключаем необходимые библиотеки
#include <TimerOne.h>
#include <Wire.h>
#include <MultiFuncShield.h>

const int TrigPin = 5; //Trig подключен к D5
const int EchoPin = 6; //Echo подключен к D6
 
void setup() {
pinMode(TrigPin, OUTPUT); // триггер - выходной пин
pinMode(EchoPin, INPUT); // эхо - входной
 
Timer1.initialize(); //инициализация таймера
MFS.initialize(&amp;Timer1); // инициализация multi-function shield library
 
// Инициализация с использованием фильтра нижних частот: SMOOTHING_NONE, SMOOTHING_MODERATE or SMOOTHING_STRONG
MFS.initSonar(SMOOTHING_MODERATE);
}
 
void loop() {
MFS.write((int)MFS.getSonarDataCm(TrigPin, EchoPin)); //выводим данные непосредсвенно в дисплей
delay(100); //пауза 100 мс
}

Библиотеки:
MultiFuncShield.h — https://yadi.sk/d/_d1fxqtb3Qwz3B
TimerOne.h — https://github.com/PaulStoffregen/TimerOne

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

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

Навигация по записям