Простая программа ESP to ESP reading blink не считывает входное напряжение

Один ESP32 3v3 подключен к GPIO 26 другого ESP32. Программа загружена. Встроенный светодиод горит в течение двух секунд, как и ожидалось. Затем он выключается. Независимо от того, к какому выводу GPIO подключен 3v3 (кроме 2), светодиод остается выключенным.

/*
 * НА плате LED GPIO 2
 */

#define LED 2
#define inPin 26

void setup()
{
  Serial.begin(9600);
  // Контакты 34, 35, 36, 39 являются только входными
  pinMode(LED, OUTPUT);

  // Проверка LED работает
  digitalWrite(LED, HIGH);
  delay(2000);
}

void loop()
{
  Serial.println(digitalRead(inPin));
  digitalWrite(LED, digitalRead(inPin));
}

Есть какая-то причина, по которой это происходит? Основания соединены. Просто попробуйте включить/выключить светодиод, если внешнее напряжение возникает на любом выводе GPIO (например, 26).

, 👍-1

Обсуждение

вы хотите сказать, что пытаетесь запитать один ESP32 от вывода GPIO другого ESP32?, @jsotola

Вы соединили штыри GND двух ESP?, @Peter Paul Kiefer

@jsotola ..... нет, @adamaero

@PeterPaulKiefer да, @adamaero

в коде есть оператор serial.println ()... пожалуйста добавьте полученную распечатку к вашему сообщению, @jsotola

"0" ad infinitum, @adamaero


1 ответ


0

Arduino GPIO автоматически устанавливается в качестве входных данных, поэтому я предположил то же самое для ESP32. Как только PIN-режим входного pin был установлен, он заработал:

#define LED 2 // ON Board LED GPIO 2
#define inPin 26

void setup()
{
  Serial.begin(9600);
  // Контакты 34, 35, 36, 39 являются только входными
  pinMode(LED, OUTPUT);
  pinMode(inPin, INPUT); // <----------
}

void loop()
{
  Serial.println(digitalRead(inPin));
  digitalWrite(LED, digitalRead(inPin));
}
,