Que GPIO para despertar del deepSleep y hacer digitalRead

Hola, tengo un ARduino nano ESP32 y quiero hacer un deepSleep y un digitalRead desde el mismo pin, mirando la documentación de espressif solo hay unos pines con RTC_GPIO,
anteriormente tenia la interrupción en el GPIO12, pero al ser del SCL me interfería con unos sensores, tengo que cambiarlo pero no se a cual porque no me funciona correctamente, en unos se me queda siempre en estado abierto y en otros ni me lee.

#include <esp_sleep.h>
#define interruptPin GPIO_NUM_13

void setup() {
  pinMode(interruptPin, INPUT_PULLUP);   
  esp_sleep_enable_ext0_wakeup(interruptPin, 1);

}

void loop() {
  int estadoPuerta = digitalRead(interruptPin);

  if (estadoPuerta == HIGH) {
        Serial.println("abierto");
        
        
       } else  {
        Serial.println("cerrado");        
         esp_deep_sleep_start();
         
         }
        

}

Prueba con los que no tengan doble/triple función. Ejemplo los de la derecha del esquema. D2 a D11, el que gustes.

esos pines no son RTC_GPIO, entonces no despiertan al micro del deepsleep

Ok. Prueba con los demás disponibles que no sean I2C.

The table below provides more information on pin usage, and please note the comments in the table for GPIOs with restrictions.

GPIO Analog Function RTC GPIO Comments
GPIO0 ADC2_CH1 RTC_GPIO11 Strapping pin
GPIO1 TXD
GPIO2 ADC2_CH2 RTC_GPIO12 Strapping pin
GPIO3 RXD
GPIO4 ADC2_CH0 RTC_GPIO10
GPIO5 Strapping pin
GPIO6 SPI0/1
GPIO7 SPI0/1
GPIO8 SPI0/1
GPIO9 SPI0/1
GPIO10 SPI0/1
GPIO11 SPI0/1
GPIO12 ADC2_CH5 RTC_GPIO15 Strapping pin; JTAG
GPIO13 ADC2_CH4 RTC_GPIO14 JTAG
GPIO14 ADC2_CH6 RTC_GPIO16 JTAG
GPIO15 ADC2_CH3 RTC_GPIO13 Strapping pin; JTAG
GPIO16 SPI0/1
GPIO17 SPI0/1
GPIO18
GPIO19
GPIO21
GPIO22
GPIO23
GPIO25 ADC2_CH8 RTC_GPIO6
GPIO26 ADC2_CH9 RTC_GPIO7
GPIO27 ADC2_CH7 RTC_GPIO17
GPIO32 ADC1_CH4 RTC_GPIO9
GPIO33 ADC1_CH5 RTC_GPIO8
GPIO34 ADC1_CH6 RTC_GPIO4 GPI
GPIO35 ADC1_CH7 RTC_GPIO5 GPI
GPIO36 ADC1_CH0 RTC_GPIO0 GPI
GPIO37 ADC1_CH1 RTC_GPIO1 GPI
GPIO38 ADC1_CH2 RTC_GPIO2 GPI
GPIO39 ADC1_CH3 RTC_GPIO3 GPI

Tienes para probar algunos no?

EDITO: ahora comparo tu pinout y esta tabla que saqué de Expressif y veo que hay pines que no existen en el hardware, no estan cableados.

Porqué no nos dices y/o colocas un esquema de los pines que están en uso con tus sensores?

EDITO 2: me disculpo por la tabla la busqué por mi cuenta y luego caigo en el hecho que tu tmb la habías publicado.

Los pines que tengo en uso son el A0 y el I2C.

Tu código está incompleto y tiene errores. Entiendo que es un código de prueba pero se sobreentiende que se debe postear algo medianamente funcional.

Falta iniciar el puerto Serial.

Activa la resistencia pull-up del GPIO 13 y a la vez "despierta" al micro con un nivel alto.
Entonces lo despierta continuamente (a menos que la señal que lee esté forzada a LOW).

Ves el conflicto?

Corrigiendo el código "funciona" pero al ponerlo a "dormir" se reinicia.
No tengo experiencia con los modos sleep del ESP32 así que no sé si debería ser así o el reinicio lo genera el simulador (wokwi).

Podrías utilizar la GPIO Matrix para remapear a uno de esos pines uno de los pines con función RTC, o algo lo impide?

Yo he utilizado la GPIO Matrix pero nunca por cuestiones relacionadas con RTC.

Buena suerte!

Gaby.//