User Guide
Pololu 3pi robot sobre una línea negra de ¾”
Una línea de seguimiento puede construirse
en poco tiempo y por poco dinero, consulta
rio examples\3pi-
ste programa puedes bajarla
s
t programa consta de dos
lize(). Esta función es llamada una vez, al principio de la función main(), antes de que
nsor variar entre valores desde 0 (completamente blanco) a
el tutorial de Construcción de Líneas de
seguimiento y Laberintos de línea.
7.b Algoritmo para 3pi de
seguimiento de línea
El programa de seguimiento de línea se
encuentra en el directo
linefollower
.
Nota: Una versión compatible para
Arduino de e
como parte de las librerías Pololu Arduino
(ver Sección 5.g).
itivos de la 3pi, como sensores de línea,
ería y buzzer. EL
El código fuente demuestra la variedad de dispo
motores, pantalla LCD, monitor de carga de la ba
fases.
La primera fase consiste en la inicialización y calibración y está programada como la función
intitia
suceda algo y siguiendo estos pasos:
1. Llamada a pololu_3pi_init(2000) para ajustar el 3pi, con el timeout del sensor a 2000×0.4 us
= 800 us. Este ajuste permite al se
2000 (completamente negro), en donde el valor de 2000 indica que el condensador tarda
aproximadamente 800 us en descargarse.
2. Muestra el voltaje de la batería que nos da la función read_battery_millivolts(). Es
importante monitorizar la carga de la batería para que el robot no de sorpresas en su carrera y
las pilas estén bien cargadas durante la competición. Para más información ver sección 3.
3. Calibrado de los sensores. Esto se logra mediante la activación del 3pi a derecha y a
izquierda de la línea al tiempo que llamamos a la función calibrate_line_sensors (). El
mínimo y el máximo de valores leídos durante este tiempo se almacenan en la RAM. Esto
permite a la función read_line_sensors_calibrated() que devuelva valores ajustados en el
rango de 0 a 1000 para cada sensor, aunque alguno de los sensores responda de diferente
manera que los otros. La función read_line() usada después en el código depende de los
valores calibrados. Para más información ver sección 11
4. Presentación del valor de calibrado de los sensores en barras gráficas. Sirve para mostrar el
uso de la función lcd_load_custom_character() siempre con print_character() para hacer
más fácil la visualización del funcionamiento correcto de los sensores de línea antes de que
corra el robot. Para más información sobre los comandos de la LCD, ver Sección 5.
5. Espera a que el usuario pulse el botón. Es muy importante que tu robot empiece a rodar
cuando tú quieras, o podría salir inesperadamente del cuadro o fuera de sus manos cuando
estás tratando iniciar el programa. Usaremos la función button_is_pressed() para esperar la
pulsación del botón B cuando haya mostrado el estado de la vertía y de los sensores. Para
más información ver sección 8.
En la segunda fase del programa, tu 3pi realizará la lectura del sensor y ajustará la velocidad de
los motores a ella. La idea general es que si el robot está fuera de línea, pueda volver, pero si
está en la línea, debe tratar de seguirla. Los siguientes pasos ocurren dentro del bucle while(1),
que se repetirán una y otra vez hasta que lo pares o pulses el botón reset.










