¿Pero no te funciona?,
¿Por qué?
¿No hace lo que quieres que haga?
¿Y el esquema?
Para invertir el giro del motor ¿utilizas un puente H?
¿Cual es la tension de referencia del ADC?
¿VSS-VCC?
Para empezar prueba a poner el delay() despues del read_adc(). Se trata de que le de tiempo al ADC de completar la integración. Este tiempo seguramente estará en el datasheet, mira a ver que a lo mejor te quedaste corto.
Deberias agregar comentarios en los programas, es buena costumbre.
A ver con qué patas activas el motor y qué drivers utilizas.
¿Has mirado la corriente de tu motor? a ver si no puedes conectarlo directamente a la pata de la cucaracha
Espero haberte ayudado, y busca en el foro, hay muuuuuucho escrito, para CCS más todavía.