问题标签 [nxc]
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.
nxc - 使用互斥锁调用单独的任务 nXc
我是使用 nXc 编写 NXT 2.0 机器人的新手,我需要它来跟随其他机器人并同时检查障碍物。但是,这两个任务有时会相互冲突,当我遇到障碍物时,它会将其视为对象并继续前进而不是停止。
我的项目目标:跟随领队机器人,遇到障碍物时停下,障碍物清除后,继续跟随前面的领队机器人。
下面是我的代码:
关于如何改进这一点的任何想法?使用子例程而不是任务会更好吗?使用子例程或任务有什么好处?
c - While 循环 - 时间
我很难在文档中找到的快速问题。
我正在尝试做一个while loop
持续特定时间(如 500 毫秒)的操作。它可以多快完成一个循环?每个循环都不会做大任务,但只要传感器的光强度高于 630nm 就读取。
将每次迭代设置为 1ms 是否可行?
我正在用 NXC 编写,这与 C 非常相似,我猜......
algorithm - 在线跟随机器人中实现PID算法
我正在做一个带有 NXT 头脑风暴的小项目。我的目的是制造一个机器人,它可以非常流畅地沿着一条线走,并且尽可能快。因此,经过小小的研究,我发现了 PID 算法,我能够理解该算法并将其实现到 NXC 代码中。机器人刚刚根据算法做了所有正确的事情,但是当线路中断(间隙)时,机器人会失去线路并且无法回到线路。问题是,当差距达到 9 厘米时,他可以回来,但在 10 厘米时他只是失去了线。我正在使用一个光传感器。有什么方法可以调整 PID 代码来解决这个问题?
我的代码:
nxc - 如何在 nxc 中拆分字符串
我一直在尝试使用 IDE:Brixc Command Center 将 python 项目转换为 nxc,以便它读取文本文件并将信息拆分为可以处理它的组件。对我来说,主要的障碍是我无法找到/弄清楚的拆分字符串方法。
在 python 中,它很容易像 Data1 = RawData.split("\n") 它将它拆分成一个数组,我可以像这样对它进行排序: Data1[nth position in array][character in the nth position in selected数组中的值]
我尝试在 nxc 中重复相同的方法,但它不起作用
在这种情况下,输出应该是第二行第一个字符的显示。令人惊讶的是,它不起作用。它吐出一些错误(毕竟我是 nxc 的新手)。
c - Lego Mindstorms NXT, NXC: Error in replacing elements in an array (no matter the dimension)
I tried to write a simple fifteen puzzle for the Lego Mindstorms NXT block using Bricx Command Center. But there's always the same problem. The elements of the array (no matter the dimension) won't change the second time.
Here's the code that simulates the error. In case you don't have an NXC block to check it out, the program outputs a 4x4 grid of zeroes (and it's ok) and then the program exits with "File error!" on the LCD screen, presumably while trying to change the first zero element of the array with 1.
If you have any thoughts please let me know. I presume that NXC language wasn't developed to work with arrays in that particular way though I find it odd and strange..
P.S. I also tried to use the built in function ArrayReplace() though with no success.
Here's the code example:
Okay, that was clearly my bad, I should have initialized the j and k local variables and equal them to 0. Now take a look at this situation where I try to do the same with 2 dimensional array.
Nothing will change all of the elements of the array will remain the same as they were initialized (1, 2, 3...). Now it's getting more interesting..