Robot OrganizArduino Grupo 7 SEyTR_GII_Madrid_2016-17

SISTEMAS EMPOTRADOS Y DE TIEMPO REAL

ORGANIZARDUINO

MIEMBROS DEL GRUPO
Sara Navas Sáez GII+ADE
Lorena Soria García GII+ADE
Eduardo Torres Pardo GII
ÍNDICE

1. INTRODUCCIÓN
2. PRESUPUESTO Y COMPONENTES

3. ESQUEMA DEL CIRCUITO
4. FUNCIONAMIENTO
5. PROBLEMAS
6. MEJORAS
7. CONCLUSIONES
8. FICHEROS ADJUNTOS

1. INTRODUCCIÓN 
Nuestro proyecto para la asignatura de Sistemas empotrados
consiste en un robot catalogador de productos en función del color que tenga. Básicamente,
podríamos decir que hemos tenido tres intervalos de trabajo, uno primero de
montaje tanto del brazo como de la ubicación de los componentes y dos de
codificación, por un lado el control del brazo robótico y por el otro el
tratamiento y reconocimiento de colores. Más adelante comentaremos en detalle
el funcionamiento de nuestro proyecto: OrganizArduino.

2. PRESUPUESTO Y COMPONENTES
Material Brazos   

12,90€

Placa
Arduino UNO      

Proporcionada
por el profe

Servomotores
(5 Unidades)

14,70€

Sensor
color

4,45€

Material
Conectrol

8,40€
Pantalla
LCD      

 Proporcionada
por el profe

Maderas y
travesaños
Reciclado
TOTAL
40,45€

3. ESQUEMA DEL CIRCUITO

Aquí se observa la estructura de la protoboard con todos los
componentes empleados para el proyecto. En la partes de arriba está la pantalla
LCD con sus cables y conexiones necesarias sobre la placa Arduino y sobre la
protoboard. Abajo se encuentran los 4 servo-motores usados con su cableado
necesario y en la derecha, está situado el sensor de color.


4. FUNCIONAMIENTO

Nuestro robot OrganizArduino funciona de la siguiente
manera:
En primer lugar, siempre que conectamos nuestro robot por
primera vez, se inicializa  y dirige a
una posición memorizada mientras cierra las tenazas y muestra por su pantalla
lcd el mensaje de Bienvenidos.
 A continuación se
dirige hasta la rampa donde tiene las fichas de distintos colores almacenadas,
coge una y con mucho cuidado la transporta hasta una posición almacenada donde
la sitúa a una distancia determinada para que el reconocimiento de color sea de
la manera más óptima posible.
Una vez el sensor ha obtenido los valores del color, se
muestra el color del que se trata por la pantalla lcd, y en función del color
de la figura que le mandemos, el brazo nos llevará hasta una de las tres
posiciones almacenadas como los colores Amarillo, Rojo o Verde y lo depositará
en el almacén correspondiente.
Si la figura no corresponde a ningún color de los deseados,
la depositará en un cuarto almacén de los colores no válidos. En un principio
realizamos una programación con un funcionamiento distinto, cuando la figura
tenía un color no deseado la tiraba inmediatamente, pero nos parecía una
solución poco elegante y visual, por lo tanto decidimos crear unas coordenadas
donde almacenar las figuras con colores no elegidos.
5. PROBLEMAS

5.1. Imposibilidad de ver colores adecuadamente: Cambiar led’s
placa

Solución temporal:
Tras numerosas pruebas, documentación y búsqueda de
información sobre nuestro sensor y muchos dolores de cabeza, llegamos a la
conclusión de que los 4 leds de iluminación que acompañan a nuestra placa
estaban fundidos por motivos ajenos a nosotros. La solución proporcionada por
la tienda online donde se compró no nos parecía adecuada, así que procedimos a
la reparación de nuestro sensor.
Sacar cada uno de los cuatro leds integrados no fue tarea
fácil, durante la operación sólo conseguimos que dos pistas negativas y una
positiva de la placa siguieran en funcionamiento, por lo tanto nos tocó
empalmar y ajustar las resistencias para poder hacer funcionar nuestros diodos
ultrabrillantes.
Solución final:
Como esta solución nos pareció poco elegante, procedimos a
la sustitución del sensor por una nueva unidad.
5.2. Reconocimiento adecuado de color: Calibrado
Solución:
La sensibilidad lumínica de esta familia de
sensores es un problema conocido en la comunidad de arduino y sus foros, el
cambio de luminosidad en el ambiente y la orientación puede afectar de una
manera notoria a los valores obtenidos. Como el sensor obtenía valores erróneos
por un exceso de luz, decidimos reducir la entrada de luz para obtener un error
menor en la detección de color.
La solución pasa por rodear la cabeza del sensor para
reducir su sensibilidad y realizar un calibrado de colores en el ambiente o
lugar que vayamos a realizar la prueba para ajustarlo así a las condiciones del
lugar en el que vaya a trabajar nuestro robot.
5.3. Comportamiento errático del brazo: Alcanzando puntos que
no llegaba el brazo
Solución:
Durante la programación de los puntos establecidos
del brazo, una errata hacía que uno de los brazos intentase llegar a un punto
fuera de su límite. Como no había ningún sonido o comportamiento extraño en su
funcionamiento no fue hasta una revisión profunda del código cuando encontramos
el origen del problema.
5.4. Reseteos esporádicos durante funcionamiento
Solución:
Llegamos a la conclusión de que nuestro cable de
impresora no funcionaba adecuadamente, y así era, tras reemplazar éste por uno
nuevo se solventaron los microcortes sufridos que nos hacían dudar sobre
nuestra programación o cableado.

5.5. Imposibilidad de ver la pantalla lcd
Solución:
En un primer momento pasó por ajustar el
potenciómetro hasta el punto deseado, con esto conseguimos que nada más iniciar
mostrara el mensaje de Bienvenidos, pero en cuanto los servos entraban en
movimiento la pantalla dejaba de visualizarse. Se trataba de un problema de alimentación,
así que usando el puerto Jack y alimentación externa a 7V este problema quedó
subsanado.
6. POSIBLES MEJORAS

6.1. Reconocimiento mejorado
Mediante la sustitución del sensor modelo TCS230 por el modelo TCS3200 mejoraríamos la sensibilidad y calidad de recepción de colores.

6.2. Aumento del número de colores a reconocer
Al tratarse de un prototipo hemos decidido reconocer tres colores, pero se podrian reconocer todos los colores que quisiéramos .

7. CONCLUSIONES
Este proyecto nos ha permitido poder investigar mucho sobre
la programación de microcrontroladores, robótica y la programación open Source.
Sin duda, esta ha sido la oportunidad perfecta para tener un primer contacto a
lo largo de la carrera con el hardware y el software, algo que hemos agradecido
ya que somos muchos los que nos gusta ver y tocar aquello que programamos. Todo
esto sumado a la posibilidad de hacer el proyecto que queramos ha incrementado
la constante motivación del grupo por conseguir un resultado lo más cercano a
la perfección, siendo muchos días y largas noches dedicados a este proyecto
hasta obtener nuestro resultado deseado.
Pese a que existen dispositivos más potentes y actuales en
el mercado como puede ser Raspberry, creemos que tanto por su comunidad que
tiene detrás, facilidad de uso, y su fácil programación es una plataforma ideal
para adentrarse en este tipo de programación. Las múltiples opciones que
tenemos de personalización y creación brindan la oportunidad de dar rienda
suelta a nuestra imaginación y realizar proyectos altamente satisfactorios y
creativos.
8. FICHEROS ADJUNTOS

Adjuntamos los siguientes links de nuestros archivos:

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *