Control de un motor paso a paso con Attiny85 y L293D

Hace unos días que estoy trabajando en un proyecto donde la idea es controlar un motor paso a paso, con dos objetivos en mente que sea el circuito resultante sea lo más chico posible y las partes sean económicas, no quiero utilizar motores paso a paso muy costosos; me voy a enfocar en los componentes que tengo en casa.

El objetivo es lograr controlar un motor paso a paso, utilizare un 28BYJ-48 y como driver utilizare un IC que es bastante conocido llamada L293D; pero sin emplearlo en algún shield, la idea es solo usar el IC.

Comencemos por el motor; tiene cinco cables/contactos, de los cuales solo utilizaremos cuatro; hay un quinto que no es necesario para nuestro esquema, es el cable de color rojo; se encuentra en uno de los extremos del conector (al menos en mi modelo)

Originalmente L293D tiene 16 pines , podemos emplearlo con 5V, lo cual es idea para alimentar nuestro motor y el Attiny85; si buscamos el datasheet vamos a encontrar el siguiente esquema



Lo conecte siguiendo el siguiente esquema:

Teniendo el L293D deberíamos conectar el pin 1,8,9 y 16 a VCC (5V), los pines 1 y 9 indican que están activas las bobinas, para mi caso va a ser siempre por lo que esta en 5V.

Los pines 4,5,12 y 13 van conectados a GND.

Una de las bobinas del motor (cables amarillo y naranja) van conectados a los pines 11 (OUTPUT 3) y 14 (OUTPUT 4); la otra bobina (cables celeste y azul) van conectados a los pines 6 (OUTPUT 2) y pin 2 (OUTPUT 1).

Respecto al Attiny85, tenemos el siguiente esquema:

Conectamos el pin 4 a GND y el pin 8 a VCC (5V).

El pin 5 (seria el 0 en el código) va conectado al pin 10 (INPUT3) del L293D. El pin 6 (1 en el código) va conectado al pin 15(INPUT4).

El pin 2 va conectado al pin 7 y por ultimo el pin 4 va conectado al pin 2.

La idea es que la bobina A quede conectada a OUTPUT 1 y 2; y la bobina B quede conectada a OUTPUT 3 y 4.

Se puede encontrar el código del ejemplo aquí:
https://gist.github.com/gsampallo/81331043fb443fb627c2697ab53dd342