Digitalizador de Libros.
Digitalizador de Libros.
1. Idea, Introducción y Fundamentos.
La idea surge de una necesidad particular, la idea de digitalizar las partes de los libros de apoyo que necesitamos en la universidad. Vamos a la biblioteca y nos damos cuenta de que está el libro que utiliza el profesor para poner los exámenes.
¿Y que hacemos?
Pues hacemos fotos, fotocopiamos la parte que necesitamos, lo copiamos en papel o en el ordenador….
¿No existe una máquina o dispositivo que lo haga solo?
¿Por qué no lo hacemos nosotros con un Arduino?
¡¡¡Manos a la obra!!!
El concepto es sencillo nos basaremos en el modo de pasar las páginas que tenemos nosotros. Utilizaremos en un principio dos motores, uno que levante la hoja y otro que pase la página, y una vez terminado este proceso hacemos una foto al libro, comic, ….
¿Sencillo? Pues va a ser que NO.
2. Tecnologías.
Arduino IDE y mucho WhatsApp.
3. Hardware, Estructura, Montaje y Código.
Como se trata de dos tareas muy diferenciadas, una el paso de las hojas y otra hacer las fotos usaremos 2 Arduinos Uno (en nuestro caso es un Arduino Uno oficial, y otro compatible).
![]() |
![]() |
Y ahora para la parte del paso de hojas, en nuestro caso nos prestan un Lego Mindstorm NXT completo con el que podremos trabajar, del cual utilizaremos los motores y las piezas para crear la estructura.
![]() |
![]() |
![]() |
¿Y esto como lo conectamos al Arduino?
Después de buscar mucho en internet, encontramos la siguiente web, donde hablaban de Hacking the Lego NXT. Aquí nos explicaban como realizar los cables para conectar los motores del Lego al Arduino. Y a partir de esta web encontramos otra (NXT Pinout Information)que nos explicaba que era cada cable. Además encontramos más información en Philohome.
Pues fácil, hagamos los cables.
Como vemos en la imagen, partimos de un cable con los dos extremos de RJ12, a finalmente tener cables que podemos conectar a nuestra protoboard. (Añadida chuleta con conexiones).
Ya estamos en disposición de poder montar la primera parte que corresponde al paso de las hojas. Primero hacemos unas pruebas
![]() |
![]() |
Aquí vemos la estructura básica de la que dispondremos y las primeras conexiones, donde no podemos ver nada, un lío de cables.
Para manejar el motor necesitamos de un H-Bridge L293DNE, que nos facilitará la vida como veremos a continuación en las conexiones.
Con esto ya pudimos comprobar que podíamos mover los motores del Lego con el Arduino.
Finalmente, las conexiones del paso de hojas quedarían de de la siguiente manera.
El cable RJ12 modificado podemos comprobar que es cada cable:
Blanco y Negro -> Motor Power A o B, dependiendo de la dirección a la que queramos girar el motor se pondrán a LOW-HIGH (Sentido Horario) o HIGH-LOW (Sentido Anti-Horario).
Rojo y Verde -> Ground y 5v, esto alimenta al sensor que nos proporciona que nos proporcionara la información de ángulo y velocidad en los encoders.
Amarillo y Azul -> Encoder Signal 1 y 2, estas señales nos devuelven los cambios de estado de 0 a 1 de los que extraeremos la información de la posición del motor.
En cuanto a las conexiones de en protoboard y Arduino la información es la siguiente:
Azul -> 5v.
Negro -> Ground. Tierra.
Rojo -> 9v. Es la tensión necesaria para mover los motores del Lego.
Amarillo -> Salidas del H-Bridge a nuestra conexión del motor donde activaremos Motor Power A o B en función de la dirección del motor.
Blanco -> Salida del Arduino en pines (2,3) y (6,7), donde decidimos con el Arduino la dirección del motor.
Naranja -> Encoder de los motores conectados como entradas a los pines (4,5) y (8,9), donde contaremos los cambios de estado de 0 a 1 para extraer la posición del motor.
Código:
![]() |
![]() |
![]() |
![]() |
![]() |
Código: Paso de Hojas
Finalmente esta primera parte quedará de la siguiente manera.
![]() |
![]() |
Bueno, vayamos con la cámara y sus conexiones con su Arduino correspondiente. Lo primero de todo es informarnos de las diferentes conexiones de las que dispone la cámara. Y además como nuestra intención es guardar las imágenes en una tarjeta microSD, por lo que necesitaremos una SD Shield, la cual conectaremos directamente al Arduino como se conecta cualquier Shield.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
|
![]() |
![]() |