Датчик расстояния ESP32 + работает только при отключении и повторном подключении кабеля после загрузки кода
Я пытаюсь настроить свой ESP32-WROOM-32D
для использования ультразвукового датчика расстояния звука AJ-SR04M, но у меня возникли некоторые трудности.
Используя Arduino IDE с NewPing и приведенным ниже кодом, измерения расстояния работают нормально, но только тогда, когда я подключаю питание AJ-SR04M после загрузки кода:
#include <NewPing.h>
#define TRIGGER_PIN 4
#define ECHO_PIN 0
#define MAX_DISTANCE 400
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50);
unsigned int distance = sonar.ping_cm();
Serial.print(distance);
Serial.println("cm");
}
Когда датчик расстояния подключен во время загрузки кода, ничего не происходит (нет выхода на последовательную консоль, нет светодиода на датчике). Когда я выполняю загрузку кода и после этого подключаю +5V, то все работает нормально.
Я тоже попробовал использовать Arduino Uno; там это ограничение неприменимо.
Что происходит - как я могу воплотить это в жизнь без необходимости каждый раз отключать/подключать мой датчик?
@SaeX, 👍0
Обсуждение0
- esp32, platformio A fatal error occurred: Packet content transfer stopped (received 8 bytes) *** [upload] Error 2
- Как выбрать альтернативные контакты I2C на ESP32?
- Драйверы для чипа последовательного порта CH9102X
- Как преобразовать форматированный оператор print в строковую переменную?
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Питание esp32cam от аккумулятора
- Контакты RX и TX на esp32
- ESP32: отключить детектор отключения питания
Не используйте GPIO 0. Это повлияет на режим загрузки., @Majenko
@Majenko: спасибо, это действительно было подвохом. Странно видеть такие учебники, как https://diyi0t.com/ultrasonic-sensor-tutorial-for-arduino-and-esp8266/ поощрять использование GPIO 0., @SaeX
Не верьте всему, что вы читаете в Интернете..., @Majenko
Будьте уверены, я этого не делаю ;-), @SaeX