Bienvenidos en esta clase vamos a continuar con la codificación que habíamos revisado anteriormente.
Entonces vamos a ingresar ya la tabla.
Podemos ver aquí la tabla y podemos ver aquí cada uno de sus estados.
Entonces, dependiendo de las combinaciones, vamos a ver en donde incrementa y en donde incrementa
el contador N que habíamos ingresado en Arduino.
Entonces vamos a comenzar con el estado anterior.
Como ven, cuando vale cero y cuando el estado actual vale cero, uno ahí realiza un incremento.
Entonces vamos a ver sus valores decimales.
Aquí tendríamos cero y aquí tendríamos uno.
Entonces vamos a ver esa comparación aquí if.
En este caso, si el estado anterior era igual, igual a cero y también el estado actual era igual,
igual a uno.
Listo.
Entonces de ahí lo que vamos a hacer es simplemente realizar el incremento de la variable N, pues vamos
a poner en esta misma línea y lo podemos hacer de esta manera.
Listo.
Entonces ahí ya tenemos nuestra primera combinación.
Sin embargo, aquí debemos hacer un cambio debido a que estamos utilizando los pines 2 y 3 y se encuentran
desplazado.
Si utilizáramos los pines 0 y 1.
Tranquilamente podríamos utilizar esta combinación de esta tabla que tenemos acá en valor decimal.
Sin embargo, vamos a ver que debido a ese desplazamiento debemos realizar unos cambios.
Entonces aquí tenemos que el estado anterior vale cero cero y el estado actual es cero uno.
Entonces vamos a ver en base a lo que revisamos anteriormente.
Vamos a ver acá.
Entonces, como ven aquí tendríamos estos valores, entonces aquí tendríamos el valor de cero cero.
Quién decimal equivaldría al valor de cero?
Que aquí no hay ningún problema.
Como podemos observar, luego vamos a ver en el estado actual, el estado actual valía cero uno, entonces
aquí iría cero uno.
Pero si nosotros transformamos todo este valor a decimal, vamos a obtener un valor de cuatro.
Entonces ya no es uno, sino es cuatro.
Entonces eso va a depender bastante de que pines estemos utilizando.
Debemos hacer esa corrección.
Listo.
Entonces, una vez que hemos verificado esto, vamos a ver que otro o otra combinación tiene un incremento.
Entonces vamos a ver acá en la tabla, vamos con la siguiente.
Tenemos el estado anterior cero uno, que en este caso ya revisamos que era cuatro.
Entonces, si el estado anterior es de igual a igual a cuatro y vamos a revisar el estado actual, el
estado actual, en este caso podemos ver que va a ser e 1 1.
Podemos ver que aquí va a incrementar.
Entonces aquí si el estado actual vale 1 1 que en este caso transformando eso a valor decimal va a ser
12.
Entonces el estado actual es igual a igual a 12.
Aquí también vamos a realizar un incremento.
Listo.
Ahora continuamos con la otra combinación.
La siguiente, que sería el estado anterior.
Podemos ver acá el instante anterior uno cero, que este caso sería ocho.
Vamos a tener aquí IF Si el entado anterior es igual a igual a ocho y vamos a ver el estado actual.
En este caso, cuál es la combinación?
Vamos a ver, el estado actual sería igual a cero.
Cero.
Vamos a ponerlo acá.
Esto no hay que hacer ninguna conversión y aquí vamos a incrementar.
Y por último, tenemos la siguiente combinación el instante anterior va a ser igual, igual y vamos
a revisar el instante anterior.
Tenemos acá otro incremento.
Entonces si vale uno, uno.
Entonces en este caso sería 12.
Y el estado actual es igual, igual vamos a ver, es igual, igual.
En este caso a uno cero, que equivale a ocho en decimal.
Entonces, listo, ya tenemos nuestras cuatro combinaciones en las cuales la variable N va a incrementar.
Ahora nos faltan las cuatro combinaciones de los cuales va a decremento.
Pues para eso vamos a copiar simplemente y vamos a realizar los cambios de aquí.
Entonces vamos a ver, aquí tenemos el primer int e decremento.
Entonces podemos ver que aquí el estado anterior vale cero y el estado actual vale uno cero que equivale
a ocho.
Entonces vamos a poner aquí cero y aquí sería ocho y vamos a de incrementar.
Vamos con la siguiente combinación tenemos cero uno y acá tenemos cero cero, pues tendríamos aquí el
valor de cuatro y aquí el valor de cero y vamos a decremento.
La otra combinación que tenemos acá es la parte de acá.
Tendríamos el valor de ocho.
Tenemos ocho y el estado actual en este caso E es uno uno.
Entonces este equivale a 12.
Entonces vamos a 12 y vamos a decremento.
Y por último, tenemos del Estado 1 e 1 1, que se que equivale a 12 y a cada.
Tenemos el valor de cuatro en el estado actual.
Listo.
Entonces aquí ya hemos logrado realizar e la tabla.
Ya tenemos la tabla.
Como ven, es muy sencillo, solamente hay que considerar qué pines estamos conectando y en qué puerto
y realizar los cambios.
Cambios correspondientes.
Listo.
Entonces, una vez que hemos hecho esto, ya tenemos listo nuestra función encoder lista para funcionar
y vamos a ver acá.
Algo adicional es que debemos crear todas las variables que se utiliza dentro de un de una función de
interrupción.
Lo que recomiendan es utilizar de que sean de tipo volatil.
Entonces lo que vamos a hacer aquí es ubicar aquí el nombre volatil.
Todas estas variables van a ser de este tipo.
Entonces vamos a ver como vicar acá.
Entonces volatil listo y vamos a copiar esto acá.
Volatil Volantis.
Listo.
Y acá también vamos a compilar para ver si tenemos todo correcto.
Aquí tenemos un pequeño problema.
Nos falta el punto y coma.
Recuerden ubicar en cada línea de código el punto y coma y acá también nos falta el puntico.
Listo.
Vamos a correr nuevamente y vamos a observar.
Listo.
Ahí tenemos todo bien.
Vamos a cargar esto ya en el Arduino.
Entonces ahí está configurado a arruinó Nano el tipo de procesador y también el como el que se encuentra
conectado.
Vamos a cargar esto en Arduino y vamos a realizar el siguiente diagrama de conexiones para probar nuestro
programa.
Entonces vamos a armar el siguiente circuito.
Es un circuito simple.
Acá tenemos ya nuestro motor, el cual tiene conectado su encoder y en este caso este encoder funciona
con 3.3 voltios.
Entonces vamos a utilizar la alimentación que sale aquí de Arduino.
Aquí tenemos 3.3 voltios y también genere y vamos a conectar los canales A que sería C y los y el canal
B C-2 a sus respectivos pines al pin 3.
Recuerden que el canal A debe estar en un dígito más significativo y el canal E V en el dígito menos
significativo.
Entonces una vez que armamos, yo ya lo tengo aquí armado, lo voy a mostrar.
Ahí está, ya está listo, esta armado como bien ahí tenemos ya listo.
Entonces vamos a hacer la prueba para ver el resultado.
Entonces vamos a abrir el monitor serial, vamos a ver acá y vamos a ver en la parte de acá, listo.
Y vamos a ver también el motor.
No tenemos aquí listo.
Entonces ahí podemos ver que el número de conteos tenemos cero y vamos a girar nuestro eje del motor
para ver el resultado que obtenemos.
Entonces vamos a ver, acá tenemos nuestro motor, vamos a girar en sentido como ven antihorario y el
conteo.
Como ven empieza a incrementar.
Si yo le doy al otro lado, como podemos observar que ahí empieza a decretar como pueden observar.
Entonces así nosotros podemos determinar el sentido de giro de nuestro eje del motor.
En la siguiente clase vamos a revisar la resolución de este Incoder y luego voy a poder calcular la
velocidad, posición, entre otras cosas.
Entonces nos vemos en la siguiente clase.