int pulso = LOW;
int HALL = HIGH;
int RPM = 0;

unsigned long Tiempo_Ant = 0;
unsigned long Tiempo_Act = 0;



void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
}

void loop() {
  // put your main code here, to run repeatedly:
HALL = digitalRead(2);

if (HALL == LOW & pulso == LOW){
Tiempo_Act = millis();
RPM = (1/((Tiempo_Act - Tiempo_Ant)/60000));
pulso = HIGH;
}
else if ((HALL == HIGH) & (pulso = HIGH)){
Tiempo_Ant = Tiempo_Act;
pulso = LOW;

}
  else if (millis() - Tiempo_Ant >= 1000){
  RPM = 0;

  }
Serial.print(HALL);
Serial.print(" ");

  Serial.print(HALL);
  Serial.print(" PPM= ");
Serial.println(RPM);

}
Loading
esp32-s2-devkitm-1
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
gnd1:GND