使用Arduino控制lego NXT [蓝牙]

时间:2014-03-21 04:19:15

标签: bluetooth arduino nxt lego

我正在尝试使用Arduino UNO和bluetooth来控制NXT机器人,我使用了这段代码

 #include <SoftwareSerial.h>

byte moveTelegram [] = {0x0C,0x00,0x80,0x04,0x01,0x32,0x05,0x01,0x00,0x20,0x00,0x00,0x00,0x00};

SoftwareSerial blue(10, 11); 
int BluetoothData; 

void setup() 
{ 
    blue.begin(9600);
} 

void loop() 
{ 
     blue.write(moveTelegram,sizeof(moveTelegram));
     delay(100);

     BluetoothData=blue.read();

     delay(2000);
}

我的问题是,我必须将数据从NXT发送到Arduino,然后NXT开始移动(如果我将 blue.read()添加到我的代码中)。

如何让NXT直接执行命令?

谢谢,

1 个答案:

答案 0 :(得分:0)

  

直接执行命令?

我不知道你粘贴的电报是什么,但这必须是你自己定义的一种协议,所以在NXT方面没有办法直接执行,你必须手动解决NXT方面的BYTES,并且然后映射到相关的NXT控制命令。

NXT中现有的官方协议称为 Lego NXT通信协议,因为你使用的是Arduino,然后你就失去了直接调用它的便利,你已经阅读了一些官方文档来组装这些BYTES,但在NXT方面,如果你正在使用leJOS(或官方固件),这个协议是内置支持,试试google,有很多帖子。