Advertisement
csaki

NXT Visual Studioban

Sep 22nd, 2014
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.56 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.IO.Ports;
  6. using System.Text;
  7. using System.Threading;
  8.  
  9. namespace robotBluetooth
  10. {
  11.     class Program
  12.     {
  13.         static SerialPort se = new SerialPort("COM3");
  14.         static void Main(string[] args)
  15.         {
  16.             se.Open();
  17.             MoveForward(3000);
  18.             Stop();
  19.             //TurnRight(700);            
  20.             //Stop();
  21.             //MoveForward(2000);          
  22.             //Stop();
  23.             //TurnLeft(1000);            
  24.             //Stop();
  25.             //MoveForward(2400);
  26.             //Stop();
  27.             //se.Close();
  28.             Console.ReadLine();
  29.         }
  30.  
  31.         private static void MoveForward(int duration)
  32.         {
  33.             byte[] MessageLength = { 0x00, 0x00 };
  34.             byte[] NxtMessage = { 0x00, 0x04, 0x01, 0x64, 0x01, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
  35.             MessageLength[0] = (byte)NxtMessage.Length;
  36.             se.Write(MessageLength, 0, MessageLength.Length);
  37.             se.Write(NxtMessage, 0, NxtMessage.Length);
  38.             Byte[] MessageLengt = { 0x00, 0x00 };
  39.             byte[] NxtMessag = { 0x00, 0x04, 0x02, 0x64, 0x01, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
  40.             MessageLengt[0] = (byte)NxtMessag.Length;
  41.             se.Write(MessageLengt, 0, MessageLengt.Length);
  42.             se.Write(NxtMessag, 0, NxtMessag.Length);
  43.  
  44.             Thread.Sleep(duration);
  45.         }
  46.  
  47.         private static void Stop()
  48.         {
  49.             Byte[] uzenethossz = { 0x00, 0x00 };
  50.             byte[] uzenet = { 0x00, 0x04, 0x01, 0x00, 0x05, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00 };
  51.             uzenethossz[0] = (byte)uzenet.Length;
  52.             se.Write(uzenethossz, 0, uzenethossz.Length);
  53.             se.Write(uzenet, 0, uzenet.Length);
  54.             Byte[] uzenethoss = { 0x00, 0x00 };
  55.             byte[] uzene = { 0x00, 0x04, 0x02, 0x00, 0x05, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00 };
  56.             uzenethoss[0] = (byte)uzenet.Length;
  57.             se.Write(uzenethoss, 0, uzenethoss.Length);
  58.             se.Write(uzene, 0, uzene.Length);
  59.         }
  60.  
  61.         private static void MoveBackward(int duration)
  62.         {
  63.             Byte[] MessageLength = { 0x00, 0x00 };
  64.             byte[] NxtMessage = { 0x00, 0x04, 0x01, 0x9C, 0x01, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
  65.             MessageLength[0] = (byte)NxtMessage.Length;
  66.             se.Write(MessageLength, 0, MessageLength.Length);
  67.             se.Write(NxtMessage, 0, NxtMessage.Length);
  68.             Byte[] MessageLengt = { 0x00, 0x00 };
  69.             byte[] NxtMessag = { 0x00, 0x04, 0x02, 0x9C, 0x01, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
  70.             MessageLengt[0] = (byte)NxtMessag.Length;
  71.             se.Write(MessageLengt, 0, MessageLengt.Length);
  72.             se.Write(NxtMessag, 0, NxtMessag.Length);
  73.  
  74.             Thread.Sleep(duration);
  75.         }
  76.  
  77.         private static void TurnLeft(int duration)
  78.         {
  79.             Byte[] MessageLength = { 0x00, 0x00 };
  80.             byte[] NxtMessage = { 0x00, 0x04, 0x01, 0x4B, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
  81.             MessageLength[0] = (byte)NxtMessage.Length;
  82.             string szoveg = "";
  83.             for (int i = 0; i < NxtMessage.Length; i++)
  84.                 szoveg += NxtMessage[i].ToString("X2") + " ";
  85.             Console.WriteLine(szoveg);
  86.             se.Write(MessageLength, 0, MessageLength.Length);
  87.             se.Write(NxtMessage, 0, NxtMessage.Length);
  88.             string szoveg2 = "";
  89.             int length = se.ReadByte() + 256 * se.ReadByte();
  90.             for (int i = 0; i < length; i++)
  91.                 szoveg2 += se.ReadByte().ToString("X2") + " ";
  92.             //Console.WriteLine(szoveg2);
  93.             NxtMessage[2] = (byte)0x02;
  94.             NxtMessage[3] = (byte)0xB5;
  95.             MessageLength[0] = (byte)NxtMessage.Length;
  96.             se.Write(MessageLength, 0, MessageLength.Length);
  97.             se.Write(NxtMessage, 0, NxtMessage.Length);
  98.             szoveg2 = "";
  99.             length = se.ReadByte() + 256 * se.ReadByte();
  100.             for (int i = 0; i < length; i++)
  101.                 szoveg2 += se.ReadByte().ToString("X2") + " ";
  102.  
  103.             Thread.Sleep(duration);
  104.         }
  105.  
  106.         private static void TurnRight(int duration)
  107.         {
  108.             Byte[] MessageLength = { 0x00, 0x00 };
  109.             byte[] NxtMessage = { 0x00, 0x04, 0x01, 0xB5, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
  110.             MessageLength[0] = (byte)NxtMessage.Length;
  111.             string szoveg = "";
  112.             for (int i = 0; i < NxtMessage.Length; i++)
  113.                 szoveg += NxtMessage[i].ToString("X2") + " ";
  114.             Console.WriteLine(szoveg);
  115.             se.Write(MessageLength, 0, MessageLength.Length);
  116.             se.Write(NxtMessage, 0, NxtMessage.Length);
  117.             string szoveg2 = "";
  118.             int length = se.ReadByte() + 256 * se.ReadByte();
  119.             for (int i = 0; i < length; i++)
  120.                 szoveg2 += se.ReadByte().ToString("X2") + " ";
  121.             //Console.WriteLine(szoveg2);
  122.             NxtMessage[2] = (byte)0x02;
  123.             NxtMessage[3] = (byte)0x4B;
  124.             MessageLength[0] = (byte)NxtMessage.Length;
  125.             se.Write(MessageLength, 0, MessageLength.Length);
  126.             se.Write(NxtMessage, 0, NxtMessage.Length);
  127.             szoveg2 = "";
  128.             length = se.ReadByte() + 256 * se.ReadByte();
  129.             for (int i = 0; i < length; i++)
  130.                 szoveg2 += se.ReadByte().ToString("X2") + " ";
  131.  
  132.             Thread.Sleep(duration);
  133.         }
  134.     }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement