Por si a alguien le puede ayudar en sus inicios de programación, voy a poner los códigos fuentes de mis robots siguelineas programados en NXC.
Empezaremos por el más simple, en el que el robot tiene una deriva conocida hacia un lado y en cuanto superamos el margen de luz marcado sabemos que nos hemos salido de la línea y giramos en el sentido contrario parando un motor en modo float (sin bloquearlo).
#include "NXCDefs.h"
#define MARGEN 50
//programa para seguir una línea con un solo sensor de luz
//el robot genera caída hacia la derecha, y en cuanto se sale de la línea
//gira a la izquierda para recueperarla. Con esto sólo puede girar en un sentido.
int d;
task main()
{
ClearScreen();
SetSensorLight(IN_3);
OnFwd(OUT_B,40);
OnFwd(OUT_C,50);
while (true)
{
NumOut (1,1,1,Sensor(IN_3));
if (Sensor(IN_3) > MARGEN)
{
NumOut (1,1,1,Sensor(IN_3));
Float(OUT_C);
until(Sensor(IN_3) <= MARGEN) NumOut (1,20,1,Sensor(IN_3));
OnFwd(OUT_B,40);
OnFwd(OUT_C,50);
}
}
}
El video con el resultado:
1 comentario:
¡¡Genial!!
Es una excelente demostración de código NXC (para mí es una pesadilla usar este tipo de lenguaje, prefiero JAVA XD)
Gracias por compartir tus conocimientos.
Publicar un comentario