问题标签 [arduino-c++]

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 回答
64 浏览

arduino - Arduino检查uint8_int的相等性

uint8_t当我按下 Arduino 盾牌上的按钮时,我正在尝试检查类型的相等性 。我知道类型是无符号整数,但是即使我得到 print 语句,代码也永远不会进入 if 语句"Button pressed: 0"有人能告诉我为什么吗?

0 投票
2 回答
47 浏览

arrays - 有没有一种有效的方法来比较这些数组?

我有一个 NFC 扫描仪,它获取标签的 UID 并将其存储在byte TagReadB[4].

然后我需要将它与大量其他字节数组进行比较,以查看它是否与它们匹配(即,它是否是可识别的标签)。

识别的标签是这样存储的。

我可以执行以下操作,但必须有一种更简单的方法,而不必重复 20 条 OR 语句?

更好的是,最好测试它匹配的已识别标签的颜色,因为每种颜色都会有相同的动作。

例如,如果它是红色标签做 x,黄色标签做 y,蓝色标签做 z。

非常感谢。

0 投票
1 回答
60 浏览

arrays - 如何将 2 个不同数组中的数字组合成一个数组?

我有一个代码,我在其中生成随机数列 = numCols 和随机数行数 = numRows。nomRows 和 numCols 的倍数 = numCells。我想用不同的颜色为每个单元格着色,我知道我拥有的单元格总数,因为那是 numCells。因此我有一个数组“颜色”,它有 6 个值。该数组中的每个数字代表我在该数组中有多少次该颜色。我有一个循环,它为每种颜色生成一个随机数,但始终确保数组中的数字总和永远不会大于 NumCells。您不能总共有 23 个颜色值,并且只有 10 个单元格适合它。现在这工作正常,数组中的总数永远不会大于 numCells。

所以我有一个包含 6 个数字的数组 colors[],我想将该数组推入 mysound2[] 并在我推入它之后创建一个另一个循环,该循环将在该数组中添加另外 2 个数字,最终得到一个数组 mysound2[]其中包含 8 个数字的总数。

但我无法让它工作,要么我得到一个错误:数组下标的无效类型'int [8] [int [6]]'我猜arduino不喜欢8的数组我只是想添加6个数字。

或者,如果我尝试其他方法,代码会生成 0,0,0。

请问如何将颜色[] 推入 mysoun2[] 并添加 2 个随机数?

0 投票
1 回答
152 浏览

loops - Arduino循环中的奇怪行为

我正在 Arduino(Mega2560 板、Arduino 1.8.9、JSN-SR04T-2.0 超声波传感器)中创建距离测量系统。由于传感器不是很稳定,我想平均 15 次测量或每 500 毫秒的测量值,以先发生者为准。这些值存储在一个 15 整数长的数组中,并且有一个计数器可以告诉您进行了多少次测量。问题是,当完成 15 次测量并且我想取平均值时(不包含在代码中,只有 if(...) 部分),计数器从 14 跳到一个非常高的值而没有解释,并从那里继续计数. 此外,如果我设置了一个非常高的循环时间(例如 1800 毫秒),有时它会在不进入 if 结构(cntr=0 行所在的位置)的情况下回到 0。

我将代码精简到最低限度,以找出可能导致问题的原因。似乎当我使用存储在“valueArrayUS”中的值时,它不起作用。如果我将其注释掉,它会起作用。我尝试了 2 种不同的方式来使用该值,都把它搞砸了。

最小的可运行代码是这样的:

您可以看到注释行和它上面的行,两者都破坏了代码。如果两者都被注释掉,它会按预期工作。如果其中任何一个存在,结果如下:

它应该是:

是什么原因造成的?

0 投票
1 回答
54 浏览

serial-port - 使用带有 Arduino Uno 的伺服系统的串行监视器的奇怪问题

我一直在玩https://learn.adafruit.com/multi-tasking-the-arduino-part-1?view=all中的伺服/LED 控制器示例

在伺服的更新功能中,我添加了以下用于调试目的:

生产

作为执行期间串行监视器中的输出。

然后我将这两行更改为:

产生了这个输出

(似乎只要值为 0 就打印“位置”。)

从逻辑的角度来看,两者应该是相同的,所以我尝试了其他的东西,怀疑伺服和串行通信之间存在某种干扰,但没有成功,例如:

a) 不同的波特率(1200、2400、9600 到 115200),使代码与串行监视器保持同步。b) 使用外部电源为 Arduino 供电,而不是通过 USB 连接到我的笔记本电脑。通过独立为伺服供电相同 c) 直接断开伺服

如果有人知道这里发生了什么,我将不胜感激。干杯!

0 投票
1 回答
166 浏览

arduino - Arduino光敏电阻

我正在尝试制作一个 Arduino 项目,我需要光的价值来确定歌曲何时在 mp3 模块上播放。我正在尝试循环发送到光敏电阻的值,但我只收到 1 个数字,如何获得连续循环的值/数据?

0 投票
0 回答
23 浏览

arduino - 似乎无法让这个“计数”起作用。每次我按下按钮时,无论代码如何,LED 和灯都会打开

我对整个编码很陌生。并且花了很长时间试图让它工作,但看起来它应该也能正常工作。计划是让 ledPin 在按下按钮时亮起,而 lightPin 每按下 8 次就会亮起。

这是一些工程学院的工作。如您所知,我没有选择计算机科学是有原因的!

每次按下按钮时,ledPin 都会亮起。每按 8 次,lightPin 就会亮起。但目前每按一次按钮都会亮起,而且它们的持续时间似乎与延迟有关。

0 投票
0 回答
96 浏览

arduino - Arduino IR 控制的光衰问题

从来没有编码过。我无法向此代码添加淡入淡出功能。我添加了 50 的限制。我希望 LED 越接近限制越暗。然而,在 50 岁之后,灯光确实会熄灭,这也是我正在寻找的。我正在使用 SHARP 2Y0A02 F 26 IR 传感器来测量距离。

我玩过不同的 IF 循环,但没有成功。当我尝试没有限制的代码时,它会很好地褪色,但是我需要在限制内达到相同的效果。

我希望光线在 50 度时非常暗淡,并在物体接近 0 时逐渐变亮。

0 投票
0 回答
65 浏览

button - 如何让两个舵机一个接一个地工作?并停止颤抖?

对于我的项目,我正在尝试制作一个由两个伺服系统控制的翻页器——一个用于翻转(带喇叭),一个用于提升(带轮子)。我的目标是当我按下 RIGHT 按钮时,我的滚轮应该首先顺时针滚动一页,然后我的喇叭将从左向右滑动(与我的 LEFT 按钮相同但相反)来翻页。

当我尝试调整角度时,我的按钮右舵机按我想要的方式工作,但它在晃动,另一方面,我的按钮右舵机工作平稳且连续,但翻转和转弯都处于活动状态同时。

0 投票
1 回答
532 浏览

arduino-ide - 如何在 void 循环中使用 serial.available 两次?

我正在使用带有 arduino nano 的键盘(4x4),然后串行通信 arduino nano 和 nodemcu。我的 arduino nano 代码是:

我的nodemcu代码是:

现在的问题是,当我从键盘输入密码时,当第二次给出这个 while(s.available>0) 行时,它不起作用。这不会在串行监视器上打印任何内容。谁能帮帮我吗?