Paso 2: El circuito
El circuito es tan sencillo. Se necesita:
- Un ATMEGA328P basado en Arduino, como Uno, Pro Mini o Nano.
- Un codificador rotatorio de cuadratura mecánica (a diferencia de óptica) - este es el tipo más común así que no te preocupes demasiado si no se especifica. anuncios de Aliexpress y eBay a menudo mención Arduino en la descripción y es un buen indicador de que uno es adecuado.
- Cables de conexión conduce.
- Opcional: una placa de prototipos.
En primer lugar, buscar una colección de tres pernos en un lado del codificador. Estos son los tres para la medición de rotación con nuestro código. Si hay dos pines juntos por otra parte, estos suelen ser para el botón de centro. Te estas por ahora ignoramos.
Fuera de los tres pernos juntos, el conector de tierra de codificador se conecta al conector de tierra de Arduino. Cualquiera de los otros dos pines está conectado al pin digital 2 y el restante en está conectado al pin digital 3. Si su dirección de rotación no es la forma que desea, solo cambiar los dos pernos de tierra no sobre.
Los pines 2 y 3 son importantes porque en los Arduinos ATMEGA328P-basados son los pasadores sólo que tienen la capacidad para detectar el aumento y cambio de perno de caída interrupciones. Los tableros de MEGA 2560 etc. tienen otros pines de interrupción de hardware que pueden hacer esto.
Nota: En el diagrama el conector de tierra es uno de los pasadores del extremo. En realidad, el conector de tierra es a menudo la patilla central pero esto no siempre es el caso entonces lea la hoja de datos o prueba de su codificador para saber que pin es de tierra.
Otra nota: ArneTR hizo un buen comentario acerca de no tener una conexión por cable por separado para el voltaje positivo de la lógica (por ejemplo 5V o 3.3V) para el circuito del codificador rotatorio se muestra. El Arduino no puede leer el codificador rotatorio sin una señal de tierra (que hemos conectado un cable a) y la tensión lógica (a veces anotado como Vcc o Vdd), entonces, ¿cómo puede el Arduino lee la lógica de este codificador sin un cable de voltaje positivo? La respuesta es que el chip ATMEGA328P en el Arduino tiene un modo especial se puede establecer en los pines digitales (que estamos utilizando) donde un perno es automáticamente tirado "alto" a la tensión lógica por una resistencia interna. Buscar en el código de "pinMode (pinX, INPUT_PULLUP)" a vernos contando el Arduino que queremos aprovechar de este modo. Una vez ajustado, sólo tenemos que proporcionar el codificador con un cable de tierra como los cables de sensado de los pines digitales ya están proporcionando la tensión lógica.