User Guide

Para más información mira el tutorial Building Line Following and Line Maze Courses y tienes
además una información adicional escrita por el profesor de robótica R. Vannoy, en el
documento [http://www.pololu.com/file/download/line-maze-algorithm.pdf?file_id=0J195] (505k pdf) con
resolver del laberinto de líneas está en: examples\3pi-mazesolver.
uino Libraries (ver Sección 5.g).
rior y esta partido en últiples
fichero
80);
0);
g!
ero está escrita para el 3pi, contiene el fichero de cabecera que permite
Pololu AVR. Dentro de turn(), se usan funciones de
y set_motors() para mejorar los giros a izquierda, giros a derecha y
void turn(char dir);
ndo la línea siguiente:
ficheros de cabecera como
importantes conceptos.
8.b Trabajar con múltiples ficheros C en AVR Studio
El código fuente C para
Nota: Hay una versión compatible para Arduino en Pololu Ard
Este programa es mucho más complicado que el ejemplo ante m
ficheros. Se usan varios ficheros para facilitar la creación de código. Por ejemplo el
turn.c contiene solo una función, usada para hacer giros en las intersecciones:
1. #include <pololu/3pi.h>
2. // Turns according to the parameter dir, which should be ‘L’, ‘R’, ‘S’
3. // (straight), or ‘B’ (back).
4. void turn(char dir)
5. {
6. switch(dir)
7. {
8. case ‘L’:
9. // Turn left.
set_motors(-80,10.
11. delay_ms(20
break; 12.
13. case ‘R’:
14. // Turn right.
15. set_motors(80,-80);
16. delay_ms(200);
17. break;
18. case ‘B’:
19. // Turn around.
20. set_motors(80,-80);
21. delay_ms(400);
22. break;
23. case ‘S’:
24. // Don’t do anythin
25. break;
26. }
27. }
hLa primera línea del fic
el acceso a las funcione
lay_ms()
s de la librería
librería como de
salidas de curvas en U. Los “giros” rectos también son manejados por esta función, aunque estos
no obligan a tomar decisiones. La velocidad del motor y los tiempos para los giros son los
parámetros necesarios que necesitamos para ajustar el 3pi; a medida que se trabaja en hacer las
soluciones más rápidas de los laberintos, estos serán algunos de los números necesarios para el
ajuste.
Para acceder a las funciones necesitas los ficheros “header file(extensión .h)”, como
turn.h. Este
fichero de cabecera solo contiene una línea:
1.
Esta línea declara la función turn() sin incluir una copia del código. Para acceder a la declaración
cada fichero C necesita llamar a turn() añadie
1. #include “turn.h”
Ten en cuenta los paréntesis usados. Esto significa que el compilador C usa este fichero de
cabecera en el directorio del proyecto, en lugar de ser un sistema de
3pi.h.