Práctica 2: Control desde el PC |
|
Enunciado:
En esta práctica vamos a trabajar con el robot conectado al PC. Practicaremos con los sistemas cliente-servidor para dotar al robot de más inteligencia al tener el ordenador conectado a él. Empezaremos por hacer un programa para la GPBOT o SKYPIC que recibirá órdenes por el puerto serie. Luego usaremos un terminal serie convencional de Windows (hyperterminal) o Linux (minicom) para enviar esas órdenes desde el PC al robot. Finalmente, podremos usar nuestra imaginación para cambiar ese terminal por un programa propio escrito en C/C++, C#, JAVA, Python, o lo que el alumno considere.
Evaluación:
La práctica se evaluará oralmente el día de la entrega. Los criterios de puntuación son:
Robot controlado por teclas desde hyperterminal de windows + respuestas correctas en la evaluación : 5 puntos
Cambiar programa hyperterminal por otro en Windows/linux que permita que el robot haga secuencias grabadas en un fichero : 7 puntos
Añadir otras mejoras por parte del alumno: 7-10 puntos.
- Ejemplo 1: Poner en marcha los encoders.
- Ejemplo 2: reconocimiento de formas en el suelo.
- Ejemplo 3: recorrer con el robot una figura pintada en el PC
Entrega:
La práctica se entregará la Semana del 23 de Abril de 2007
Pasos para realizar la práctica básica (5 puntos):
1. Hacer un programa que espere a recibir las teclas o,p,q,a y SPC por el puerto serie. En función del valor leído el robot se moverá hacia adelante, atrás, izquierda, derecha o se parará.
Se pueden encontrar ejemplos de estos programas en:
Usar el Datasheet del micro seleccionado para ver como se configura el puerto serie a baudios=9600, bits de datos=8, sin paridad=n y 1 bit de stop.
2. Usar un programa de comunicaciones para mandar las teclas por el puerto serie.
En Linux se usará el miniterm. Para invocar el menú de opciones teclear "minicom -S"
En Windows podremos usar el Hyperterminal situado en Inicio->programas->accesorios->comunicaciones->hyperterminal
Práctica notable (7 puntos):
1. Hacer un programa en Windows o Linux que envíe por el puerto serie las teclas que antes se envíaban por el terminal serie
2. Establecer algún mecanismo de temporización, de manera que podamos mandar las teclas automáticamente con un intervalo de tiempo determinado
3. Leer de un fichero o de una tabla las órdenes a enviar al robot. Una orden estará formada por una tecla y un valor de pausa.
Con este mecanismo podemos hacer que el robot reproduzca secuencias pre-grabadas tipo: Avanza 3 seg, gira izquierda 2 seg, para 1 seg,...
Práctica avanzada (10 puntos):
Se deja a elección del alumno. Se trataría de mejorar la práctica anterior, ya sea modificando y ampliando la funcionalidad del programa del PC y/o haciendo lo mismo sobre el programa del microcontrolador. Por ejemplo, en lugar de usar temporización en el PC, usar los encoders.
[Página principal del laboratorio]
Última modificación: 10-abril-2007