Paso 5: Requiere código RPM
Cálculo de RPM sería un concepto fácil pero plantean desafíos de implementación. Ya que se utilizaría un reflector en el generador el bosquejo RPM se ocuparía de las señales digitales de alta. En el prototipo, esto correspondería a las brechas entre las aspas del ventilador. Como gira el ventilador las cuchillas bloquean la fuente de IR desde el receptor IR. La salida digital se vaya alta alta baja como el bloque de cuchillas y claro la energía IR. El bosquejo es un código de estilo de interrogación que constantemente comprueba la salida digital del TCRT, determinar si ha cambiado y calcular debounce (me alojé alta o baja lo suficiente para ser considerado válido). Una vez que el número de huecos o reflectores había pasado entonces el tiempo transcurrido se utilizaría para calcular las RPM. El código es publicado en formato de texto y comentado. El Arduino para calcular RPM sería fácil en concepto, iniciar un temporizador, cuenta un número de hojas o revoluciones, temporizador entonces calcular RPM. ¿Suena tan fácil, verdad?
Se utilizó calibrar el código de un ventilador de velocidad fija. El ventilador fue alimentado a 12 VCC de una vieja fuente de alimentación de computadora por lo que sería estar cerca clasificado RPM. Una vez que se limpió el código Arduino fue lectura de RPM correcto. El prototipo utiliza un abanico diferente que respondieron mejor a los cambios de voltaje PWM para el control de RPM.
El ventilador tenía una velocidad máxima de aproximadamente 2000 RPM en 12 voltios. El proyecto necesario para gobernar a 3600 RPM. Puesto que el ventilador tiene hojas de 7 solo cambiar el software así que piensa están 4 hojas y tiene 3500 detectado pero no real RPM. Esto es similar a utilizar un multiplicador.
Algunos requieren lectura sobre cómo hacerlo se puede encontrar en varias fuentes que se utilizaron en este proyecto:
Frecuencia período contador http://www.avdweb.nl/arduino/hardware-interfacing/frequency-period-counter.html
Frecuencia medida biblioteca https://www.pjrc.com/teensy/td_libs_FreqMeasure.html
Arduino Debounce biblioteca http://playground.arduino.cc/Code/Debounce
Pulso de Arduino en función https://www.arduino.cc/en/Reference/PulseIn