10

不久前,我为圣诞节准备了一套 LEGO Mindstorms NXT,现在我想用 C++ 对其进行编程。

我环顾四周,在这里和其他地方,找不到一个“感觉正确”的跨平台、开源、OOP C++ 库,包括 lestat 和 nxtOSEK。

所以,我决定除非我能找到我喜欢的,否则编写自己的库对我来说将是一次很棒的学习经历。

我做了一些研究,并决定通过蓝牙与它通信是最简单的,而不是将我的程序编译为 NXT 机器代码。

我也希望以 OOP 风格完成,这意味着 NXT 砖、电机、传感器等将作为对象存在。

所以,我的问题是:在开始之前我需要知道什么?我在哪里可以获得好的参考资料(除了这里,并且特定于 NXT)?对于蓝牙通信之类的东西,还有哪些其他体面的“基本”库*?

*顺便说一句,如果有必要,我完全赞成使用 boost 和 STL。

或者,如果我不需要,我相信不要重新发明轮子,所以如果那里有一个像样的 C++ OOP 蓝牙通信 NXT 库,请告诉我!

4

4 回答 4

3

我以前看过这样做。

开始看这里: http ://bricxcc.sourceforge.net/

在此页面上,您可以下载它的源代码。我最终做的是将我的 C 源代码编译成 NXT 砖可以理解的字节码。

这让我可以向 C 添加一些自定义扩展,尽管我确实花了很多时间将 C 编译成一个足够紧凑的字节码形式,以适合 NXT 的内存:)

如果您想使用现有的 C 实现,请查看此图表:http ://www.teamhassenplug.org/NXT/NXTSoftware.html

有关 NBC(下一个字节代码)的列表,请从本页开始。我发现它非常有帮助。

http://bricxcc.sourceforge.net/nbc/

于 2009-12-18T04:16:15.130 回答
1

我用过这个,不知道你有没有检查过:

http://www.norgesgade14.dk/bluetoothlibrary.php

该库支持通过蓝牙连接读取各种传感器数据,并支持控制电机。

此外,该库可以轻松修改,我发现重新配置它非常容易。

于 2012-06-16T03:55:07.583 回答
1

去年我在一个使用 C++ 控制机械臂的项目中遇到了这个线程。我使用了 2 个 NXT 积木和 5 个电机。

你可以在这里找到原始的 NXT++ 0.6 库:http:
//nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
不幸的是,这个站点没有更新。

我通过 USB 或蓝牙分叉了一个新版本 NXT++ 0.7,并通过 USB 或蓝牙支持多个砖块: https
://github.com/dbworth/nxt-plus-plus 有关详细信息,请参阅自述文件。

另一位用户 Piotr 为 HiTechnic 传感器多路复用器和 Lego 颜色传感器添加了对 NXT++ 0.6-2 的支持:
http ://wmii.uwm.edu.pl/~artem/downloads.html

问候,
大卫。

于 2013-02-03T19:14:43.300 回答
0

让我们看看 NXT++ 的可能性演示,直方图过滤, https://www.youtube.com/watch?v=PDYtjWgvsxg 它基于支持多路复用器的最新版本,来自http://wmii.uwm.edu.pl /~artem和下载部分,

于 2013-12-09T18:44:58.527 回答