问题标签 [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.
arduino - Arduino检查uint8_int的相等性
uint8_t
当我按下 Arduino 盾牌上的按钮时,我正在尝试检查类型的相等性 。我知道类型是无符号整数,但是即使我得到 print 语句,代码也永远不会进入 if 语句"Button pressed: 0"
有人能告诉我为什么吗?
arrays - 有没有一种有效的方法来比较这些数组?
我有一个 NFC 扫描仪,它获取标签的 UID 并将其存储在byte TagReadB[4]
.
然后我需要将它与大量其他字节数组进行比较,以查看它是否与它们匹配(即,它是否是可识别的标签)。
识别的标签是这样存储的。
我可以执行以下操作,但必须有一种更简单的方法,而不必重复 20 条 OR 语句?
更好的是,最好测试它匹配的已识别标签的颜色,因为每种颜色都会有相同的动作。
例如,如果它是红色标签做 x,黄色标签做 y,蓝色标签做 z。
非常感谢。
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 个随机数?
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 种不同的方式来使用该值,都把它搞砸了。
最小的可运行代码是这样的:
您可以看到注释行和它上面的行,两者都破坏了代码。如果两者都被注释掉,它会按预期工作。如果其中任何一个存在,结果如下:
它应该是:
是什么原因造成的?
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) 直接断开伺服
如果有人知道这里发生了什么,我将不胜感激。干杯!
arduino - Arduino光敏电阻
我正在尝试制作一个 Arduino 项目,我需要光的价值来确定歌曲何时在 mp3 模块上播放。我正在尝试循环发送到光敏电阻的值,但我只收到 1 个数字,如何获得连续循环的值/数据?
arduino - 似乎无法让这个“计数”起作用。每次我按下按钮时,无论代码如何,LED 和灯都会打开
我对整个编码很陌生。并且花了很长时间试图让它工作,但看起来它应该也能正常工作。计划是让 ledPin 在按下按钮时亮起,而 lightPin 每按下 8 次就会亮起。
这是一些工程学院的工作。如您所知,我没有选择计算机科学是有原因的!
每次按下按钮时,ledPin 都会亮起。每按 8 次,lightPin 就会亮起。但目前每按一次按钮都会亮起,而且它们的持续时间似乎与延迟有关。
arduino - Arduino IR 控制的光衰问题
从来没有编码过。我无法向此代码添加淡入淡出功能。我添加了 50 的限制。我希望 LED 越接近限制越暗。然而,在 50 岁之后,灯光确实会熄灭,这也是我正在寻找的。我正在使用 SHARP 2Y0A02 F 26 IR 传感器来测量距离。
我玩过不同的 IF 循环,但没有成功。当我尝试没有限制的代码时,它会很好地褪色,但是我需要在限制内达到相同的效果。
我希望光线在 50 度时非常暗淡,并在物体接近 0 时逐渐变亮。
button - 如何让两个舵机一个接一个地工作?并停止颤抖?
对于我的项目,我正在尝试制作一个由两个伺服系统控制的翻页器——一个用于翻转(带喇叭),一个用于提升(带轮子)。我的目标是当我按下 RIGHT 按钮时,我的滚轮应该首先顺时针滚动一页,然后我的喇叭将从左向右滑动(与我的 LEFT 按钮相同但相反)来翻页。
当我尝试调整角度时,我的按钮右舵机按我想要的方式工作,但它在晃动,另一方面,我的按钮右舵机工作平稳且连续,但翻转和转弯都处于活动状态同时。
arduino-ide - 如何在 void 循环中使用 serial.available 两次?
我正在使用带有 arduino nano 的键盘(4x4),然后串行通信 arduino nano 和 nodemcu。我的 arduino nano 代码是:
我的nodemcu代码是:
现在的问题是,当我从键盘输入密码时,当第二次给出这个 while(s.available>0) 行时,它不起作用。这不会在串行监视器上打印任何内容。谁能帮帮我吗?