Могут ли ESP8266 и HC-SR04 дружить?

У меня есть код, который я использовал с Uno и HC-SR04. Чтобы удешевить мой проект, я пытаюсь перенести все на ESP8266-01.

Последнее зависание, с которым я столкнулся, заключалось в том, что ESP8266 не поддерживает функциюpulsIn.

duration = pulseIn(echoPin, HIGH);

Есть идеи, как можно изменить функциюpulsIn с помощью прерываний или чего-то еще?

Наконец, я много искал возможности использования HC-SR04 с ESP8266, и хотя есть пара примеров, я не видел, чтобы кто-нибудь делал это с кодом Arduino...

, 👍0

Обсуждение

Это может быть полезно, я столкнулся с библиотекой newping.h, которая не используетpulsIn (https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home). Код не компилируется, когда я подключаю всю эту библиотеку. Я просто хочу иметь возможность использовать эту часть для обхода импульса, но еще не понял этого., @Paul Masek

«Могут ли ESP8266 и HC-SR04 быть друзьями?» Пробовали ли вы еду, вино, свечи и романтическую музыку?, @Majenko


2 ответа


Лучший ответ:

1

pulseIn() на самом деле очень простая функция. Пока существует счетчик микросекунд той или иной формы, вы можете легко установить свой собственный.

Кроме того, я не знаю, какую реализацию плагина ESP8266 вы используете, но тот, который я использую, имеет pulseIn доступен.

,

Я использую ту же версию плагина ESP8266, что и вы, спасибо, что сообщили мне, чтоpulsIn() уже поддерживается! Я не видел упоминания об этом в справочной документации - http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/doc/reference.html. Мне также сказали, что мой код скомпилируется, даже если не все функции поддерживаются., @Paul Masek


0

У меня были проблемы с PulseIn(), пока в setup() не был добавлен правильный код инициализации.
Следующее:

pinMode(ТРИГГЕР, ВЫХОД);
digitalWrite(TRIGGER, LOW);
задержка(2);
pinMode(ECHO, INPUT);

TRIGGER и ECHO изначально были определены в верхней части кода с другими переменными следующим образом:
#define TRIGGER 13 // Вывод данных D7
#define ECHO 12 // Вывод данных D6

Моя плата HC-SR04 была подключена к D7 и D6, но часто используются D1 и D2.

Проект представлял собой систему отчетности «Tide». Работа продолжается. Также обнаружено, что плата HC-SR04 работала нестабильно при использовании напряжения 3,3 В постоянного тока в качестве VCC. Работает лучше, если VCC платы HC-SR04 соответствует Vin на плате ESP8266.

,