Programación de legos mindstorm nxt.

Páginas: 6 (1357 palabras) Publicado: 24 de marzo de 2011
Programación de Legos Mindstorm NXT.

Descripción del Lenguaje a Utilizar.
Actualmente se pueden usar diversos tipos de lenguajes de programación orientada a objetos para la programación de los legos mindstorm.

Para el desarrollo de este trabajo se selecciono el lenguaje de programación C#, la cual es un herramienta de propósito general orientado a objetos.

Seutilizo la librería BramNxtSharp la cual contiene dos dll los que son Bram.NxtSharp y Bram.Utilities los cuales nos permiten comunicarnos con el nxt.

Configuración Inicial del Bluetooth.

Existen varios tipos de comunicación bluetooth: Pc a NXT, teléfono celular a NXT, Nxt a Nxt, PDA a Nxt. Para éste trabajo se implementando el tipo de comunicación Pc a NXT.

Paso 1:

Paso 2:Paso 3:

Paso 4:

Paso 5:

Paso 6:

Paso 7:
La contraseña usada para este ejemplo es nxt1

Paso 8:
En este paso se escribe en el nxt la contraseña rápidamente para que sea encontrada y establezca la conexión.

Paso 9:

Paso 10:

Paso 11:

PROGRAMACIÓN DE MOTORES

En el siguiente programa se muestra como se crean los motores, cuales sonlos parámetros que debe contener la aplicación para una comunicación efectiva, como también los métodos para realizar movimientos en línea recta y giros. El tiempo de espera por parte del sistema es fundamental para realizar efectivamente cualquier movimiento.

using System;
using System.Collections.Generic;
using System.Text;
using Bram.NxtSharp;
using Bram.Utilities;

namespace Motores{
class Motores
{

NxtBrick ladrillo = new NxtBrick();
NxtMotor MotorA = new NxtMotor();
NxtMotor MotorB = new NxtMotor();

public void Iniciar()
{

ladrillo.COMPortName = "COM3";

MotorA.Brick = ladrillo;
MotorA.Port = NxtMotorPort.PortA;
ladrillo.MotorA = MotorA;MotorB.Brick = ladrillo;
MotorB.Port = NxtMotorPort.PortB;
ladrillo.MotorB = MotorB;

ladrillo.AutoPoll = true;
ladrillo.Connect();
ladrillo.StartPolling();

avanzar(80, 3600);
System.Threading.Thread.Sleep(2000);
Giro(40, 700);
System.Threading.Thread.Sleep(2000);avanzar(80, 3600);
}

private void avanzar(int velocidad, int grados)
{
MotorA.Turn(velocidad, grados);
MotorB.Turn(velocidad, grados);
}

private void Giro(int velocidad, int grados)
{
MotorA.Turn(velocidad, grados);
MotorB.Turn(velocidad*-1, grados);
}

}
}PROGRAMACIÓN DE SENSORES
En la programación de sensores, el tiempo de espera por parte del sistema es fundamental para el óptimo desempeño de los sensores, de lo contrario puede afectar el resultado notablemente.

Es importante tomar en cuenta el nivel de baterías, puesto que esto también puede afectar su desempeño.

PROGRAMACIÓN DE SENSOR DE TACTO

Programa Ejemplo:En la siguiente aplicación se muestra la creación y el uso de los sensores de tacto.
Al ejecutar el programa los motores inician el recorrido de avance, al ser el sensor de tacto, este debe realizar un movimiento de retroceso y giro para nuevamente avanzar. Esto varia de acuerdo a la posición en que se encuentren los sensores, el frontal retrocede y gira, el de la parte trasera avanza ygira para nuevamente iniciar el recorrido.

using System;
using System.Collections.Generic;
using System.Text;
using Bram.NxtSharp;
using Bram.Utilities;

namespace S_Tacto
{
class S_Tacto
{
/* Se crean objetos de la clase NxtBrick*/

NxtBrick brick = new NxtBrick();
NxtMotor MotorA = new NxtMotor();
NxtMotor MotorB = new NxtMotor();...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Opciones de programacion para lego mindstorm
  • LEGO NXT
  • BrazoManipulador
  • Lego Mindstorms Nxt Projects
  • Labview aplicado a lego mindstorm
  • laboratorio lego mindstorm
  • Lego Mindstorm
  • Leg de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS