How to set RTCIO pin to INPUT and count each press when ESP32 in DEEP SLEEP MODE?

Andorlatch
Posts: 1
Joined: Tue Nov 23, 2021 3:57 pm

How to set RTCIO pin to INPUT and count each press when ESP32 in DEEP SLEEP MODE?

Postby Andorlatch » Tue Nov 23, 2021 4:23 pm

Hi guys,

I have an issue about RTCIO pin that i want it to be INPUT when my board is in DEEP SLEEP mode. My main problem is ; i want to follow press numbers for a button, collect them and after 30 minutes later, show it in serial monitor. How many times that button got pressed in 30 minutes.

Code: Select all

#include<SoftwareSerial.h>
#include<Wire.h>
#define RXD2 16
#define TXD2 17
RTC_DATA_ATTR int a = 0;
RTC_DATA_ATTR int b = 0;
String MySend = "";
String stringOne="";

void findDigitNum(int & n,int number){
  
   
  int count = 0;
  while(number != 0 ){
    number /= 10;
    count++;
    
    }
    n = count;
}
  
  

void settingsOn() {
  
  Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2);
  Serial.begin(9600);

  Serial2.println("AT+JOIN=1:0:10:8");
  

}

void setup() {
   

  
   
   esp_sleep_enable_ext0_wakeup(GPIO_NUM_32, 1);
   settingsOn();
   
   a++;
  if(a % 10 == 0){
   findDigitNum(b,a);
delay(10);
  Serial.println("AAAA:" + String(b));
     stringOne =  String(a);
     if(b % 2 == 1){
      
      MySend = "AT+SEND=1:0"+String(stringOne);
      }
      else
     MySend = "AT+SEND=1:"+String(stringOne);
    

     Serial2.println(MySend);
     Serial.println(MySend);
   }
    
   

 
   
   
   delay(3000);
   esp_deep_sleep_start();


}

void loop() {



}

Who is online

Users browsing this forum: Baidu [Spider] and 138 guests