Con el teclado ingresas tu setpoint o sea a que RPM quieres que el control del motor mantenga.
Debes leer las RPM con algún método.
Alternativas hay muchas, te sugiero dos:
- Rueda dentada y usas un sensor de efecto hall para contar dientes y obtienes RPM.
- Encoder. Rueda con ranuras y optoacoplador. Hay muchas variantes de esta opción
Esto indica que estas usando un MEGA como mínimo y en su INT2 tienes un sensor de RPM.
void rpm_fun() {
detachInterrupt(2);
rpmcount++; //update rpmcount
attachInterrupt(2, rpm_fun, FALLING);
}
Es asi?