Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Arduino
Por
Antony García González
-
diciembre 17, 2016
4
5825
Compartir en Facebook
Compartir en Twitter
Hace unas semanas me compré un brazo robótico para escribir un poco acerca de
temas de robótica. Las circunstancias en días recientes me llevaron a involucrarme
en un proyecto en el cual tuve que programar una banda transportadora junto con
el brazo que compré.
La verdad con este tipo de proyectos a mi me gusta escribir varios posts para luego
unificar contenidos. Ya la semana pasada había publicado sobre qué es y cómo
funciona un servomotor. Supongo que esta vez lo que haré será publicar un post
sobre el proyecto y luego desarrollaré poco a poco los temas de los subsistemas
que lo forman.
La siguiente entrada pretende ser una guía práctica para replicar los resultados
obtenidos en el desarrollo del sistema mostrado en la imagen. Este proyecto fue
diseñado para presentarse a nivel universitario, aunque puede ser utilizado para
presentaciones en secundaria. Resulta muy instructivo para aquellos interesados
en entrar en el mundo de la robótica.
Son muy sencillos de utilizar. Sólo los conectas a 5 voltios y tendrás tu láser. Este
haz de luz dirigido lo hacemos incidir sobre una fotorresistencia (LDR) conectada
de la siguiente forma.
El circuito mostrado en
la imagen representa un divisor de voltaje con un funcionamiento similar a
un potenciómetro. Sin embargo, en vez de variar el voltaje moviendo una perilla,
será la luz incidente sobre la fotorresistencia la que provocará que el voltaje se
eleve o decrezca. En el caso del divisor mostrado en la imagen, cuando aumente el
nivel de luz el voltaje caerá. Si la fotorresistencia se encuentra en oscuridad, el
voltaje crecerá.
Brazo robótico
El brazo robótico lo compré a un tipo en ebay. Tiene una tienda donde vende un
montón de modelos de brazos. El modelo que compré trae 6 servomotores y un
montón de piezas que supuestamente son de aluminio, aunque más parece hierro
colado. No se ven muy sólidas.
Para conectar los servomotores, todos los cables rojos irán a 5 voltios. Los
chocolates a tierra y los naranja irán a los pines D5, D6, D7 y D8 del Arduino. Es
una conexión sencilla, lo demás es programación.
Circuito controlador
El control del sistema propuesto se ha hecho en base a un Arduino Nano. Se ha
escogido este modelo principalmente por su tamaño reducido en comparación con
otros modelos. Además es necesario destacar la facilidad con la cual éste modelo
de Arduino puede ser integrado a una placa de circuitos.
El circuito utilizado para controlar todos y cada uno de los componentes que
forman este sistema es el siguiente.
Los dos diagramas del proyecto son públicos y se encuentran disponibles a través
de nuestro repositorio en EasyEDA.
Construcción de la placa
La placa fue construida utilizando headers hembra y macho, de forma tal que
todos los componentes puedan ser montados y desmontados en la placa. Se
utilizó soldadura de estaño para unir los componentes. Debo confesar que no soy
el mejor soldador con estaño, pero siempre trato de hacerlo lo mejor posible.
Circuito
de control de brazo robótico + banda transportadora basado en Arduino Nano
Parte
inferior del circuito de control
Esta placa fue atornillada a la base de madera sobre la cual se construyó la banda
transportadora. Luego los motores y demás componentes fueron conectados
utilizando cables tipo Dupont.
Mover cada uno de los 4 motores del brazo robótico desde el puerto
serie, al entrar al Setting Mode. Para esto enviamos a través del Monitor
Serie “start set mode”. En este modo de funcionamiento al escribir, por
ejemplo, “1 ENTER 45 ENTER” en el monitor serie, el motor 1 se
colocará a 45 grados. Si se envía “3 ENTER 90 ENTER“, el motor 3 se
colocará a 90 grados. Para salir del set mode se envía el comando “end
set mode”.
Fuera del Setting Mode el sistema funcionará obedeciendo el botón
colocado en la placa. Al presionar el botón, la banda transportadora
inicia su movimiento y se mantendrá así hasta que se detecte un objeto
o hasta que pase el iddleTime.
El brazo robótico se moverá cada vez que algo se interponga entre el
láser y la fotorresistencia. Los movimientos que ejecute el brazo serán
específicos para cada caso, para lo cual se ha implementado el Setting
Mode. Con las instrucciones que se colocan en el armAction() el brazo
hará lo que el usuario necesite que haga.
El sistema en funcionamiento
El siguiente video presenta el sistema explicado y funcionando. Tanto el código
como el hardware utilizado en el video es idéntico al mostrado en este post, por lo
que todo ha sido probado y comprobado antes de ser publicado.
Es posible, quizás, reducir la rigidez apreciada en los movimientos del brazo. Por
lo pronto lo importante es mostrar que el código y el hardware son capaces de
cumplir con las tareas programadas.
Espero que la información mostrada en este post sea de utilidad para todos los
que nos visitan. Cualquier observación o duda nos lo hacen llegar a través de la
caja de comentarios.