const int motor = 14;
int PinA = 32;

int RPMmotor = 0;
unsigned int Pulsos_contador = 0; 
unsigned long millisPulsos_passado = millis();

void contarMudancaPinA() {
  Pulsos_contador++;
}

void setup() {
  Serial.begin(115200);
  pinMode(motor, OUTPUT);
  pinMode(PinA, INPUT);
  attachInterrupt(digitalPinToInterrupt(PinA), contarMudancaPinA, CHANGE);
}

void loop() {  
  if ((millis() - millisPulsos_passado) >= 1000) {
      //double RPMmotor = Pulsos_contador * (60.0 / 90.0) * (1000.0 / (millis() - millisPulsos_passado));
      double RPMmotor = Pulsos_contador * (2.3/ 360.0) * (1000.0 / (millis() - millisPulsos_passado));

      Serial.print("RPM: ");
      //Serial.println(RPMmotor*7.11111111129);
      Serial.println(RPMmotor);
      Pulsos_contador = 0;
      millisPulsos_passado = millis();
  }

  if (Serial.available() > 0) {
    int valor = Serial.parseInt();

    if (valor >= 0 && valor <= 255) {
      analogWrite(motor, valor);
    }
  }    
}