Hola:
Escribi un codigo para ayudar a alguien en el forum en Ingles y quizas a algunos de ustedes les sirva para algo tambien.
Es un selector de voltages. El ejemplo presentado es para detectar la posicion de la palanca de velocidades de una motocicleta, pues es lo que esta construyendo el autor del post. Si se utilizan resistors de valor fijo y botones, se puede utilizar para construir un teclado de una linea conectandolo a una de las entradas analogicas, sin necesidad de utilizar varias lineas de entradas digitales. En el ejemplo mostrado se empleo un potenciometro conectado la fuente de 5V de Arduino y a tierra. El pin central del potenciometro va a la entrada A0. En el monitor serie se puede observar como cambian las velocidades al rotar el potenciometro.
Espero les sirva de ayuda en sus proyectos.
Gracias
Olvide colocar un break;
Como las condiciones son mutuamente excluyentes y el potenciometro no puede estar en 2 posiciones al mismo tiempo, ni tampoco cambiar significativamente, mientras el loop de Arduino se ejecuta, seria prudente, colocar un break; para aumentar la eficiencia del codigo y acelerar la velocidad de ejecucion. Esto es particularmente util, cuando el pot apunta a bajas velocidades seleccionadas. De esta forma, cuando se encuentra la posicion, se interrumpe la busqueda inmediatamente, que de continuar seria innecesaria.
Asi;
Gear=i;
break;