Страница 1 из 1

SR04 по одному проводу

Добавлено: 11 апр 2019, 23:09
pursu1t
Добрый день. Нужно к arduino uno подключить 10 датчиков SR04. При использовании Arduino ide и библиотеки "NewPing.h" есть возможность подключить такой датчик к 1 входу от Trig, соединив Trig и Echo резистором на 2.2к. Но мне надо это сделать в FLProg. Помогите написать такой блок, можно на коммерческой основе. Вот скетч:
#include <NewPing.h>

#define PIN_PING 12 // Пин с Arduino соединен с пинами trigger и echo на датчике расстояния
#define MAX_DISTANCE 200 // Максимальное расстояние, которое мы способны контролировать (400-500см).

NewPing sonar(PIN_PING, PIN_PING, MAX_DISTANCE); // Регулировка пинов и максимального расстояния

void setup() {
Serial.begin(9600); // Открывается протокол с данными и частотой передачи 115200 бит/сек.
}

void loop() {

delay(50); // Задержка в 50 мс между генерируемыми волнами. 29 мс – минимально допустимое значение
unsigned int distanceSm = sonar.ping(); // Создание сигнала, получение параметра его продолжительности в мкс (uS).
Serial.print("Ping: ");
Serial.print(distanceSm / US_ROUNDTRIP_CM); // Пересчет параметра времени в величину расстояния и вывод результата (0 соответствует выходу за допустимый предел)
Serial.println("cm");
}

SR04 по одному проводу

Добавлено: 11 апр 2019, 23:31
ViktorPetrov
Так у тебя три строчки кода ,остальное вывод данных в порт .Здесь обсуждалось Подключение нескольких датчиков HC-SR04

SR04 по одному проводу

Добавлено: 12 апр 2019, 00:42
pursu1t
Можете сделать мне такой блок, а я отблагодарю? Нужно чтобы работал как старый, в идеале чтобы мог работать с аналоговыми пинами.

SR04 по одному проводу

Добавлено: 12 апр 2019, 03:46
Mining
pursu1t писал(а): 11 апр 2019, 23:09 При использовании Arduino ide и библиотеки "NewPing.h" есть возможность подключить такой датчик к 1 входу от Trig, соединив Trig и Echo резистором на 2.2к.
А где библиотека? Код сам написали, проверили с Ардуино, рабочий?

Отправлено спустя 16 минут 54 секунды:
Вот эта библиотека?

SR04 по одному проводу

Добавлено: 12 апр 2019, 17:14
pursu1t
Код из примера в интернете, https://arduinomaster.ru/datchiki-ardui ... _HC_SR04-3
Библиотека тут: https://bitbucket.org/teckel12/arduino- ... downloads/

SR04 по одному проводу

Добавлено: 12 апр 2019, 18:12
ViktorPetrov
Может я и ошибаюсь ,но Вам нужен другой пример ,если собрались к arduino uno подключить 10 датчиков SR04:15 Sensors Sketch. По ссылке выше есть блок уже готовый на 5 датчиков , подредактируете количество датчиков в блоке путем изменений SONAR_NUM и количества объектов NewPing .

SR04 по одному проводу

Добавлено: 12 апр 2019, 21:09
AVGN
[ref]pursu1t[/ref], вот
HC-SR04_1PIN_NEW_(CODE).ubi

SR04 по одному проводу

Добавлено: 12 апр 2019, 21:37
ecoins
Написан такой блок с библиотекой. Работает по прерыванию и без (режим определяется автоматически).
Есть режим ограничения измерения дистанции - для работы без прерывания важно, т.к. измерение 60 cм тормозит программу на 6 мс.
Исключён режим зависания. Предусмотрено усреднение.
Работает на AVR, esp8266, esp32, DUE, mega2560.
Полключается через один пин - пины echo и trig соединяются резистором примерно 2к. Подключается через пин trig.
Библиотека и блок написаны самостоятельно и испытаны в течениии года. Тестировалось на одновременной работе 8-сонаров.
В апреле-мае планируется доработка.
Разработчик ecoins.