我正在尝试使用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直接执行命令?
谢谢,
答案 0 :(得分:0)
直接执行命令?
我不知道你粘贴的电报是什么,但这必须是你自己定义的一种协议,所以在NXT方面没有办法直接执行,你必须手动解决NXT方面的BYTES,并且然后映射到相关的NXT控制命令。
NXT中现有的官方协议称为 Lego NXT通信协议,因为你使用的是Arduino,然后你就失去了直接调用它的便利,你已经阅读了一些官方文档来组装这些BYTES,但在NXT方面,如果你正在使用leJOS(或官方固件),这个协议是内置支持,试试google,有很多帖子。