Este proyecto ha sido realizado por Juan José Hernández Muñoz y José Abelardo Blas Bolaños.
En esta segunda parte del trabajo os vamos a enseñar como se ha codificado el robot NXT y como por motivos de comodidad y funcionalidad lo hemos anclado a unas tablas para evitar su movimiento involuntario.
El código:
// LANZADOR – BATEADOR
/*Proyecto creado por Juan Jose Hernandez Munioz y Jose Abelardo Blas Bolanios
Fecha finalizacion: 27/02/2014
*/
#pragma config(Sensor, S4, Sonar, sensorSONAR)
/* Codigo generado automaticamente por ‘ROBOTC’ configuration wizard */
// Programa principal
task main()
{
//Funcionan siempre los motores del lanzador
motor[motorB]=-50;
motor[motorC]=-50;
while (true)
{
if (SensorValue(S4)<=40)
{
motor[motorA]=100; // El if es una condicion para detectar la distancia
wait1Msec(250); // y cuando sea menor o igual a 40 cm entra en el if y
PlaySound (soundLowBuzzShort); // mueve el motor A para batear la bola, emite un sonido y
motor[motorA]=-30; // despues devuelve el brazo a su posicion de espera.
wait1Msec(750);
motor[motorA]=0;
}
else
{
motor[motorA]=0; // Mientras el sensor no detecte nada se queda parado el motor A
}
}
}
Este código está en un lenguaje de programación parecido a «C» pero con las variables y palabras reservadas del robot de LEGO.
Ha sido más difícil de lo que parece debido a que hay que escribir exactamente la palabra que necesitamos para las variables y definir los tiempos exactos y la variable de Ultrasonido para que utilice la posición concreta de límite para que al pasar esa «barrera» funcione nuestro bateador.
Aquí adjunto unas fotografías del proyecto ya terminado.
Aquí tenemos un vídeo de su funcionamiento.