问题标签 [arduino-uno]
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乘法错误
例如,Arduino 不能将 40 以后的数字乘以 1000
结果是-5536 .-。???什么 ??
我需要将秒转换为毫秒,但我不知道乘以 1000 的替代方法
serial-port - arduino 串行不稳定行为缺少字符,偶尔整个传输
我对 UNO 上的硬件串行有问题,在很多情况下它似乎丢失了一个字符(通常是接收到的第一个字符),并且在某些情况下它错过了整个传输。这只发生在 Arduino 从我在串行监视器中键入的计算机接收数据时。当我发送字符串时,我可以看到 RX 灯闪烁,但 arduino 完全忽略了它。
我发送的数据是三个逗号分隔的 8 位无符号整数
这是输入以下字符串时串行监视器的一些示例输出:<25,25,25>
输出:
谢谢
if-statement - if else 命令只停留在第一个逻辑门上
这段代码是做一个简单的rgb led温度计。我遇到的问题是我有三个颜色的温度层,而我的语法中的某些东西使它只看第一个逻辑门。代码如下所示。
c++ - Arduino 循环错误:等待几秒钟以响应输入更改
我正在尝试为 Arduino Uno 编写一个简单的控制程序,用于我在工作中运行的实验。很简单,它只需要读取输入引脚是否为高电平,如果等待 10 毫秒将输出引脚变为高电平,保持 10 毫秒然后变为低电平,否则输出引脚为低电平。
我的问题是,当我运行它时,它完全忽略了初始延迟,并且输出引脚在变低之前保持高电平几秒钟。(使用延迟微秒)
我尝试使用延迟功能设置更简单的调试方法,等待一秒钟,然后将输出引脚设为高电平,等待几秒钟,然后将输出引脚设为低电平。我这样做是为了可以使用 arduino 的内置 LED 进行可视化调试。结果是它实际上在输入引脚变低后继续运行循环 3 次。(使用延迟)
我似乎无法弄清楚它为什么这样做。我已经查看了所有内容,似乎无法找到有关为什么会发生这种情况的信息。我可能遗漏了一些非常简单的东西,我不是一个经验丰富的编码员,我只是写我需要运行实验的东西。我尝试使用 c 代码直接读取和写入 pin 寄存器,并从 if 语句切换到 while 循环,但都没有解决问题。非常感谢任何见解。
python - 如何修改此代码以每个脉冲发送一个唯一的数据文件?
我仍然不明白如何每个数据文件只捕获一个脉冲
我的教授和我正在尝试修改下面的代码,以便在我们从 Arduino 收到的每个脉冲后发送一个唯一命名的 .txt 文件。到目前为止,我们的努力没有结果。现在它会将一段时间后收到的所有数据发送给我们,并将所有脉冲数据编译到一个文件中。由于文件名没有改变,存储在文件中的数据只是临时的。
Arduino Sketch 被称为 Girino,可以在这里找到。我们希望修改的代码是附带的名为 readgirino.py 的 Python 代码,可在步骤 #23 下找到。我认为我们必须修改这个循环;
有什么建议么?
谢谢!
更新 - 创建一个唯一的文件名解决了:
虽然我仍然不明白如何只捕获每个数据文件的一个脉冲。
Girino 代码没有提到 eventData,但我认为这意味着在我运行 readgirino.py 代码后出现在终端窗口中的数组: Girino 告诉我它已准备好缓冲区大小:1280
波特率:115200
等待时间:1248
预分频器:128
触发事件:3
门槛:127
将预分频器设置为:128
将阈值设置为:50
缓冲区大小:1280
波特率:115200
等待时间:1248
预分频器:128
触发事件:3
门槛:50
[数组([0, 0, 0, ..., 0, 0, 0])] [数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0 , 0, ..., 0, 0, 0])] [array([0, 0, 0, ..., 0, 0, 0]), array([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0])] [数组([0, 0, 0, ..., 0, 0, 0]) , 数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0])] [array([0, 0, 0, ..., 0, 0, 0]), array([0, 0, 0, ..., 0 , 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0])]
arduino - arduino uno 中断代码 2 LED 1 开关
我试图中断我的 arduino uno 板,有线连接正确,但我不知道代码有什么问题。我想要的是 led1 默认运行,当我按下开关按钮时它停止led1的工作并开始为led2做一个循环..我已经检查了几次代码,但我仍然不知道代码中的错误
有什么建议么 ?
c++ - Arduino矩阵数学?
我正在寻找一个可以在 Arduino 上处理矩阵数学的库。我知道Arduino Playground上有一个库,但我发现它有点乏味,因为它无法处理条件不佳的矩阵,而且它的用户界面有点笨拙。
有没有其他选择?最好是那些有某种声誉的,比如犰狳或 PETsc?我很想使用其中一个大的,但似乎他们都转向了 C++11,而 Arduino IDE 尚不支持。我的另一个选择是将 avr-gcc 更新到最新版本,使用 Atmel Studio/Visual Studio,然后自己构建东西。然后我应该能够使用这些其他成熟的库之一。我宁愿不必去那个兔子洞,特别是因为 Arduino 内核不能保证与 C++11 一起工作。
c++ - 将数组设置为未知大小的不同数组
所以我一直在为我的 arduino 编程,它是 c++ 的一些变体。我一直在编写一个程序来勾选一个 4 位七段显示器的每个数字。我一直无法将我的 pin[] 设置为不同长度的不同数组。
例如,显示 1 表示将打开 2 个引脚,这在数组中表示,int one[] = {1,2};
显示 4 则需要 4 个引脚int four[] = {1,2,3,4};
。
我一直在尝试的是:
但是,这一直在引起问题,并且不让我上传它,因为事情到处都是。
我对 c++ 的了解有限,只是它类似于 Java,我对此了解很多。
我觉得我在喂鲨鱼而没有足够的保护,而我的代码中的这一点让我很烦。
我的问题是你如何初始化一个数组,然后再改变它?
loops - 当值改变时运行循环 - Arduino
我在 arduino uno 上测量光、温度和湿度,并已将循环编程为每分钟运行一次。监视串行监视器上的值。
但是,我想要的是代码运行一次以获取值,然后等待或暂停,直到其中一个值更改,然后在串行监视器上输出。
我想立即了解传感器的变化,而不是等待循环运行。有没有办法做到这一点?
谢谢。
所以我需要在下面的代码中添加一个 if/else 函数吗?
arduino-uno - Arduino uno 和旋转编码器
我有一个 arduino uno R3 和旋转编码器的解决方案,每次顺时针旋转编码器时都会计数,逆时针旋转时会减少。这个问题的所有其他解决方案都非常复杂且不令人满意,所以我自己解决了。下面你可以看到代码清单,你应该可以复制并粘贴到一个新的草图文件中并上传没有任何问题。谢谢,卡梅伦腰带