Paso 4: Código de Arduino y pruebas
Adjunto es el código para un Arduino (en formato .ino y .txt). He probado esto con un Uno y funciona bastante bien. También he escrito una biblioteca que utiliza la manipulación directa del puerto para la velocidad.
El principio básico del código es esta:
- Gire el perno de carga-esto comenzará a cargar la clavija de entrada.
- Contar cuántos bucles vacíos Arduino hace hasta que la clavija de entrada es alta.
- Desactivar el pin de carga.
- Gire el perno de descarga.-esto descarga el circuito a través del resistor de 220Ω.
- Desconecte el conector de descarga.
He añadido alguna lógica para debounce el interruptor. Básicamente espera hasta que el interruptor ha sido apagado durante 100ms hasta que registre un interruptor. Esto parece funcionar bastante bien.
Puede que necesite ajustar el valor de la LOOP_LIMIT en este código. Un procesador más rápido o más eficiente código (mediante manipulación directa puerto quizás) probablemente tendrá un valor más alto.