lidt problemer med min lego mindstorm NXT kode.
Jeg sidder og roder lidt rundt med NXT robot og jeg er gået lidt i stå. Når den køre hen mod en væg stopper den ved inden for det mål jeg har givet den. men så vil jeg gerne have den til at dreje 90 grader og køre videre indtil den igen når inden for de mål jeg har givet den. nogen der kan hjælpe?her er koden jeg bruger:
using System;
using System.Collections.Generic;
using System.Text;
using NXT;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
Basicbrick brick = NXTBrick.BasicBrick("com5");
brick.Beep(1400, 600);
string s_Sonar;
bool drej = false;
Console.Write("angiv antal Sonar: ");
s_Sonar = Console.ReadLine();
while (!Console.KeyAvailable)
{
while (!drej)
{
int i_Sonar = brick.ReadSonar();
Console.WriteLine("Afstand = {0}", i_Sonar);
i_Sonar = i_Sonar + int.Parse(s_Sonar);
brick.RunEngineA((sbyte)i_Sonar);
brick.RunEngineB((sbyte)i_Sonar);
if (Math.Abs(i_Sonar) == Math.Abs(int.Parse(s_Sonar)))
{
drej = true;
}
}
brick.TurnEngineA(360, 20);
brick.TurnEngineB(360, -20);
//if (i_Sonar = 50)
//{
// brick.RunEngineA((sbyte)i_Sonar);
// brick.RunEngineB((sbyte)i_Sonar);
//}
//else
//{
// brick.RunEngineA(-50);
// brick.RunEngineB(-50);
//}
//{
// brick.TurnEngineA(15,50);
// brick.TurnEngineB(15,50);
//}
//if (50 == brick.ReadSonar())
if (brick.ReadSwitch())
{
brick.Beep(1500, 200);
}
}
brick.TurnEngineA(0, 0);
brick.TurnEngineB(0, 0);
}
}
}