问题标签 [lego]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
782 浏览

android - 通过 Android 应用从乐高超声波/颜色传感器读取数据

我正在开发用于控制 Lego Mindstorm 的 Android 应用程序。我已经完成了基本操作(我可以连接、发送、接收消息),所以我可以控制电机。但我对传感器有疑问。我连接了超声波和颜色传感器。为了控制超声波传感器,我发送了一条带有 Lowspeed9V 和 Rawmode 参数的消息 SETINPUTMODE,但是当我使用 GETINPUTVALUES 时,它总是返回距离 0。我尝试在消息中使用其他传感器类型,但它返回 0 或不随实际距离变化的值。对于颜色传感器,无论我使用什么参数,它都不会发光(传感器工作正常,我直接在 NXT 和 PC 上检查过)。我需要的是一个建议,无论我做错了什么,还是一个不需要在机器人上安装任何东西的工作代码,因为它是学校的财产。谢谢

0 投票
3 回答
1367 浏览

java - While循环还是线程?

我目前正在Lego NXT 2.0使用leJOS 0.9.1 beta固件进行编程。

我有几个不同的传感器,比如颜色传感器和超声波传感器。

我正在使用while循环使机器人向前行驶,直到撞到墙上。但是,出于某种原因,我不喜欢这种方法,而是想实现一个监听器。然而,一位 leJOS 开发人员写道,不建议使用侦听器模型,我应该使用线程来轮询超声波传感器的值。

现在我想知道使用 while 循环的实现到底有多糟糕(操作系统方面,如浪费资源)以及线程模型如何更有益(和实现)?

MWE:

0 投票
2 回答
326 浏览

lego - 在 NXC 的循环中使用后如何将变量重置回 0

出于某种奇怪的原因,当循环结束时,变量“角度”不会重置为 0。所有的数学只是计算 c = sqrt(a^2 + b^2 - 2abCos(theta)) 机器人不会在一行中完成所有的数学。在完整代码中,a 和 b 都是变化变量,并且基于超声波传感器输入。

sub 最多可以调用 3 次不同的时间,并且每次调用 sub 时角度变量都需要从 0 开始。

我试过把 float angle = 0; 或者只是角度= 0;在每个可以想象的地方,但没有任何效果。我什至尝试过使用 int angle = 0; 在多个地方。

0 投票
1 回答
312 浏览

nxt - 我可以将用 C# 编写的程序下载到 nxt 2.0 砖中吗?

我使用 C# 语言和http://www.mindsqualls.net/库。但我找不到如何将我的程序下载到砖中。其实,有可能吗?或者我只需要通过蓝牙控制我的 nxt 2.0 机器人?是否有任何语言/库允许将程序下载到砖块中,或者只有 Mindstorms nxt 2.0 可视化编辑器才有可能?

0 投票
2 回答
162 浏览

robot - 在 Lego NXT 上打开电机返回错误 0002EA 类型 2

我正在为 Lego NXT 编写一个使用RobotC的程序来模仿小狗的行为。这段代码应该是旋转连接到电机端口 3 的磁头并读取超声波传感器上的值。如果在转动头部的同时,狗被召唤,它会转向它已经面对的方向。当超声波传感器读取到一个值(意味着机器人已经接近墙壁)时,会调用以下函数:

可见的

}可见的

当磁头(电机[3])第一次旋转时,错误 0002EA Type2 出现在 NXT 屏幕上。起初我们认为这是因为我们过度旋转电机导致它被阻塞,所以我们试图玩弄等待时间,但没有任何区别。

任何有关导致此错误的原因或如何解决此错误的想法将不胜感激。

谢谢, 多米尼克

0 投票
2 回答
1107 浏览

robot - Lego NXT-RobotC 超声波传感器

我是编程新手,所以我需要超声波传感器驱动的 NXT 机器人的帮助。它连接到电机(A),我希望它以 30° 的增量(总共七次测量)从机器人的中心线向左 90° 和向右 90° 扫描房间,将数据存储到数组中并基于最大距离将我的机器人指向进行测量的方向以避免障碍物。这可能吗?还是有更好的解决方案?任何建议或建议都非常受欢迎。

0 投票
2 回答
499 浏览

robotics - NXT - 龟兔赛跑 - 跟随移动物体 - 理论

作为考试前的复习,我正在阅读 Robotics 过去的论文,我发现了一个看起来非常令人困惑的问题。我的部门不提供过去论文的答案,所以我无法检查我是否正确。

第二部分

然后第二部分是事情变得有趣的地方:

第二部分

这是我的理解:

  1. 机器人和野兔放在同一个位置 0
  2. 机器人开始倒车,而野兔匀速前进(误差为负)
  3. 机器人发射声纳
  4. 声纳读数告诉距离为 30(误差为 0)
  5. 机器人停止(错误为 0)
  6. 野兔在此调整期间移动恒定距离
  7. 机器人发射声纳(错误为正)
  8. 机器人将速度提高到 setVelocity(error)
  9. 野兔在此调整期间移动恒定距离
  10. 机器人根据“旧”声纳读数改变速度,因为在速度改变期间,野兔会走得更远
  11. 因此,机器人总是会离期望的距离至少有点远

我还得出一个结论,如果野兔的速度高于机器人的速度,距离会不断增加。不会有稳定状态 - 稳定是指保持距离。

问题:我认为在最好的情况下,机器人会在 30 到 30+ 距离之间摆动,但你会如何更改程序以使其以恒定的 30 厘米距离行进?我还发现 k 在第 i 部分中为 1 很可疑,可以吗?

0 投票
1 回答
663 浏览

c - Bricx 命令中心出现奇怪的编译器错误

我一直在研究一个让机器人跟随声音的程序,但我不断收到奇怪的编译器错误。我猜我犯了一些错误,使编译器脱离了轨道。

吐出来

在第 32、33、35-39、40、45-48、51、58、60-64、66-68 行

0 投票
1 回答
389 浏览

assembly - 有什么方法可以用汇编语言对乐高 NXT 积木进行编程?

这个问题说明了一切。我目前正在学习汇编,并认为用汇编语言对我的 nxt 进行编程以练习该语言会很有趣。所以我想知道是否有可能做到这一点。

谢谢-丹

0 投票
4 回答
15713 浏览

ios - 从 iOS 应用程序蓝牙连接到 LEGO Mindstorms EV3 积木

有人知道如何建立从自写 iOS 应用程序到新的 LEGO Mindstorms EV3 可编程积木的蓝牙连接吗?

我尝试通过 CBCentralManager 的 scanForPeripheralsWithServices:options: 方法执行此操作,但无法识别砖块。

但是如果我在 iPhone 的设置中启用蓝牙,那么 EV3 设备就会显示在那里。LEGO(“指挥官”)的 AppStore 中还有一个应用程序,它通过蓝牙与积木交谈,所以我认为这通常应该是可能的(据我所知,以前的 Mindstorms NXT 积木是不可能的)。

有人知道我该怎么做吗?

谢谢!